以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://www.weistock.com/bbs/list.asp?boardid=2)
----  [求助]如何平仓后反向开仓  (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=148275)

--  作者:wailsion
--  发布时间:2017/2/28 0:03:05
--  [求助]如何平仓后反向开仓
以下代码只会平仓,同时我想反向开仓,但是回测没有出现反向操作,怎么改呢



//中间变量
input:M(10,2,20),K(2,2,5),ss(1,1,10);
MID:  MA(CLOSE,M);//布林中轨
UPPER: MID + K*STD(CLOSE,M);//布林上轨
LOWER: MID - K*STD(CLOSE,M);//布林下轨
手数:=ss;

//交易条件
VARIABLE:flag=0;

开多平空条件:=CROSS(C,LOWER);//开多平空条件
开空平多条件:=CROSS(UPPER,C);//开多平空条件


if flag=1 then 
    if 开多平空条件 then begin
       平空:SELLSHORT(开多平空条件,手数,MARKET);
       flag=0;
    end
else
    if 开空平多条件 then begin
       平多:SELL(开空平多条件,手数,MARKET);
       flag=0;
    end

if flag=0 then 
   if 开多平空条件 then begin
      开多:BUY(开多平空条件,手数,MARKET);
      flag=1;
   end
else 
    if 开空平多条件 then begin
       开空:BUYSHORT(开空平多条件,手数,MARKET);
       flag=1;
    end




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

//注意交易系统先开后平的原则

--  作者:wenarm
--  发布时间:2017/2/28 8:39:08
--  

不明白你这么写的逻辑是什么。图表程序必须遵守开仓前先平反手仓位。

表述下你的策略思想,才好做修改。

你flag总是被置为1。