您現在的位置:程序化交易>> 期貨公式>> 交易開拓者(TB)>> 開拓者公式>>正文內容

開拓者 TB 超級日內組合系統[開拓者公式]

  • 咨詢內容: //策略:超級日內組合系統
    INPUT:SS(1,1,100,1),K1(0.3,0.1,1,0.1),K2(0.6,0.1,1,0.1),BOCP(0.25,0,1,0.01),FBOCP(0.25,0,1,0.01);
    VARIABLE:開多次數=0,開空次數=0,趨買市=0,趨賣市=0,多頭止損價=0,空頭止損價=0;
    CYC:=BARSLAST(DATE>REF(DATE,1))+1;
    昨開:=CALLSTOCK(STKLABEL,VTOPEN,6,-1);
    昨收:=CALLSTOCK(STKLABEL,VTCLOSE,6,-1);
    昨昨收:=CALLSTOCK(STKLABEL,VTCLOSE,6,-2);//昨天的前一天的收盤價,暫稱為昨昨收
    昨低:=CALLSTOCK(STKLABEL,VTLOW,6,-1);
    昨高:=CALLSTOCK(STKLABEL,VTHIGH,6,-1);
    今高:=IF(CYC=1,HIGH,REF(HHV(HIGH,CYC),1));
    今低:=IF(CYC=1,LOW,REF(LLV(LOW,CYC),1));
    今開:=IF(CYC=1,OPEN,REF(OPEN,CYC-1));
    10日平均波幅:=ref(MA(CALLSTOCK(STKLABEL,VTHIGH,6,0)-CALLSTOCK(STKLABEL,VTLOW,6,0),10),1);//AVERAGERANGE
    10日平均開收盤區間:=ref(MA(ABS(CALLSTOCK(STKLABEL,VTopen,6,0)-CALLSTOCK(STKLABEL,VTclose,6,0)),10),1);//AVERAGEOCRANGE
    開關:=ABS(昨開-昨收)
    //交易條件
    IF 昨收
    IF 昨收>昨昨收 THEN BEGIN//昨日收盤價大于昨昨收為趨買市(SELLEASIERDAY)
    趨賣市:=1;
    趨賣市開多價:今開+K2*10日平均波幅;//BUYBOPT
    趨賣市開空價:今開-K1*10日平均波幅;//SELLBOPOINT
    END
    //交易系統
    //突破
    IF TIME>=094500 AND TIME=趨買市開多價 AND HOLDING=0,手數,MARKET);
         多頭止損價:=MIN(ENTERPRICE-0.25*10日平均波幅,ENTERPRICE-3);//這個策略用于股指,多頭常規止損價為 開倉價減25%的10日平均波幅和3個大點的較小值。
      開多次數:=1;
    END

    IF 趨買市=1 AND 開空次數=0 THEN BEGIN
       趨買市開空:BUYSHORT(CLOSE趨賣市開多價 AND HOLDING=0,手數,MARKET);
         多頭止損價:=MIN(ENTERPRICE-0.25*10日平均波幅,ENTERPRICE-3);
       開多次數:=1;
      END

      IF 趨賣市=1 AND 開空次數=0 THEN BEGIN
       趨賣市開空:BUYSHORT(CLOSE多頭突破確認價 AND C=0 THEN BEGIN
    多頭止損1:SELL(1,手數,MARKET);
    多翻空1:BUYSHORT(1,手數,MARKET);
    開空次數:=1;
    END

    {多頭突破失敗情況2:突破入場后,行情反轉。止損的同時我們反手開空,但前提是時間在中午11:30之前,且多頭進場在至少4根K之前。瞬間止損我們不允許反轉,因為這往往是市場的膝跳反射}
    IF HOLDING>=0 AND TIME=4 THEN BEGIN
       多翻空2:BUYSHORT(1,手數,MARKET);
       空頭止損價:=MIN(ENTERPRICE+0.15*10日平均波幅,ENTERPRICE+3);//多翻空止損價為開倉價加15%的10日平均波幅和3個大點的較小值。
       開空次數:=1;
      END
    END
    END
    {空頭突破失敗情況1:價格曾經低于空頭突破確認價,最新價又上漲至空翻多確認價}
    IF 今低空翻多確認價 AND TIME=空頭止損價 THEN BEGIN
      空頭止損2:SELLSHORT(1,手數,MARKET);
      IF TIME=4 THEN BEGIN
       空翻多2:BUY(1,手數,MARKET);
       多頭止損價:=MIN(ENTERPRICE-0.15*10日平均波幅,ENTERPRICE-3);//多翻空止損價為開倉價加15%的10日平均波幅和3個大點的較小值。
       開多次數:=1;
      END
    END

    END
    //止損
    IF HOLDING>0 AND C空頭止損價 AND TIMEENTERPRICE+0.5*10日平均波幅 THEN 多頭止損價:=ENTERPRICE+2*MINDIFF;
    IF 今低=143000 THEN BEGIN
    多頭止損價:=MAX(多頭止損價,3周期最低價);
    空頭止損價:=MIN(空頭止損價,3周期最高價);
    END
    //日內平倉
    IF TIME>=151000 THEN BEGIN
    收盤平多:SELL(1,手數,MARKET);
    收盤平空:SELLSHORT(1,手數,MARKET);
    趨賣市:=0;
    趨買市:=0;
    開多次數:=0;
    開空次數:=0;
    多頭止損價:=0;
    空頭止損價:=0;
    END

     

  • TB技術人員:


    超級日內組合策略
    (The Super Combo Day Trading Strategy)

    成功的日內突破策略核心是開盤后不久,尋找到未來上漲趨勢的近低點和下跌趨勢的近高點。最怕的是在高點附近買進,在低點附近賣空。但是,我們通過觀察測評可以發現,除去少部分買在低點,賣在高點的交易,絕大部分都是突破失敗的例子。那么是否有這樣的策略,在行情突破的時候做突破,若突破失敗,自動切換成處理突破失敗的策略呢?你可能會說,不太可能吧?但今天介紹的超級組合策略正是基于這種想法開發的。

    策略簡述:

    超級日內組合策略是我目前整理策略發布以來最復雜的一個。簡化后還是一堆文字,所以簡述我就不寫了,大家直接看策略詳情吧。個人覺得若你能理解后獨立寫出這個策略的代碼,金字塔平臺上幾乎任意的圖表程序化編程都難不倒你了。

    看這個策略之前,請先閱讀Hans123、恒溫器策略,相關概念不在此文重述了。

    策略詳情:

    超級日內組合策略屬于有很多個模塊處理不同行情的復雜策略,如同R-breaker一樣,將考慮突破與突破失敗2種情況,但細節方面會更復雜。當然,在有條理的情況下,使用金字塔軟件實現策略還是相對容易的。

    首先,我們策略依然沿用突破、突破失敗這類思想,并且引入了恒溫器策略中趨買市、趨賣市的概念,這3者將是這個策略的基礎。

    對于策略突破的部分:時間處理上,我們將沿用Hans123策略的想法,開盤30分鐘內不交易。其次,對于突破進場點,超級日內組合策略將使用類似恒溫器策略中區間突破、趨買市、趨賣市的思想。首先,我們判斷是否交易?經過長期的觀察和研究,策略的開發者得出結論,一般短K線后面往往跟隨著長K線,而我們追蹤的正是長K線。所以,若昨天是短K,今日我們才入場,否則不入場。我們采用以下的方式來判斷K線是否為短K。比較昨開-昨收的絕對值和前10天該值的平均值。若前者小于后者85%,我們認定為短K,反之為長K。接下來,我們來確定進場的點位,若收盤價小于等于前一日的收盤價為趨買市,反之為趨賣市。趨買市的開多條件為今開+30%前10日的真實區間。開空條件為今開-60%的前10日真實區間。趨賣市開多條件為今開+60%的前10日真實區間,開空條件為今開-30%前10日的真實區間。

    接著,我們來處理突破失敗的部分(反趨勢)。在該系統中,我們以多頭為例,將以下三種情況定義為突破失敗:

    1、市場比昨日最高價向上跳空一定高度接著又下跌到最高價以下一定位置。

    2、開盤價在昨日最高價以下,后超過該價,然后又下跌至該價以下一定位置。

    3、多頭頭寸開始但在中午12點前失敗,失敗是以觸發停止為標志的。如果失敗不是發生的很快,我們可以利用這個優勢。

    反之,為向下突破失敗。

    然后,我們來處理止損的部分。(依然以多頭為例)

    1、在常規情況下,我們多頭止損點是開倉價-10日波幅區間的25%和3個大點( IF下是15個最小變動價位)較大的那個。

         這里混合使用 固定止損和百分比保護止損的理由是:百分比止損能較好地適應市場的情況,它是個自適應參數系統。它與固定止損對比的好處是,若市場是高波動的,用固定止損就會使大部分交易虧損;若市場波動率低,一個固定的止損價位會導致風險大于收益和最后的凈虧損。但是,若前一天的波動非常的小(比如前一天開盤就漲停了)。百分比系統會產生一個很荒唐的值,所以我們設置了一個3個點的條件作為下限。

    2、在突破失敗的情況下反手入場,我們在止損點為 開倉價-10日波動區間的15%和3個大點的較大值。

          這是因為當天市場可能是沒有方向的。反復的震蕩會讓我們有很大的損失,在已經虧損了一次的情況下,我們將執行更嚴格的風控。

    3、當我們賺取的利潤已經等于10天波動區間的50%時,我們采用保本止損策略,止損價調整為開倉價+滑點和手續費。

    4、當時間超過下午14:30后,止損點設置為低于、高于前3跟5分鐘線的低高點。

        ? 這是因為,我們發現交易的最后30-45分鐘,市場全天的趨勢將消退,極少數情況下會出現大幅翻轉(我記得今年某次PTA,深深地V型翻轉,傷透了心),我們當然不希望盈利在最后丟掉,所以設置了這個較小的止損,市場一有不利我們的風吹草動,我們就撤。

    5、一天最多進場多頭、空頭各一對。換句話說,進場2次就停止。

    總結:這個策略只是一個拋磚引玉,它糅合了足夠多的思想。大家可以此為例,嘗試創造出自己一堆堆的策略咯。

    代碼:

    //策略:超級日內組合系統
    //類型:日內5、走完K線
    //版本:1.0
    //修訂時間:2012.12.24
    //DESIGNED BY ROGARZ
    //中間變量
    INPUT:SS(1,1,100,1),K1(0.3,0.1,1,0.1),K2(0.6,0.1,1,0.1),BOCP(0.25,0,1,0.01),FBOCP(0.25,0,1,0.01);
    VARIABLE:開多次數=0,開空次數=0,趨買市=0,趨賣市=0,多頭止損價=0,空頭止損價=0;
    CYC:=BARSLAST(DATE>REF(DATE,1))+1;
    昨開:=CALLSTOCK(STKLABEL,VTOPEN,6,-1);
    昨收:=CALLSTOCK(STKLABEL,VTCLOSE,6,-1);
    昨昨收:=CALLSTOCK(STKLABEL,VTCLOSE,6,-2);//昨天的前一天的收盤價,暫稱為昨昨收
    昨低:=CALLSTOCK(STKLABEL,VTLOW,6,-1);
    昨高:=CALLSTOCK(STKLABEL,VTHIGH,6,-1);
    今高:=IF(CYC=1,HIGH,REF(HHV(HIGH,CYC),1));
    今低:=IF(CYC=1,LOW,REF(LLV(LOW,CYC),1));
    今開:=IF(CYC=1,OPEN,REF(OPEN,CYC-1));
    10日平均波幅:=ref(MA(CALLSTOCK(STKLABEL,VTHIGH,6,0)-CALLSTOCK(STKLABEL,VTLOW,6,0),10),1);//AVERAGERANGE
    10日平均開收盤區間:=ref(MA(ABS(CALLSTOCK(STKLABEL,VTopen,6,0)-CALLSTOCK(STKLABEL,VTclose,6,0)),10),1);//AVERAGEOCRANGE
    開關:=ABS(昨開-昨收)<0.85*10日平均開收盤區間;//CANTRADE
    3周期最高價:=REF(HHV(HIGH,3),1);
    3周期最低價:=REF(LLV(LOW,3),1);
    多頭突破確認價:=昨高+BOCP*10日平均波幅;//LONGBREAKPT
    空頭突破確認價:=昨低-BOCP*10日平均波幅;//SHORTBREAKPT
    多翻空確認價:=昨低+FBOCP*10日平均波幅;//LONGFBOPOINT
    空翻多確認價:=昨高-FBOCP*10日平均波幅;//SHORTFBOPOINT
    手數:=SS;
    開倉歷時:=ENTERBARS+1;

    //交易條件
    IF 昨收<=昨昨收 THEN BEGIN//昨日收盤價小于等于昨昨收為趨買市(BUYEASIERDAY)
    趨買市:=1;
    趨買市開多價:今開+K1*10日平均波幅;//BUYBOPT
    趨買市開空價:今開-K2*10日平均波幅;//SELLBOPOINT
    END

    IF 昨收>昨昨收 THEN BEGIN//昨日收盤價大于昨昨收為趨買市(SELLEASIERDAY)
    趨賣市:=1;
    趨賣市開多價:今開+K2*10日平均波幅;//BUYBOPT
    趨賣市開空價:今開-K1*10日平均波幅;//SELLBOPOINT
    END

    //交易系統
    //突破
    IF TIME>=094500 AND TIME<143000 AND 開關=1 THEN BEGIN
    {趨買市}
    IF 趨買市=1 AND 開多次數=0 THEN BEGIN
       趨買市開多:BUY(C>=趨買市開多價 AND HOLDING=0,手數,MARKET);
         多頭止損價:=MIN(ENTERPRICE-0.25*10日平均波幅,ENTERPRICE-3);//這個策略用于股指,多頭常規止損價為 開倉價減25%的10日平均波幅和3個大點的較小值。
      開多次數:=1;
    END

    IF 趨買市=1 AND 開空次數=0 THEN BEGIN
       趨買市開空:BUYSHORT(CLOSE<=趨買市開空價 AND HOLDING=0,手數,MARKET);
         空頭止損價:=Max(ENTERPRICE+0.25*10日平均波幅,ENTERPRICE+3);//這個策略用于股指,空頭常規止損價為 開倉價加25%的10日平均波幅和3個大點的較小值。
       開空次數:=1;
      END
    {趨賣市}
      IF 趨賣市=1 AND 開多次數=0 THEN BEGIN
       趨賣市開多:BUY(CLOSE>趨賣市開多價 AND HOLDING=0,手數,MARKET);
         多頭止損價:=MIN(ENTERPRICE-0.25*10日平均波幅,ENTERPRICE-3);
       開多次數:=1;
      END

      IF 趨賣市=1 AND 開空次數=0 THEN BEGIN
       趨賣市開空:BUYSHORT(CLOSE<趨賣市開空價 AND HOLDING=0,手數,MARKET);
         空頭止損價:=Max(ENTERPRICE+0.25*10日平均波幅,ENTERPRICE+3);
       開空次數:=1;
      END
    END
    //突破失敗
    {多頭突破失敗情況1:價格曾經高于多頭突破確認價,最新價又回落至空翻多確認價}
    IF 今高>多頭突破確認價 AND C<多翻空確認價 AND TIME<143000 AND 開空次數=0 AND HOLDING>=0 THEN BEGIN
    多頭止損1:SELL(1,手數,MARKET);
    多翻空1:BUYSHORT(1,手數,MARKET);
    開空次數:=1;
    END

    {多頭突破失敗情況2:突破入場后,行情反轉。止損的同時我們反手開空,但前提是時間在中午11:30之前,且多頭進場在至少4根K之前。瞬間止損我們不允許反轉,因為這往往是市場的膝跳反射}
    IF HOLDING>=0 AND TIME<143000 AND 開空次數=0 THEN BEGIN
    IF C<=多頭止損價 THEN BEGIN
      多頭止損2:SELL(1,手數,MARKET);
      IF TIME<=110000 AND 開倉歷時>=4 THEN BEGIN
       多翻空2:BUYSHORT(1,手數,MARKET);
       空頭止損價:=MIN(ENTERPRICE+0.15*10日平均波幅,ENTERPRICE+3);//多翻空止損價為開倉價加15%的10日平均波幅和3個大點的較小值。
       開空次數:=1;
      END
    END
    END

    {空頭突破失敗情況1:價格曾經低于空頭突破確認價,最新價又上漲至空翻多確認價}
    IF 今低<空頭突破確認價 AND C>空翻多確認價 AND TIME<143000 AND 開多次數=0 AND HOLDING<=0 THEN BEGIN
    空頭止損1:SELLSHORT(1,手數,MARKET);
    空翻多1:BUY(1,手數,MARKET);
    開多次數:=1;
    END
    {空頭突破失敗情況2:突破入場后,行情反轉。止損的同時我們反手開多,但前提是時間在中午11:30之前,且空頭進場在至少4根K之前。瞬間止損我們不允許反轉,因為這往往是市場的膝跳反射}
    IF HOLDING<0 AND TIME<143000 AND 開多次數=0 THEN BEGIN
    IF C>=空頭止損價 THEN BEGIN
      空頭止損2:SELLSHORT(1,手數,MARKET);
      IF TIME<=110000 AND 開倉歷時>=4 THEN BEGIN
       空翻多2:BUY(1,手數,MARKET);
       多頭止損價:=MIN(ENTERPRICE-0.15*10日平均波幅,ENTERPRICE-3);//多翻空止損價為開倉價加15%的10日平均波幅和3個大點的較小值。
       開多次數:=1;
      END
    END

    END
    //止損
    IF HOLDING>0 AND C<多頭止損價 AND TIME<151000 THEN 常規多頭止損:SELL(1,手數,MARKET);
    IF HOLDING<0 AND C>空頭止損價 AND TIME<151000 THEN 常規空頭止損:SELLSHORT(1,手數,MARKET);
    //止損價調整
    {若持多單,而5分鐘K高點超過了開倉價+50%10日平均波幅,止損調整為保本型 }
    IF 今高>ENTERPRICE+0.5*10日平均波幅 THEN 多頭止損價:=ENTERPRICE+2*MINDIFF;
    IF 今低<ENTERPRICE-0.5*10日平均波幅 THEN 空頭止損價:=ENTERPRICE-2*MINDIFF;
    {若時間處于14:30以后,多頭跟蹤止損為過去3個5分鐘的最高低點與多空頭止損價中的較大值}
    IF TIME>=143000 THEN BEGIN
    多頭止損價:=MAX(多頭止損價,3周期最低價);
    空頭止損價:=MIN(空頭止損價,3周期最高價);
    END

    //日內平倉
    IF TIME>=151000 THEN BEGIN
    收盤平多:SELL(1,手數,MARKET);
    收盤平空:SELLSHORT(1,手數,MARKET);
    趨賣市:=0;
    趨買市:=0;
    開多次數:=0;
    開空次數:=0;
    多頭止損價:=0;
    空頭止損價:=0;
    END

     

 

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

可聯系技術人員 QQ: 262069696  點擊在線交流進行 有償 編寫!不貴!點擊查看價格!

 


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

相關文章

    沒有相關內容
  主站蜘蛛池模板: 国产视频中文字幕| 亚洲男人的天堂在线| 国产大秀视频一区二区三区| 国产乱子伦视频在线观看| 国产720刺激在线视频| 公交车忘穿内裤被挺进小说白| 人人澡人人妻人人爽人人蜜桃麻豆| 亚洲成aⅴ人片| 亚洲乱码一区二区三区在线观看| 丰满少妇被猛烈高清播放| 一区二区三区在线免费看| a级毛片免费在线观看| 在线免费你懂的| aⅴ在线免费观看| 97在线观看永久免费视频| 欧美另类第一页| 美女美女高清毛片视频| 男女搞基视频软件| 欧美影院在线观看| 日韩欧美国产成人| 日本xxxx18护士| 成人欧美一区二区三区的电影| 天堂va在线高清一区| 国产精品无码午夜福利| 欧美成年黄网站色视频| 正在播放国产夫妻| 日韩视频在线观看一区二区| 日本中文字幕有码在线视频| 天天爽天天碰狠狠添| 国产白白白在线永久播放| 国产ts在线播放| 亚洲欧美日韩综合久久| 久久亚洲精品中文字幕| a级黄色片网站| 黄无遮挡免费网站视频| 91av国产精品| 黄a大片av永久免费| 真实处破疼哭视频免费看| 欧美一区视频在线| 婷婷啪啪婷婷啪啪| 国产限制级在线观看|