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);
提示语法错误,错误在哪里?
您主指标中引用语句 #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
您没在Vars字段下定义A1吧?每个变量都需要先在Vars字段下定义的
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);
}
当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);
}
