文華交易模型策略改編成金字塔方法[金字塔模型]
文華boll模型
MID:MA(CLOSE,N);//求N個(gè)周期的收盤(pán)價(jià)均線,稱為布林通道中軌
TMP2:=STD(CLOSE,M);//求M個(gè)周期內(nèi)的收盤(pán)價(jià)的標(biāo)準(zhǔn)差
TOP:MID+P*TMP2;//布林通道上軌
BOTTOM:MID-P*TMP2;//布林通道下軌
CROSS(C,BOTTOM),BPK;//當(dāng)最新價(jià)上穿下軌時(shí),做多
CROSS(TOP,C),SPK;//當(dāng)最新價(jià)下穿上軌時(shí),做空
AUTOFILTER;
金字塔模型 簡(jiǎn)單改法:
input:n(26,5,300,1),M(26,1,100,1),P(2,1,10,1);//定義參數(shù)
MID:MA(CLOSE,N);//求N個(gè)周期的收盤(pán)價(jià)均線,稱為布林通道中軌
TMP2:=STD(CLOSE,M);//求M個(gè)周期內(nèi)的收盤(pán)價(jià)的標(biāo)準(zhǔn)差
TOP:MID+P*TMP2;//布林通道上軌
BOTTOM:MID-P*TMP2;//布林通道下軌
CROSS(C,BOTTOM),BPK,TFILTER;
CROSS(TOP,C),SPK,TFILTER;
金字塔模型 新交易系統(tǒng)改法:
input:n(26,5,300,1),M(26,1,100,1),P(2,1,10,1);//定義參數(shù)
MID:MA(CLOSE,N);//求N個(gè)周期的收盤(pán)價(jià)均線,稱為布林通道中軌
TMP2:=STD(CLOSE,M);//求M個(gè)周期內(nèi)的收盤(pán)價(jià)的標(biāo)準(zhǔn)差
TOP:MID+P*TMP2;//布林通道上軌
BOTTOM:MID-P*TMP2;//布林通道下軌
if CROSS(C,BOTTOM) and holding<=0 then begin//當(dāng)收盤(pán)價(jià)上穿下軌且有空倉(cāng)或無(wú)倉(cāng)時(shí)
sellshort(1,1,market);//平空 第一個(gè)1代表100%成立,第二個(gè)1代表下單手?jǐn)?shù)(下同)
buy(1,1,market);//開(kāi)多
end
if CROSS(TOP,C) and holding>=0 then begin //當(dāng)收盤(pán)價(jià)下穿上軌且有多倉(cāng)或無(wú)倉(cāng)時(shí)
sell(1,1,market);//平多
buyshort(1,1,market);//開(kāi)空
end
首先,還是要講這個(gè)函數(shù)。雖然之前的《簡(jiǎn)易文華模型改金字塔方法(一)》解決了初級(jí)的代碼轉(zhuǎn)換的問(wèn)題。通過(guò)實(shí)際工作中的交流,發(fā)現(xiàn)用戶經(jīng)簡(jiǎn)單轉(zhuǎn)換后,稍了解下金字塔機(jī)制,改用Holding函數(shù)來(lái)控制,不再使用此函數(shù)的非常多,我想通過(guò)此貼,讓大家少走彎路。
我們來(lái)研究下Autofilter的機(jī)制,它實(shí)際作用是,當(dāng)我第一次滿足條件后開(kāi)倉(cāng),之后再滿足條件不在開(kāi)倉(cāng)。即用成立條件和持倉(cāng)來(lái)判斷。
我們依然以文華的Boll模型為例:
(這里我們不用cross函數(shù),因?yàn)樗且粋€(gè)點(diǎn).為了更直觀的達(dá)到效果,我們用C>bottom ;C<top來(lái)替代金叉,死叉)
文華boll模型
MID:MA(CLOSE,N);//求N個(gè)周期的收盤(pán)價(jià)均線,稱為布林通道中軌
TMP2:=STD(CLOSE,M);//求M個(gè)周期內(nèi)的收盤(pán)價(jià)的標(biāo)準(zhǔn)差
TOP:MID+P*TMP2;//布林通道上軌
BOTTOM:MID-P*TMP2;//布林通道下軌
C>BOTTOM,BPK;//當(dāng)最新價(jià)上穿下軌時(shí),做多
TOP>C,SPK;//當(dāng)最新價(jià)下穿上軌時(shí),做空
AUTOFILTER;
現(xiàn)在我們?cè)诮鹱炙杏肏olding函數(shù)可改為:
//中間變量
MID:MA(CLOSE,N);//求N個(gè)周期的收盤(pán)價(jià)均線,稱為布林通道中軌
TMP2:=STD(CLOSE,M);//求M個(gè)周期內(nèi)的收盤(pán)價(jià)的標(biāo)準(zhǔn)差
TOP:MID+P*TMP2;//布林通道上軌
BOTTOM:MID-P*TMP2;//布林通道下軌
手?jǐn)?shù):=ss;//這個(gè)參數(shù) 自己定義下
//交易條件
開(kāi)多平空條件:=C>BOTTOM and holding<=0;//當(dāng)最新價(jià)上穿下軌時(shí),并且持空倉(cāng)或無(wú)倉(cāng)的情況下,做多
開(kāi)空平多條件:=TOP>C and holding>=0;//當(dāng)最新價(jià)下穿上軌時(shí) 并且持多倉(cāng)或無(wú)倉(cāng)的情況下,做空
//交易系統(tǒng)
平空:SELLSHORT(開(kāi)多平空條件,手?jǐn)?shù),MARKET);
平多:SELL(開(kāi)空平多條件,手?jǐn)?shù),MARKET);
開(kāi)多:BUY(開(kāi)多平空條件,手?jǐn)?shù),MARKET);
開(kāi)空:BUYSHORT(開(kāi)空平多條件,手?jǐn)?shù),MARKET);
大家樂(lè)于使用holding的原因是,用此函數(shù)對(duì)于實(shí)現(xiàn)復(fù)雜的加減倉(cāng)策略(如:金字塔式加減倉(cāng)) 就非常方便了。
比如在上面的例子我加入一個(gè)加倉(cāng)條件:
加倉(cāng)條件:=c>mid and holding=1;//當(dāng)最新價(jià)大于中軌,且持一手多單,加倉(cāng)
對(duì)應(yīng)加倉(cāng)的語(yǔ)句:
buy(加倉(cāng)條件,手?jǐn)?shù),matket);
Holding函數(shù)說(shuō)明:
得到當(dāng)前策略虛擬持倉(cāng)量,多倉(cāng)返回正數(shù),空倉(cāng)返回負(fù)數(shù),無(wú)持倉(cāng)返回0。
用法:HOLDING
2、BARSBK、BARSBP、BARSSK、BARSSP在金字塔的實(shí)現(xiàn)
這些函數(shù)金字塔沒(méi)有刻意的去做封裝,而是提供了更自由的方式。普通的可通過(guò)Barslast(X)函數(shù)實(shí)現(xiàn)。
復(fù)雜的,可通過(guò)variable(全局變量)實(shí)現(xiàn)。
以barsbk為例:
可以設(shè)置一個(gè)全局變量variable:a=0;并在代碼最后增加 A:=A+1;
if 開(kāi)多條件 then begin
buy();
a:=0;
end
……
A:=A+1;
那么如何判斷某根K線是上次開(kāi)倉(cāng)到現(xiàn)在的距離呢?
我們來(lái)分析下,每根K線都有一個(gè)A的值,當(dāng)開(kāi)多單后,這個(gè)值被重置為0 并在之后重新計(jì)算。
那么判斷開(kāi)多這根K就可以用下列公式來(lái)判斷
REF(a,1)>0 and a=0 //上一根K的a值大于0 并且 當(dāng)根K線的a值等于0.
這種方式能很靈活的與其他各種條件混用。
Variable是金字塔初級(jí)用戶必學(xué)的一個(gè)技巧,掌握它就能很好的實(shí)現(xiàn)移動(dòng)止損等等模塊。相關(guān)資料請(qǐng)閱讀金字塔的相關(guān)教程,此貼不再贅述。
3、BKPRICE、BPPRICE、SKPRICE、SPPRICE在金字塔的實(shí)現(xiàn)。
金字塔對(duì)于開(kāi)平倉(cāng)價(jià)格 只有2個(gè)函數(shù) enterprice(上次開(kāi)倉(cāng)價(jià))和exitprice(上次平倉(cāng)價(jià))。
策略若需更靈活的使用,請(qǐng)參考variable(全局變量)的使用。
{別忘了將本網(wǎng)告訴您身邊的朋友,向朋友傳達(dá)有用資料,也是一種人情,你朋友會(huì)感謝你的。}
有思路,想編寫(xiě)各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友
可聯(lián)系技術(shù)人員 QQ: 1145508240 進(jìn)行 有償 編寫(xiě)!(不貴!點(diǎn)擊查看價(jià)格!)
相關(guān)文章
-
沒(méi)有相關(guān)內(nèi)容