以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  有没有更简单的程序写法不用FALSE  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=100255)

--  作者:zxl2
--  发布时间:2016/7/6 15:30:44
--  有没有更简单的程序写法不用FALSE
条件:
当 AROON_UP 上穿 70,并且 AROON>0,买入,信号为 1
当 AROON_DN 上穿 70,并且 AROON<0,卖空,信号为-1
当 AROON_UP 下穿 50,并且 AROON<0,卖空,信号为-1
当 AROON_DN 下穿 50,并且 AROON>0,买入,信号为 1

有没有更简单的程序写法不用FALSE


上轨:(N-HHVBARS(H,N))/N*100;//noaxis,COLOR002033cc,LINETHICK2;
下轨:(N-LLVBARS(H,N))/N*100;//noaxis,COLOR0f58837,LINETHICK2;
AROON:=上轨-下轨;//noaxis,COLOR00e07e00,LINETHICK2;

开多平空条件:=False;
开空平多条件:=false;
手数:=SS;

CROUP70:=CROSS(上轨,70);
CRODN70:=CROSS(下轨,70);
CRO50UP:=CROSS(50,上轨);
CRO50DN:=CROSS(50,下轨);

if CROUP70 and AROON>0 then begin
开多平空条件:=TRUE;
开空平多条件:=false;  
//signal:=1;
end else begin
if CRODN70 and AROON<0 then begin
开空平多条件:=True;
开多平空条件:=False;
//signal:=-1;
end else begin
if CRO50UP and AROON<0 then begin
开空平多条件:=True;
开多平空条件:=False;
//signal:=-1;
end else begin
if CRO50DN and AROON>0 then begin
开多平空条件:=TRUE;
开空平多条件:=false;  
//signal:=1;
end;
end;
end;
end;

//交易系统

平空:SELLSHORT(开多平空条件,手数,MARKET);
开多:BUY(开多平空条件,手数,MARKET);
平多:SELL(开空平多条件,手数,MARKET);
开空:BUYSHORT(开空平多条件,手数,MARKET);

当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;

--  作者:jinzhe
--  发布时间:2016/7/6 15:49:49
--  
用户能否讲一下上面的逻辑关系?开平条件分别是什么?
--  作者:zxl2
--  发布时间:2016/7/6 15:55:19
--  
条件:
当 AROON_UP 上穿 70,并且 AROON>0,买入,信号为 1
当 AROON_DN 上穿 70,并且 AROON<0,卖空,信号为-1
当 AROON_UP 下穿 50,并且 AROON<0,卖空,信号为-1
当 AROON_DN 下穿 50,并且 AROON>0,买入,信号为 1

--  作者:jinzhe
--  发布时间:2016/7/6 16:00:11
--  

if cross(aroon_up,70) and aroon>0 then begin

     sellshort(1,0,market);

     buy(holding=0,1,market);

     signal:=1;

end

 

if cross(50,aroon_dn) and aroon>0 then begin

     sellshort(1,0,market);

     buy(holding=0,1,market);

     signal:=1;

end

 

if cross(aroon_dn,70) and aroon<0 then begin

      sell(1,0,market);

      buyshort(holding=0,1,market);

      signal:=-1;

end  

 

if cross(50,aroon_up) and aroon<0 then begin

      sell(1,0,market);

      buyshort(holding=0,1,market);

      signal:=-1;

end  


--  作者:zxl2
--  发布时间:2016/7/6 16:01:19
--  
x谢谢