您现在的位置:程序化交易>> 期货公式>> 金字塔等>> 金字塔知识>>正文内容

[求助]开、平仓优先问题 [金字塔]

  • 咨询内容:

    一个模型里面有两个开、平仓条件,

     

    比如:开仓条件1,平仓条件1

           开仓条件2,平仓条件2

     

    如何保证“开仓条件1 ”只会让“平仓条件1 ”来平仓,不会让平仓条件2来平仓?因为有时平仓条件1没达到,平仓条件2先达到了。

     

     

  • 金字塔客服:

    variable:n=0,m=0;

    if 开仓条件1 and n=0 then begin

    开仓语句;

    n:=1;

    end

     

    if 平仓条件1 and n=1 and m<>1 then begin

    平仓语句;

    n:=0;

    end

     

    if 开仓条件2 and m=0 then begin

    开仓语句;

    m:=1;

    end

     

    if 平仓条件2 and m=1  and n<>1 then begin

    平仓语句;

    m:=0;

    end

     

  • 用户回复:

    帮我看看下面的,当DMI 里ADX上升时,用SAR开、平仓;当ADX下降时用BOLL开、平仓。现在是想SAR开仓的,用SAR平;BOLL开仓的用BOLL 平。

     

    ADXXS:=ADX>REF(ADX,1);//A.当ADX 上升时:
    ADXXX:=ADX<=REF(ADX,1);//B.当ADX下降或走平时
    KDA1:=C>SAR1 AND  ADXXS;//开多,SAR 在30分钟K线下方。
    KKA1:=C<SAR1 AND  ADXXS;//开空,SAR 在30分钟K线上方。

     

    variable:n=0,m=0;

     


    IF N=0 THEN BEGIN

    IF KDA1 AND HOLDING=0 THEN 
    BEGIN
       
     开多1:BUY(HOLDING=0,SS,MARKETR),orderqueue;  

           
    END
    IF KKA1 AND HOLDING=0 THEN    
    BEGIN

      开空1:BUYSHORT(HOLDING=0,SS,MARKETR),orderqueue;
    END 
      n:=1;
    END

    PDA1:=CROSS(SAR1,C)&&REF(KDA1,ENTERBARS)=1;//平多,当价格从上向下穿(小等于)SAR时
    PKA1:=CROSS(C,SAR1)&&REF(KKA1,ENTERBARS)=1;//平空,当价格从下向上穿(大等于)SAR时。

    IF N=1 AND M<>1 THEN BEGIN
    IF PDA1 AND HOLDING>0  THEN    
    BEGIN
      平多1:SELL(HOLDING>0,SS,MARKETR),orderqueue;
    END
    IF PKA1 AND HOLDING<0 THEN 
    BEGIN
     平空1: SELLSHORT(HOLDING<0,SS,MARKETR),orderqueue;   
     END
     n:=0;                 
    END

     


    KDB1:=L<LOWER && ADXXX;// 开多条件: 价格触及boll下轨,且ADX下降时买入
    KKB1:=H>UPPER && ADXXX;// 开空条件: 价格触及boll上轨,且ADX下降时卖出

     

    IF M:=0 THEN BEGIN
    IF KDB1 AND HOLDING<=0   THEN 
    BEGIN
     平空2:SELLSHORT(HOLDING<0,SS2,MARKETR),orderqueue;          
      开多2:BUY(HOLDING=0,SS2,MARKETR),orderqueue;             
    END
    IF KKB1 AND HOLDING>=0  THEN    
    BEGIN
      平多2:SELL(HOLDING>0,SS2,MARKETR),orderqueue;
      开空2:BUYSHORT(HOLDING=0,SS2,MARKETR),orderqueue;
      END
      m:=1;
    END

     

  • 网友回复:

    IF PKA1 AND HOLDING<0 THEN 
    BEGIN
     平空1: SELLSHORT(HOLDING<0,SS,MARKETR),orderqueue;   
     END
     n:=0;                 
    END

     

    这里两个的END是干什么用的?

     

  • 网友回复: 哦 ,多了个END,但是不是有个原则,先平后开吗,加上全局变量这要怎么弄?

 

有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友

可联系技术人员 QQ: 1145508240  有需要帮忙请点击这里留言!!!进行 有偿 编写!不贵!点击查看价格!


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容