以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  [求助]请教版主在止损后再次满足了开仓条件重新进场的问题  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=60504)

--  作者:期种武器
--  发布时间:2013/12/31 13:02:09
--  [求助]请教版主在止损后再次满足了开仓条件重新进场的问题
//交易系统
        IF (HOLDING=0) THEN BEGIN
               //多单入场
                IF 开多条件 THEN BEGIN
                 BUY(HOLDING=0,1,MARKET);
                 //止损
                 IF (LOW<=ENTERPRICE-STOPLOSS*MINDIFF) THEN 
         SELL(1,HOLDING,LIMITR,ENTERPRICE-STOPLOSS*MINDIFF);
                END
               //空单入场
                IF 开空条件 THEN BEGIN
                 BUYSHORT(HOLDING=0,1,MARKET);
                 //止损
                 IF (HIGH>=ENTERPRICE+STOPLOSS*MINDIFF) THEN
SELLSHORT(1,HOLDING,LIMITR,ENTERPRICE+STOPLOSS*MINDIFF);
END
        END

        IF    (HOLDING<0) THEN BEGIN
                IF    开多条件 THEN BEGIN
                        SELLSHORT(HOLDING<0,0,MARKET),ORDERQUEUE;
                        BUY(HOLDING=0,1,MARKET),ORDERQUEUE;
                END
        END

        IF    (HOLDING>0) THEN BEGIN
                IF    开空条件 THEN BEGIN
                        SELL(HOLDING>0,0,MARKET),ORDERQUEUE;
                        BUYSHORT(HOLDING=0,1,MARKET),ORDERQUEUE;
                END
        END





以上为交易部分的代码,请教版主如何调整,在止损触发平仓之后,再次满足开仓条件,继续进行开仓操作,如果再止损,仍旧按照止损---再开仓的动作,直到出现下边的反转信号,进入之前的开仓---止损(如果被打到)---开仓---反手的循环


谢谢版主,辛苦了! 自己试了很久,也没成功,不然不会麻烦到版主

--  作者:jinzhe
--  发布时间:2013/12/31 13:20:47
--  

               //多单入场
                IF 开多条件 THEN BEGIN
                   BUY(HOLDING=0,1,MARKET);
                   //止损
                   IF (LOW<=ENTERPRICE-STOPLOSS*MINDIFF) THEN
           SELL(1,HOLDING,LIMITR,ENTERPRICE-STOPLOSS*MINDIFF);
                END
               //空单入场
                IF 开空条件 THEN BEGIN
                   BUYSHORT(HOLDING=0,1,MARKET);
                   //止损
                   IF (HIGH>=ENTERPRICE+STOPLOSS*MINDIFF) THEN
   SELLSHORT(1,HOLDING,LIMITR,ENTERPRICE+STOPLOSS*MINDIFF);
   END

 

        IF    (HOLDING<0) THEN BEGIN
                IF    开多条件 THEN BEGIN
                        SELLSHORT(HOLDING<0,0,MARKET),ORDERQUEUE;
                        BUY(HOLDING=0,1,MARKET),ORDERQUEUE;
                END
        END


        IF    (HOLDING>0) THEN BEGIN
                IF    开空条件 THEN BEGIN
                        SELL(HOLDING>0,0,MARKET),ORDERQUEUE;
                        BUYSHORT(HOLDING=0,1,MARKET),ORDERQUEUE;
                END
        END

去掉了最外面的holding=0的判断,不然写了这个除非是再开仓那根线上,不然是不会止损的