INPUT: N(20,1,100,1),M(30,1,100,1);
//中间变量;
20h :REF(HHV(H,N),1);
20l :ref(LLV(L,n),1);
ma5 :ma(C,M);
ATR:="ATR,ATR";
//做多条件;
if HOLDING=0 then BEGIN
long:=h>20h;
if long then
begin
buy(1,1,limitr, 20h+MINDIFF);
end;
short:=l<20l;
if short then
begin
BUYSHORT(1 ,1 ,limitr ,20l+MINDIFF);
end;
end;
// 多头加仓
if h>ENTERPRICE+2*atr and HOLDING>=1 then
begin
buy(1,1,LIMITR,ENTERPRICE+ceiling(2*atr));
end;
if l<ENTERPRICE-2*atr and holding<=1 THEN
begin
BUYSHORT(1,1,LIMITR,ENTERPRICE-ceiling(2*atr));
end;
//平仓条件;
longP:=l<ENTERPRICE-2*atr or l<ma5 ;
if longP then
begin
SELL(HOLDING>0,0,MARKETr);
END;
shortP:=h>ENTERPRICE+2*atr or h>ma5;
if SHORTP then
begin
SELLSHORT(holding<0 ,0 ,MARKETR );
end;
ATR:="ATR,ATR";
改成
ATR:="ATR.ATR";
中间的不是逗号是句号,英文输入法下的句号
[此贴子已经被作者于2014/12/25 9:04:14编辑过]
谢谢版主!P:ceiling(ASSET*2%/ceiling(atr/MINDIFF)*MINDIFF*X); 无法识别算术表达式
开仓数量等于 资产的2%除以 向上取整(ATR除以最小波动)*最小波动*X
还有ATR是一直变化的,我想一直沿用开仓时ATR时的数值,要怎么写
variable:a=0;
if holding=0 and 开多条件 then begin
buy(1,1,market);
a:=atr;
end
if holding=0 and 开空条件 then begin
buyshort(1,1,market);
a:=atr;
end