[求助]MQ语法错误求助 (文华财经wh9)

投资者咨询:[求助]MQ语法错误求助 (文华财经wh9)
来源:文华财经  日期:2018-7-4 20:12
 price_New[7]=GetPrice(1929,"New");

请问老师上述语句编译时出现语法错误报警,1929是合约文华码。错在哪里呢? 
技术人员回复
日期:2018-7-4 20:20
核实一下price_New是您模型中的数组吗?

此外,您可以提供一下完整的源码,并说明思路我们帮您整体查看一下
投资者咨询:[求助]MQ语法错误求助 (文华财经wh9)
来源:文华财经  日期:2018-7-4 20:12
 Params
      Numeric PRICE_BAND_UP(0);        
      Numeric PRICE_BAND_DN(0);       
      Numeric RATIO_ALERT(50);         
      Numeric SOUND_ALERT(9);         
      Numeric RATIO_OFF_PRICE(10);        
Vars     
      NumericArray price_New[32];       
      NumericArray price_YClose[32];      
                
Begin
  
      price_New[0]=GetPrice(2238,"New");
      price_New[1]=GetPrice(2108,"New");
      price_New[2]=GetPrice(2208,"New");
      price_New[3]=GetPrice(7509,"New");
      price_New[4]=GetPrice(6209,"New");
      price_New[5]=GetPrice(2450,"New");
      price_New[6]=GetPrice(6890,"New");
      price_New[7]=GetPrice(1929,"New");
      price_New[8]=GetPrice(8369,"New");
      price_New[9]=GetPrice(2779,"New");
      price_New[10]=GetPrice(8389,"New");
技术人员回复
日期:2018-7-4 21:25
文华码部分需要使用双引号:      price_New[0]=GetPrice("2238","New");
投资者咨询:[求助]MQ语法错误求助 (文华财经wh9)
来源:文华财经  日期:2018-7-4 20:12
 Vars
      Numeric price_New;          
 
Begin
      price_New=GetPrice("2238","New");
      PlotNumeric("NEW:",price_New);
End

测试了,这个语句(文化码加引号)取不到数据。这可如何是好,请老师指点。
技术人员回复
日期:2018-7-6 9:54

 因为GetPrice函数是不支持主图回测的

 

所以含有此类函数的模型需要在模组中实际加载运行

 

此外,您如果是需要跨合约取价格可以使用#Call函数实现,是支持回测的



图片点击可在新窗口打开查看

投资者咨询:[求助]MQ语法错误求助 (文华财经wh9)
来源:文华财经  日期:2018-7-4 20:12
文华码如不加引号,就报错
 第23行 "2238附近" 调用函数参数类型与函数定义参数类型不匹配
技术人员回复
日期:2018-7-6 9:58

 是的,需要加入双引号 

 

取不到数据与符号无关的,您参考6楼回复理解一下

投资者咨询:[求助]MQ语法错误求助 (文华财经wh9)
来源:文华财经  日期:2018-7-4 20:12
我是在实时行情取数据的。另外
GetPrice 根据文华码取报价列表窗口某一个合约的行情报价数据。
此函数为系统封装函数。
注:
1、在清盘时间该函数收不到数据,返回值为0。
2、该函数不支持回测。使用该函数时,加载之前的历史数据返回加载时刻该函数取到的行情报价。
3、该函数不支持参数缺省,需要写入两个参数。
4、该函数不支持在云端使用。
用法:
GetPrice(Code,"Open");//Code为文华码,加载后返回指定的此文华码的合约的开盘价
例1:
GetPrice(1209, "Open");//返回文华码为1209合约的开盘价。
例2:
GetPrice(8606,"AvPrice");//返回文华码为8606合约的均价。
其中"Open"可以替换为以下
"High":最高
"Low":最低
"New":最新
"AvPrice":均价
"Settle":结算
"YClose":昨收盘
"YSettle":昨结算
"Bid1":买1
"BidVol1":买1量
"Ask1":卖1
"AskVol1":卖1量
"Volume":成交量
"Opi":持仓量
"DeltaVol":现手
"DeltaOpi":增仓
"RiseLimit":涨停价
"FallLimit":跌停价
'TotalBidVol':总买量
'TotalAskVol':总卖量
'TotalBidPrice':总买价
'TotalAskPrice':总卖价
"沉淀资金":沉淀资金【持仓量*最新价*交易单位*保证金比例】
"资金流向":资金流向【[(持仓量*收盘价)-(持仓量-日增仓*昨收)]*单位手数*保证金比例】

两个月前是可以的,为什么现在不行呢?


麻烦老师在核查一下。  
技术人员回复
日期:2018-7-6 11:09

帮您核实了一下,新版函数做了调整参数需要互换一下位置:

 

 Vars
      Numeric price_New;         
 
Begin
      price_New=GetPrice("New","2238");
      PlotNumeric("NEW:",price_New);
End