大伊人青草狠狠久久-大伊香蕉精品视频在线-大伊香蕉精品一区视频在线-大伊香蕉在线精品不卡视频-大伊香蕉在线精品视频75-大伊香蕉在线精品视频人碰人

您現在的位置:程序化交易>> 期貨公式>> 金字塔等>> 金字塔知識>>正文內容

請教止盈止損后排斥同方向開倉的問題 [金字塔]

  • 咨詢內容:

    又來麻煩老師了,實在過意不去。

    以下是30分鐘突破的代碼和止盈止損。我想在里面加止盈止損后同方向不再開倉的條件(比如在上線多單止損后,今日不再開多單),學生不知如何編寫。

    懇請老師指點(_ _)

     

     

    input:ss(1,1,100,1),nmin1(30,1,100,1),nmin2(1,1,100,1),n1(0,0,100,1),,n2(22,1,60,1),n3(13,10,20,1),n4(59,1,80,1);
    N:=barslast(date<>ref(date,1))+1;
    開盤30分鐘最高價:=valuewhen(time<=090000+nmin1*100,hhv(h,n));
    開盤30分鐘最低價:=valuewhen(time<=090000+nmin1*100,llv(l,n));
    上軌:開盤30分鐘最高價+n1*mindiff;
    下軌:開盤30分鐘最低價-N1*mindiff;

     

    //條件
    開多條件:=cross(c,上軌);
    開空條件:=cross(下軌,c);
    t1:=time>091500+nmin2*100 and time<151000;
    t2:=time=151300;

     

     

    //交易系統

    VARIABLE:DUOKONG=0;
    TSFS:=0;     {停損反手,1-反手 0-不反手}
    開倉手數:=ss;     {開倉手數}
    ZSDS:=n4/100;     {止損百分比}
    //以下變量用于移動止盈
    VARIABLE:YDZY=1;     {移動止盈總開關,1為開,0為關}
    VARIABLE:HIGHPRICE=0,LOWPRICE=0; {保存開倉后的最高價、最低價}
    VARIABLE:DHCDS=n2/100,KHCDS=n2/100;   {多、空單回撤百分比}
    VARIABLE:DYLDS=n3,KYLDS=n3;   {多、空單盈利點數,當盈利點數達到這個標準后,如果回撤達到上面的參數值百分比就平倉}
    VARIABLE:Z3B1:=0;     {賺3保1開關}
    DUOKONG:=1;

    //持有空單
    IF HOLDING<0 THEN BEGIN
     IF t2 THEN BEGIN   //平空單
      空平:SELLSHORT(1,0,market),ORDERQUEUE;
     END
     
     //止損59%
     IF (C-ENTERPRICE)/ENTERPRICE*100>=ZSDS THEN BEGIN
      空損:SELLSHORT(1,0,market),ORDERQUEUE;
     END
     
     //空單移動止盈
     IF YDZY=1 THEN BEGIN
      //每周期判斷是否創新低
      IF L<LOWPRICE THEN BEGIN
       LOWPRICE:=L;
      END
     
      //如果盈利超過10點之后回撤達到22%,就平倉,保住盈利
      IF ENTERPRICE-LOWPRICE>=KYLDS THEN BEGIN
       IF (L-LOWPRICE)/LOWPRICE*100>=KHCDS THEN BEGIN  //回撤超過的百分比
        空贏:SELLSHORT(1,0,MARKET);
       END
      END
     END
     
     //賺3保1
     IF Z3B1=1 THEN BEGIN
      IF ENTERPRICE-LOWPRICE>=3 THEN BEGIN
       IF ENTERPRICE-L<=1.2 THEN BEGIN
        空保:SELLSHORT(1,0,MARKET);
       END
      END
     END
    END

    //開多單
    IF HOLDING=0 THEN BEGIN
     IF DUOKONG=1 OR DUOKONG=2 THEN BEGIN
      IF 開多條件 and t1 THEN BEGIN
       多開:BUY(1=1,ss,market);
       HIGHPRICE:=ENTERPRICE;  //將開倉價保存到最高價
      END
     END
    END

    //持有多單
    IF HOLDING>0 THEN BEGIN
     IF t2 THEN BEGIN  {平多單}
      多平:SELL(1,0,market),ORDERQUEUE;
     END
     
     //多單管理
     //多單止損
     IF (ENTERPRICE-C)/ENTERPRICE*100>=ZSDS THEN BEGIN
      多損:SELL(1,0,market),ORDERQUEUE;
     END
     
     //多單移動止盈
     IF YDZY=1 THEN BEGIN
      //每周期判斷是否創新高
      IF H>HIGHPRICE THEN BEGIN
       HIGHPRICE:=H;
      END
     
      //如果盈利超過10點之后回撤達到22%,就平倉,保住盈利
      IF HIGHPRICE-ENTERPRICE>=DYLDS THEN BEGIN
       IF (HIGHPRICE-H)/HIGHPRICE*100>=DHCDS THEN BEGIN  //回撤超過22%
        多贏:SELL(1,0,MARKET);
       END
      END
     END
     
     //賺3保1
     IF Z3B1=1 THEN BEGIN
      IF HIGHPRICE-ENTERPRICE>=3 THEN BEGIN
       IF H-ENTERPRICE<=1.2 THEN BEGIN
        多保:SELL(1,0,MARKET);
       END
      END
     END
    END

    //開空單
    IF HOLDING=0 THEN BEGIN
     IF DUOKONG=1 OR DUOKONG=3 THEN BEGIN
      IF 開空條件 and t1 THEN BEGIN
       空開:BUYSHORT(1=1,ss,market);
       LOWPRICE:=ENTERPRICE;
      END
     END
    END

     

     

  • 金字塔客服:

    需要用全局變量來限定開平狀態,思路如下:

     

     

    1.策略最開頭添加代碼

       variable:kaiguan_duo=0;//多頭開關

       variable:kaiguan_kong=0;//空頭開關

     

    2.所有的止盈止損代碼添加對全局變量的賦值以及判斷,全局變量的賦值寫在平倉語句之后,比如:

      ①

      空頭添加開關

      //止損59%
       IF (C-ENTERPRICE)/ENTERPRICE*100>=ZSDS  and kaiguan_kong=0 THEN BEGIN
         空損:SELLSHORT(1,0,market),ORDERQUEUE;

         kaiguan_kong:=1;
       END
      ②

      多頭添加開關

      //持有多單
      IF HOLDING>0 and kaiguan_duo=0 THEN BEGIN
        IF t2 THEN BEGIN  {平多單}
          多平:SELL(1,0,market),ORDERQUEUE;

          kaiguan_duo:=1;
      END

     

      其他的多空頭止盈止損不做重復的講解,按照上面的處理即可

     

    3.策略最后面添加代碼

      if time=closetime(0) then begin

        kaiguan_duo:=0;

        kaiguan_kong:=0;

      end

    [此貼子已經被作者于2013/10/24 9:49:50編輯過]

     

  • 用戶回復:

    還是有點不懂,可以麻煩老師寫個簡單實例嗎?

     

  • 網友回復: 我先摸索一下,多謝老師!

     

  • 網友回復:

    加上去了,測試也通過。非常感謝!

    。。不過又出現個問題,圖表的時候線縮得不成樣子了。不知道哪里錯了,求救!

     

    input:ss(1,1,100,1),nmin1(41,1,100,1),nmin2(1,1,100,1),n1(0,0,100,1),,n2(22,1,60,1),n3(13,10,20,1),n4(59,1,80,1);
    N:=barslast(date<>ref(date,1))+1;
    開盤30分鐘最高價:=valuewhen(time<=090000+nmin1*100,hhv(h,n));
    開盤30分鐘最低價:=valuewhen(time<=090000+nmin1*100,llv(l,n));
    上軌:開盤30分鐘最高價+n1*mindiff;
    下軌:開盤30分鐘最低價-N1*mindiff;

     

    //條件
    開多條件:=h>上軌;
    開空條件:=l<下軌;
    t1:=time>091500+nmin2*100 and time<151000;
    t2:=time=151300;

     

    //交易系統

    VARIABLE:DUOKONG=0;
    variable:kaiguan_duo=0;//多頭開關
    variable:kaiguan_kong=0;//空頭開關

    TSFS:=0;     {停損反手,1-反手 0-不反手}
    開倉手數:=ss;     {開倉手數}
    ZSDS:=n4/100;     {止損百分比}


    //以下變量用于移動止盈
    VARIABLE:YDZY=1;     {移動止盈總開關,1為開,0為關}
    VARIABLE:HIGHPRICE=0,LOWPRICE=0; {保存開倉后的最高價、最低價}
    VARIABLE:DHCDS=n2/100,KHCDS=n2/100;   {多、空單回撤百分比}
    VARIABLE:DYLDS=n3,KYLDS=n3;   {多、空單盈利點數,當盈利點數達到這個標準后,如果回撤達到上面的參數值百分比就平倉}
    VARIABLE:Z3B1:=0;     {賺3保1開關}
    DUOKONG:=1;

     

    //持有空單
    IF HOLDING<0 THEN BEGIN
     IF t2 THEN BEGIN   //平空單
      空平:SELLSHORT(1,0,market),ORDERQUEUE;
     END
     
     //止損59%
     IF (C-ENTERPRICE)/ENTERPRICE*100>=ZSDS and kaiguan_kong=0 THEN BEGIN
      空損:SELLSHORT(1,0,market),ORDERQUEUE;
      kaiguan_kong:=1;
     END
     
     //空單移動止盈
     IF YDZY=1 THEN BEGIN
      //每周期判斷是否創新低
      IF L<LOWPRICE THEN BEGIN
       LOWPRICE:=L;
      END
     
      //如果盈利超過10點之后回撤達到22%,就平倉,保住盈利
      IF ENTERPRICE-LOWPRICE>=KYLDS THEN BEGIN
       IF (L-LOWPRICE)/LOWPRICE*100>=KHCDS THEN BEGIN  //回撤超過的百分比
        空贏:SELLSHORT(1,0,MARKET);
       END
      END
     END
     
     //賺3保1
     IF Z3B1=1 THEN BEGIN
      IF ENTERPRICE-LOWPRICE>=3 THEN BEGIN
       IF ENTERPRICE-L<=1.2 THEN BEGIN
        空保:SELLSHORT(1,0,MARKET);
       END
      END
     END
    END

     

    //開多單
    IF HOLDING=0 THEN BEGIN
     IF DUOKONG=1 OR DUOKONG=2 THEN BEGIN
      IF 開多條件 and t1 THEN BEGIN
       多開:BUY(1=1,ss,market);
       HIGHPRICE:=ENTERPRICE;  //將開倉價保存到最高價
      END
     END
    END

     

    //持有多單
    IF HOLDING>0 THEN BEGIN
     IF t2 THEN BEGIN  {平多單}
      多平:SELL(1,0,market),ORDERQUEUE;
     END
     
     //多單管理
     //多單止損
     IF (ENTERPRICE-C)/ENTERPRICE*100>=ZSDS and kaiguan_duo=0 THEN BEGIN
      多損:SELL(1,0,market),ORDERQUEUE;
      kaiguan_duo=1;
     END
     
     //多單移動止盈
     IF YDZY=1 THEN BEGIN
      //每周期判斷是否創新高
      IF H>HIGHPRICE THEN BEGIN
       HIGHPRICE:=H;
      END
     
      //如果盈利超過10點之后回撤達到22%,就平倉,保住盈利
      IF HIGHPRICE-ENTERPRICE>=DYLDS THEN BEGIN
       IF (HIGHPRICE-H)/HIGHPRICE*100>=DHCDS THEN BEGIN  //回撤超過22%
        多贏:SELL(1,0,MARKET);
       END
      END
     END
     
     //賺3保1
     IF Z3B1=1 THEN BEGIN
      IF HIGHPRICE-ENTERPRICE>=3 THEN BEGIN
       IF H-ENTERPRICE<=1.2 THEN BEGIN
        多保:SELL(1,0,MARKET);
       END
      END
     END
    END

     

    //開空單
    IF HOLDING=0 THEN BEGIN
     IF DUOKONG=1 OR DUOKONG=3 THEN BEGIN
      IF 開空條件 and t1 THEN BEGIN
       空開:BUYSHORT(1=1,ss,market);
       LOWPRICE:=ENTERPRICE;
      END
     END

    END

     

     if time=closetime(0) then begin
        kaiguan_duo:=0;
        kaiguan_kong:=0;
      end


     


    此主題相關圖片如下:tm截圖未命名.png

 

有思路,想編寫各種指標公式,程序化交易模型,選股公式,預警公式的朋友

可聯系技術人員 QQ: 1145508240  點擊這里給我發消息進行 有償 編寫!不貴!點擊查看價格!


【字體: 】【打印文章】【查看評論

相關文章

    沒有相關內容
主站蜘蛛池模板: 性欧美疯狂猛交69hd | 国产成人经典三级在线观看 | 一区二区三区鲁丝不卡麻豆 | 亚洲欧洲日产国码二区首页 | 成人免费播放视频777777 | 日韩欧美视频一区二区在线观看 | 综合图区亚洲白拍在线 | 久久久久久久久久久观看 | 日日草天天干 | 伊人高清 | 国产综合婷婷 | 精品国产呦系列在线看 | 成人精品视频在线观看 | 亚洲国产人成在线观看 | 日韩免费观看一级毛片看看 | www.777奇米| 女人用粗大自熨喷水在线视频 | 手机看片日韩日韩韩 | 欧美日本一道免费一区三区 | 手机看片福利日韩欧美看片 | 99爱精品视频 | 四虎国产成人永久精品免费 | 免费高清毛片 | 久久午夜宅男免费网站 | 99青青| 噜噜啪 | 日本不卡中文字幕一区二区 | 在线视频中文 | 国产一级淫片a免费播放口欧美 | 久久9966精品国产免费 | www.国产视频| 免费一区二区三区四区五区 | 中文字幕国产欧美 | 男人私人影院免费看视频 | 国产影片中文字幕 | 人成精品视频三区二区一区 | 国产亚洲精aa在线观看香蕉 | 狠狠色噜噜狠狠狠8888米奇 | 夜夜夜操 | 精品久久免费观看 | 亚洲视频在线观看一区 |