语法错误问题 (文华财经wh9)

投资者咨询:语法错误问题 (文华财经wh9)
来源:文华财经  日期:2018-7-13 9:06

 Vars
    Numeric    Aa1;
Begin
      Aa1=Close;
End

调用

ImPort
  #Call_Plus ["2109",Minute,1,TTHH]  As ABC

 

Vars
    Numeric    Aa1;

begin

      Aa1= ABC.Aa1 ;
      PlotNumeric("Aa1",Close);

 

提示语法错误,错误在哪里?

技术人员回复
日期:2018-7-13 9:15

 您主指标中引用语句  #Call_Plus 的时间参数分钟周期是Min,而不是Minute,这个需要严格按照函数说明中的参数写的

 

另,主指标中最后一行缺少End,参考下面改法:

 

ImPort
  #Call_Plus ["2109",Min,1,TTHH]  As ABC

Vars
    Numeric    Aa1;

begin

      Aa1= ABC.Aa1 ;
      PlotNumeric("Aa1",Close);
End

投资者咨询:语法错误问题 (文华财经wh9)
来源:文华财经  日期:2018-7-13 9:06

这个地方是怎么回事,告诉我不是变量,写作格式的错误么?



图片点击可在新窗口打开查看
技术人员回复
日期:2018-7-13 9:36

您没在Vars字段下定义A1吧?每个变量都需要先在Vars字段下定义的

 

投资者咨询:语法错误问题 (文华财经wh9)
来源:文华财经  日期:2018-7-13 9:06
 好的,还有一个问题,就是套利当中,如何判断哪个合约上一比开了多单,那个合约上一笔开了空单、应该怎么写?
投资者咨询:语法错误问题 (文华财经wh9)
来源:文华财经  日期:2018-7-13 9:06

 Vars
// 常规变量
    Numeric    Aa1;      //近期主力合约当前一分钟收盘价
    Numeric    Ba1;      //远期非主力合约当前一分钟收盘价
    Numeric    TT1;      //当前一分钟Aa1-Ba1的数值;
    Numeric    TA1;      //900分钟内最高价差A
    Numeric    TB1;      //900分钟内最低价差B
    Numeric    TC1;      //900分钟内最高价到最低价的中值C
    Numeric    TD1;      //点A到点C的中值D点
    Numeric    TE1;      //点C到点B的中值E点
    Numeric    TF1;      //15分钟内价差的移动平均线
    Numeric    TK1;      //900分钟内的价差的线性均值
    Numeric    RA1;
    Numeric    RB1;
    Numeric    RC1;
    Numeric    RD1;
    Numeric    RE1;
    Numeric    RF1;
    Numeric    RK1;
    Numeric    BigA20;      //大于A值20个点位值
    Numeric    SmallB20;      //小于B值20个点位值
    Numeric    TAB;
    Numeric    RAB;

 

全部都定义了,

Begin
      Aa1= ABC.Aa1 ;
      PlotNumeric("Aa1",Close);
      Ba1= Close ;
      TT1= Aa1-Ba1;
      TA1= HHV(Aa1-Ba1,time1);
      TB1= LLV(Aa1-Ba1,time1);
      TC1= (TA1+TB1)/2;
      TD1= (TA1+TC1)/2;
      TE1= (TC1+TB1)/2;
      TF1= Ma(TT1,time3);
      TK1= Forcast(TT1,time1);  
      TAB=TA1-TB1;

      RA1=Ref(TA1,1);
      RB1=Ref(TB1,1);
      RC1=Ref(TC1,1);
      RD1=Ref(TD1,1);
      RE1=Ref(TE1,1);
      RF1=Ref(TF1,1);
      RK1=Ref(TK1,1);
      RAB=Ref(TAB,1);

If(Ref(TAB,1)<=80)
{  
A1= RA1 + (100-RAB) Or  B1= RB1 - (100-RAB);
}

 

技术人员回复
日期:2018-7-13 9:43
 可以用F_OrderBuyOrSell(Index) 函数取某个委托单的买卖类型,具体用法请参考函数说明
投资者咨询:语法错误问题 (文华财经wh9)
来源:文华财经  日期:2018-7-13 9:06
 好的,老师帮我看一下那一段代码,有哪里有问题么?
技术人员回复
日期:2018-7-13 10:06

当Ref(TAB,1)<=80时,您想实现什么思路?把A1 = RA1 + (100-RAB) Or  B1= RB1 - (100-RAB)的结果赋值给一个变量?

 

If(Ref(TAB,1)<=80)
{  
A1 = RA1 + (100-RAB) Or  B1= RB1 - (100-RAB);
}

投资者咨询:语法错误问题 (文华财经wh9)
来源:文华财经  日期:2018-7-13 9:06
 RA1+(100-RAB)是一个价差数值、我想把这个数值赋值给A1