成功的日內(nèi)突破策略核心是開(kāi)盤(pán)后不久,尋找到未來(lái)上漲趨勢(shì)的近低點(diǎn)和下跌趨勢(shì)的近高點(diǎn)。最怕的是在高點(diǎn)附近買進(jìn),在低點(diǎn)附近賣空。但是,我們通過(guò)觀察測(cè)評(píng)可以發(fā)現(xiàn),除去少部分買在低點(diǎn),賣在高點(diǎn)的交易,絕大部分都是突破失敗的例子。那么是否有這樣的策略,在行情突破的時(shí)候做突破,若突破失敗,自動(dòng)切換成處理突破失敗的策略呢?你可能會(huì)說(shuō),不太可能吧?但今天介紹的超級(jí)組合策略正是基于這種想法開(kāi)發(fā)的。
策略簡(jiǎn)述:超級(jí)日內(nèi)組合策略是我目前整理策略發(fā)布以來(lái)最復(fù)雜的一個(gè)。簡(jiǎn)化后還是一堆文字,所以簡(jiǎn)述我就不寫(xiě)了,大家直接看策略詳情吧。個(gè)人覺(jué)得若你能理解后獨(dú)立寫(xiě)出這個(gè)策略的代碼,金字塔平臺(tái)上幾乎任意的圖表程序化編程都難不倒你了。
看這個(gè)策略之前,請(qǐng)先閱讀Hans123、恒溫器策略,相關(guān)概念不在此文重述了。策略詳情:
超級(jí)日內(nèi)組合策略屬于有很多個(gè)模塊處理不同行情的復(fù)雜策略,如同R-breaker一樣,將考慮突破與突破失敗2種情況,但細(xì)節(jié)方面會(huì)更復(fù)雜。當(dāng)然,在有條理的情況下,使用金字塔軟件實(shí)現(xiàn)策略還是相對(duì)容易的。首先,我們策略依然沿用突破、突破失敗這類思想,并且引入了恒溫器策略中趨買市、趨賣市的概念,這3者將是這個(gè)策略的基礎(chǔ)。
對(duì)于策略突破的部分:時(shí)間處理上,我們將沿用Hans123策略的想法,開(kāi)盤(pán)30分鐘內(nèi)不交易。其次,對(duì)于突破進(jìn)場(chǎng)點(diǎn),超級(jí)日內(nèi)組合策略將使用類似恒溫器策略中區(qū)間突破、趨買市、趨賣市的思想。首先,我們判斷是否交易?經(jīng)過(guò)長(zhǎng)期的觀察和研究,策略的開(kāi)發(fā)者得出結(jié)論,一般短K線后面往往跟隨著長(zhǎng)K線,而我們追蹤的正是長(zhǎng)K線。所以,若昨天是短K,今日我們才入場(chǎng),否則不入場(chǎng)。我們采用以下的方式來(lái)判斷K線是否為短K。比較昨開(kāi)-昨收的絕對(duì)值和前10天該值的平均值。若前者小于后者85%,我們認(rèn)定為短K,反之為長(zhǎng)K。接下來(lái),我們來(lái)確定進(jìn)場(chǎng)的點(diǎn)位,若收盤(pán)價(jià)小于等于前一日的收盤(pán)價(jià)為趨買市,反之為趨賣市。趨買市的開(kāi)多條件為今開(kāi)+30%前10日的真實(shí)區(qū)間。開(kāi)空條件為今開(kāi)-60%的前10日真實(shí)區(qū)間。趨賣市開(kāi)多條件為今開(kāi)+60%的前10日真實(shí)區(qū)間,開(kāi)空條件為今開(kāi)-30%前10日的真實(shí)區(qū)間。接著,我們來(lái)處理突破失敗的部分(反趨勢(shì))。在該系統(tǒng)中,我們以多頭為例,將以下三種情況定義為突破失敗:
1、市場(chǎng)比昨日最高價(jià)向上跳空一定高度接著又下跌到最高價(jià)以下一定位置。2、開(kāi)盤(pán)價(jià)在昨日最高價(jià)以下,后超過(guò)該價(jià),然后又下跌至該價(jià)以下一定位置。
3、多頭頭寸開(kāi)始但在中午12點(diǎn)前失敗,失敗是以觸發(fā)停止為標(biāo)志的。如果失敗不是發(fā)生的很快,我們可以利用這個(gè)優(yōu)勢(shì)。反之,為向下突破失敗。
然后,我們來(lái)處理止損的部分。(依然以多頭為例)1、在常規(guī)情況下,我們多頭止損點(diǎn)是開(kāi)倉(cāng)價(jià)-10日波幅區(qū)間的25%和3個(gè)大點(diǎn)( IF下是15個(gè)最小變動(dòng)價(jià)位)較大的那個(gè)。
這里混合使用 固定止損和百分比保護(hù)止損的理由是:百分比止損能較好地適應(yīng)市場(chǎng)的情況,它是個(gè)自適應(yīng)參數(shù)系統(tǒng)。它與固定止損對(duì)比的好處是,若市場(chǎng)是高波動(dòng)的,用固定止損就會(huì)使大部分交易虧損;若市場(chǎng)波動(dòng)率低,一個(gè)固定的止損價(jià)位會(huì)導(dǎo)致風(fēng)險(xiǎn)大于收益和最后的凈虧損。但是,若前一天的波動(dòng)非常的?。ū热缜耙惶扉_(kāi)盤(pán)就漲停了)。百分比系統(tǒng)會(huì)產(chǎn)生一個(gè)很荒唐的值,所以我們?cè)O(shè)置了一個(gè)3個(gè)點(diǎn)的條件作為下限。2、在突破失敗的情況下反手入場(chǎng),我們?cè)谥箵p點(diǎn)為 開(kāi)倉(cāng)價(jià)-10日波動(dòng)區(qū)間的15%和3個(gè)大點(diǎn)的較大值。
這是因?yàn)楫?dāng)天市場(chǎng)可能是沒(méi)有方向的。反復(fù)的震蕩會(huì)讓我們有很大的損失,在已經(jīng)虧損了一次的情況下,我們將執(zhí)行更嚴(yán)格的風(fēng)控。3、當(dāng)我們賺取的利潤(rùn)已經(jīng)等于10天波動(dòng)區(qū)間的50%時(shí),我們采用保本止損策略,止損價(jià)調(diào)整為開(kāi)倉(cāng)價(jià)+滑點(diǎn)和手續(xù)費(fèi)。
4、當(dāng)時(shí)間超過(guò)下午14:30后,止損點(diǎn)設(shè)置為低于、高于前3跟5分鐘線的低高點(diǎn)。? 這是因?yàn)椋覀儼l(fā)現(xiàn)交易的最后30-45分鐘,市場(chǎng)全天的趨勢(shì)將消退,極少數(shù)情況下會(huì)出現(xiàn)大幅翻轉(zhuǎn)(我記得今年某次PTA,深深地V型翻轉(zhuǎn),傷透了心),我們當(dāng)然不希望盈利在最后丟掉,所以設(shè)置了這個(gè)較小的止損,市場(chǎng)一有不利我們的風(fēng)吹草動(dòng),我們就撤。
5、一天最多進(jìn)場(chǎng)多頭、空頭各一對(duì)。換句話說(shuō),進(jìn)場(chǎng)2次就停止。總結(jié):這個(gè)策略只是一個(gè)拋磚引玉,它糅合了足夠多的思想。大家可以此為例,嘗試創(chuàng)造出自己一堆堆的策略咯。
代碼://策略:超級(jí)日內(nèi)組合系統(tǒng)
//類型:日內(nèi)5、走完K線
//版本:1.0
//修訂時(shí)間: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:開(kāi)多次數(shù)=0,開(kāi)空次數(shù)=0,趨買市=0,趨賣市=0,多頭止損價(jià)=0,空頭止損價(jià)=0;
CYC:=BARSLAST(DATE>REF(DATE,1))+1;
昨開(kāi):=CALLSTOCK(STKLABEL,VTOPEN,6,-1);
昨收:=CALLSTOCK(STKLABEL,VTCLOSE,6,-1);
昨昨收:=CALLSTOCK(STKLABEL,VTCLOSE,6,-2);//昨天的前一天的收盤(pán)價(jià),暫稱為昨昨收
昨低:=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));
今開(kāi):=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日平均開(kāi)收盤(pán)區(qū)間:=ref(MA(ABS(CALLSTOCK(STKLABEL,VTopen,6,0)-CALLSTOCK(STKLABEL,VTclose,6,0)),10),1);//AVERAGEOCRANGE
開(kāi)關(guān):=ABS(昨開(kāi)-昨收)<0.85*10日平均開(kāi)收盤(pán)區(qū)間;//CANTRADE
3周期最高價(jià):=REF(HHV(HIGH,3),1);
3周期最低價(jià):=REF(LLV(LOW,3),1);
多頭突破確認(rèn)價(jià):=昨高+BOCP*10日平均波幅;//LONGBREAKPT
空頭突破確認(rèn)價(jià):=昨低-BOCP*10日平均波幅;//SHORTBREAKPT
多翻空確認(rèn)價(jià):=昨低+FBOCP*10日平均波幅;//LONGFBOPOINT
空翻多確認(rèn)價(jià):=昨高-FBOCP*10日平均波幅;//SHORTFBOPOINT
手?jǐn)?shù):=SS;
開(kāi)倉(cāng)歷時(shí):=ENTERBARS+1;
IF 昨收>昨昨收 THEN BEGIN//昨日收盤(pán)價(jià)大于昨昨收為趨買市(SELLEASIERDAY)
趨賣市:=1;
趨賣市開(kāi)多價(jià):今開(kāi)+K2*10日平均波幅;//BUYBOPT
趨賣市開(kāi)空價(jià):今開(kāi)-K1*10日平均波幅;//SELLBOPOINT
END
{空頭突破失敗情況1:價(jià)格曾經(jīng)低于空頭突破確認(rèn)價(jià),最新價(jià)又上漲至空翻多確認(rèn)價(jià)}
IF 今低<空頭突破確認(rèn)價(jià) AND C>空翻多確認(rèn)價(jià) AND TIME<143000 AND 開(kāi)多次數(shù)=0 AND HOLDING<=0 THEN BEGIN
空頭止損1:SELLSHORT(1,手?jǐn)?shù),MARKET);
空翻多1:BUY(1,手?jǐn)?shù),MARKET);
開(kāi)多次數(shù):=1;
END
{空頭突破失敗情況2:突破入場(chǎng)后,行情反轉(zhuǎn)。止損的同時(shí)我們反手開(kāi)多,但前提是時(shí)間在中午11:30之前,且空頭進(jìn)場(chǎng)在至少4根K之前。瞬間止損我們不允許反轉(zhuǎn),因?yàn)檫@往往是市場(chǎng)的膝跳反射}
IF HOLDING<0 AND TIME<143000 AND 開(kāi)多次數(shù)=0 THEN BEGIN
IF C>=空頭止損價(jià) THEN BEGIN
空頭止損2:SELLSHORT(1,手?jǐn)?shù),MARKET);
IF TIME<=110000 AND 開(kāi)倉(cāng)歷時(shí)>=4 THEN BEGIN
空翻多2:BUY(1,手?jǐn)?shù),MARKET);
多頭止損價(jià):=MIN(ENTERPRICE-0.15*10日平均波幅,ENTERPRICE-3);//多翻空止損價(jià)為開(kāi)倉(cāng)價(jià)加15%的10日平均波幅和3個(gè)大點(diǎn)的較小值。
開(kāi)多次數(shù):=1;
END
END
END
//止損
IF HOLDING>0 AND C<多頭止損價(jià) AND TIME<151000 THEN 常規(guī)多頭止損:SELL(1,手?jǐn)?shù),MARKET);
IF HOLDING<0 AND C>空頭止損價(jià) AND TIME<151000 THEN 常規(guī)空頭止損:SELLSHORT(1,手?jǐn)?shù),MARKET);
//止損價(jià)調(diào)整
{若持多單,而5分鐘K高點(diǎn)超過(guò)了開(kāi)倉(cāng)價(jià)+50%10日平均波幅,止損調(diào)整為保本型 }
IF 今高>ENTERPRICE+0.5*10日平均波幅 THEN 多頭止損價(jià):=ENTERPRICE+2*MINDIFF;
IF 今低<ENTERPRICE-0.5*10日平均波幅 THEN 空頭止損價(jià):=ENTERPRICE-2*MINDIFF;
{若時(shí)間處于14:30以后,多頭跟蹤止損為過(guò)去3個(gè)5分鐘的最高低點(diǎn)與多空頭止損價(jià)中的較大值}
IF TIME>=143000 THEN BEGIN
多頭止損價(jià):=MAX(多頭止損價(jià),3周期最低價(jià));
空頭止損價(jià):=MIN(空頭止損價(jià),3周期最高價(jià));
END