簡介
我們都知道當(dāng)流動性充分的市場價格運(yùn)動時稳摄,總是呈現(xiàn)出周期性的本質(zhì)室囊,先上漲然后下跌。在長周期時間框架下能夠很清晰的看到這個現(xiàn)象秘噪。價格運(yùn)動具有某種持續(xù)性正是正弦性本質(zhì)的反應(yīng)狸吞。否則將看上去像zigzag:價格在短時間內(nèi)突然的上升和下降運(yùn)動。讓我們試圖找出產(chǎn)生這種現(xiàn)象的原因并且將其運(yùn)用到交易中缆娃。
價格運(yùn)動的開始和持續(xù)
世界上的任何運(yùn)動都可以被運(yùn)動的方向捷绒,加速度和速度所表征。在金融市場中同樣適用贯要。這預(yù)示著一條重要的法則暖侨,那就是強(qiáng)烈的運(yùn)動不會立即停止。就好比一列火車:當(dāng)列車以全速運(yùn)行時踩下剎車崇渗,那么此時的剎車距離可能長達(dá)1公里字逗。
那么趨勢何時開始呢?當(dāng)絕大多數(shù)市場參與者由于某些原因轉(zhuǎn)變他們的觀點(diǎn)時宅广,無論是涉及全球經(jīng)濟(jì)趨勢的改變還是其他一些能影響市場走向的重要因素葫掉。群體性意見形成后那么趨勢就開始了。市場參與者越來越相信價格運(yùn)動會變得越來越強(qiáng)烈跟狱,而且會繼續(xù)下去俭厚。進(jìn)入市場的大玩家交易量巨大,因此價格運(yùn)動會有方向驶臊,加速度和特定速度挪挤。那些在趨勢開始時進(jìn)入的交易者會給市場帶來一個沖擊和速度,并開始盈利关翎。其他后進(jìn)入市場的交易者的價格優(yōu)勢就沒有那么明顯了扛门。和最先進(jìn)入市場的交易者不同,他們試圖利用價格運(yùn)動的方向纵寝。
當(dāng)變化到來時趨勢結(jié)束论寨。但為何價格仍然以其本來方式運(yùn)行?為何不是突然變化爽茴?原因就是那些推動價格往其希望方向運(yùn)動的人開始平倉了葬凳,因此抑制了趨勢。而那些剛剛“駕馭波浪”的交易者仍舊堅信一切都沒變化室奏,甚至是圖繼續(xù)使價格朝原本方向運(yùn)動沮明。這列“列車”不會立即停止。直到它開始向反方向運(yùn)動窍奋,此時趨勢結(jié)束。
如何才能不被這列“列車”碾壓的交易策略
利用價格運(yùn)動獲利的交易思想基于分析當(dāng)前的趨勢深度,例如趨勢的幅度和持續(xù)時間琳袄。
為了給出一個形象的例子江场,我們使用經(jīng)典指標(biāo)RSI?(相對強(qiáng)弱指標(biāo))和AC(加速/減速指標(biāo))。
1. 進(jìn)入市場的條件
我們使用第一個指標(biāo)來表征當(dāng)前價格運(yùn)動的幅度和速度窖逗。
我們通過分級來確定距離和幅度:
圖 1. RSI 震蕩器的水平
價格運(yùn)動幅度的評價標(biāo)準(zhǔn):
40 - 60 區(qū)間被認(rèn)為是平穩(wěn)區(qū)域(震蕩區(qū)域)址否。當(dāng)價格在此區(qū)間時沒有任何趨勢。0代表無顯著趨勢碎紊。
買入?yún)^(qū)間:
60-70 區(qū)間 — 這是可能一個上升趨勢的開始佑附。用1代表。
70-80 區(qū)間 — 上升趨勢更為顯著仗考。運(yùn)動開始加速音同。用2代表。
80-90 區(qū)間 - 運(yùn)動保持原來方向秃嗜。全速運(yùn)行权均。用3代表。
90-100 區(qū)間锅锨。根據(jù)指標(biāo)規(guī)則叽赊,這是一個單邊運(yùn)動,沒有任何回退必搞。非常的少見必指。用4代表這種情況。
用類似的方式來表示賣出的情況:
30-40 區(qū)間恕洲。開始下跌塔橡。用 -1 表示。
Zone 20-30. 運(yùn)動開始加速研侣。用 -2 表示谱邪。
10-20 區(qū)間。穩(wěn)定的下降趨勢庶诡。用 -3 表示惦银。
0-10 區(qū)間。強(qiáng)烈的單邊運(yùn)動區(qū)間末誓。用 -4 表示扯俱。
我們可以用如下的MQL4語言來描述上述場景:
//--- 買doublersi=iRSI(Symbol(),tf,period,PRICE_CLOSE,0);?? index_rsi =0;if(rsi>90.0) index_rsi=4;elseif( rsi >80.0) ?? index_rsi =3;elseif( rsi >70.0) ?? index_rsi =2;elseif( rsi >60.0) ?? index_rsi =1;elseif( rsi <10.0) ?? index_rsi = -4;elseif( rsi <20.0) ?? index_rsi = -3;elseif( rsi <30.0) ?? index_rsi = -2;elseif( rsi <40.0) ?? index_rsi = -1;
我們使用比爾威廉姆斯的AC指標(biāo),來衡量當(dāng)前價格運(yùn)動的速度和加速度喇澡。
圖 2. AC指標(biāo)
衡量速度的標(biāo)準(zhǔn):
增長率迅栅。
首先是比較當(dāng)前和前一個K線。如果當(dāng)前K線超過了前一個晴玖,很可能價格要加速上漲读存。用1表示为流。
其次是比較相鄰的3個柱形(從當(dāng)前到第二個K線)。如果后面每一根K線都超過它前面的K線让簿,我們可以認(rèn)為價格在不斷的加速上漲敬察。用2表示。
類似的可以比較連續(xù)的4根K線尔当,每一個前面的K線增幅都小于后來的K線莲祸。用3表示。
比較最近的連續(xù)5根K線椭迎,如果都是同一個方向锐帜。用4表示。
下跌畜号。
類似的缴阎。比較當(dāng)前K線和前一跟K線。如果當(dāng)前K線比前一個小弄兜,用-1代表药蜻。
比較3根K線,當(dāng)前的都小于前一個替饿。用 -2 表示语泽。
比較4根K線。用 -3 代表视卢。
比較5根K線踱卵。用 -4 代表。
MQL4中實(shí)現(xiàn)如下:
doubleac[];ArrayResize(ac,5);for(inti=0; i<5; i++)??????ac[i]=iAC(Symbol(),tf,i);?? index_ac=0;//--- 買入信號if(ac[0]>ac[1])??????index_ac=1;elseif(ac[0]>ac[1] && ac[1]>ac[2])??????index_ac=2;elseif(ac[0]>ac[1] && ac[1]>ac[2] && ac[2]>ac[3])??????index_ac=3;elseif(ac[0]>ac[1] && ac[1]>ac[2] && ac[2]>ac[3] && ac[3]>ac[4])??????index_ac=4;//--- 賣出信號elseif(ac[0]
如果我們得到了運(yùn)動幅度表示值并且知道運(yùn)動速度据过,就能夠?qū)θ雸鰲l件進(jìn)行設(shè)定了惋砂。?
入場條件有:
//--- 買入信號if(index_rsi==1&& index_ac>=1)//潛在的多頭運(yùn)動if(index_rsi==2&& index_ac>=1)//弱的多頭運(yùn)動if(index_rsi==3&& index_ac==1)//弱的多頭運(yùn)動if(index_rsi==3&& index_ac>=2)//適度的多頭運(yùn)動if(index_rsi==4&& index_ac>=1)//強(qiáng)烈的多頭運(yùn)動//--- 賣出信號??if(index_rsi==-1&& index_ac<=-1)//潛在的空頭運(yùn)動if(index_rsi==-2&& index_ac<=-1)//弱的空頭運(yùn)動if(index_rsi==-3&& index_ac==-1)//弱的空頭運(yùn)動if(index_rsi==-3&& index_ac<=-2)//適度的空頭運(yùn)動if(index_rsi==-4&& index_ac<=-1)//強(qiáng)烈的空頭運(yùn)動//--- flatif(index_rsi==0)
2. 出場條件
我們已經(jīng)定義并對入場參數(shù)進(jìn)行了分類。接下來將通過如下分析來解釋出場條件是如何形成的绳锅。
打個比方西饵,想象成像孩子的玩具橡膠球。現(xiàn)在讓我們想象一下如果從很高的地方將這個球扔進(jìn)水里會發(fā)生什么鳞芙。首先它會下降并且由于重力加速度的原因加速下降眷柔。然后它撞向水面。但是它有足夠的速度沉入水底一定深度原朝,直到出現(xiàn)反向速度驯嘱。受到?阿基米德定律影響,它會浮出水面喳坠。
現(xiàn)在我們仔細(xì)分析下這個例子:
你已經(jīng)直到這個球就是價格鞠评。
扔球的人代表啟動趨勢的市場參與者。
引起加速度的重力代表了當(dāng)趨勢出現(xiàn)時參與進(jìn)來的交易者壕鹉。
水代表影響改變價格運(yùn)動方向的重要因素剃幌。
阿基米得定律代表那些啟動趨勢者的平倉操作聋涨。
決定獲利的兩個主要因素如下:
確定球被扔出即買賣的時間。
當(dāng)球落入水里并減速時平倉负乡。
要測定球的下落距離是很難的牛郑,因?yàn)樵诮鹑谑袌鲋形覀兛床坏綊伹虻娜艘约八N覀儍H能看到球的速度和方向敬鬓。
我們已經(jīng)討論了測量價格運(yùn)動幅度和速度的準(zhǔn)則。
現(xiàn)在我們要將其量化:
//--- 下跌反轉(zhuǎn)的可能if(index_rsi>2&& index_ac<0)
當(dāng)價格向上運(yùn)動了很長一段時間笙各,加速度開始減小時(開始反向)钉答。這時趨勢改變就十分可能到來。
//--- 上漲反轉(zhuǎn)的可能if(index_rsi<-2&& index_ac>0)
同給出的例子相似:球已經(jīng)下跌相當(dāng)長一段時間杈抢,但跌入水中并且水的浮力將其推向另一個方向数尿。這預(yù)示著是平倉的時候了。
3. 增強(qiáng)入場和出場的效率
眾所周知惶楼,某些交易指標(biāo)如果使用大周期會更好的反應(yīng)對價格運(yùn)動速度的變化右蹦。但也會出現(xiàn)更多的虛假信號。
另一種辦法就是不將其計算周期變小歼捐,而是追蹤其在不同的時間框架下的表現(xiàn)何陆。
圖 3. 基于RSI 和 AC 信號的不同時間周期下的趨勢。
基于我們的標(biāo)準(zhǔn)及RSI和AC指標(biāo)豹储,圖中清晰的展現(xiàn)了價格的運(yùn)動趨勢贷盲。我們來仔細(xì)觀察下。
M1圖上的運(yùn)動和速度:強(qiáng)烈的運(yùn)動剥扣, AC值為4巩剖,RSI指數(shù)為2。M5圖上的運(yùn)動幅度一樣但是速度為1钠怯。15分鐘圖表上的運(yùn)動類似佳魔,但是沒有短時間框架下的那么明顯。至于30分鐘和1小時圖表晦炊,我們看到30分鐘圖上已經(jīng)出現(xiàn)了一個信號鞠鲜,并且1小時圖上已經(jīng)減速甚至可能出現(xiàn)反轉(zhuǎn)信號。
這個例子給了我們一個綜合結(jié)果:
如果僅僅考慮H1刽锤,我們會下一個賣單等待價格反轉(zhuǎn)镊尺。但是在更短的時間框架上來分析的話,這將是一個假信號并思。
4. 用EA實(shí)現(xiàn)交易策略
EA代碼:
//+------------------------------------------------------------------+//|?????????????????????????????????????????????????????? tester.mq4 |//|????????????????????????????????????????????????Alexander Fedosov |//+------------------------------------------------------------------+#property copyright"Alexander Fedosov"#property strict#include //交易函數(shù)庫//+------------------------------------------------------------------+//| Parameters???????????????????????????????????????????? ? ? ? ? ? |//+------------------------------------------------------------------+inputintSL =40;// 止損inputintTP =70;// 止贏inputboolLot_perm=true;// 根據(jù)帳戶余額確定交易量inputdoublelt=0.01;// 交易量inputdoublerisk =2;// 風(fēng)險庐氮,%inputintslippage=5;// 滑點(diǎn)inputintmagic=2356;// Magic數(shù)字inputintperiod=8;// RSI 指標(biāo)周期inputENUM_TIMEFRAMEStf=PERIOD_CURRENT;// EA運(yùn)行周期intdg,index_rsi,index_ac;trading tr;//+------------------------------------------------------------------+//| EA初始化函數(shù)?? ????????????????? ? ? ? ? ? ? ? ? ? ? ? ? ? ?????? |//+------------------------------------------------------------------+intOnInit()??{//---為交易函數(shù)輔助類確定變量//--- 報錯顯示,默認(rèn)俄語tr.ruErr=true;?? tr.Magic=magic;?? tr.slipag=slippage;?? tr.Lot_const=Lot_perm;?? tr.Lot=lt;?? tr.Risk=risk;//--- 嘗試次數(shù)tr.NumTry=5;//--- 確定當(dāng)前圖表的報價位數(shù)dg=tr.Dig();return(INIT_SUCCEEDED);??}//+------------------------------------------------------------------+//| 主函數(shù)???????????????????????? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |//+------------------------------------------------------------------+voidOnTick()??{?? depth_trend();?? speed_ac();//--- 偵測未平倉訂單if(OrdersTotal()<1)???? {//--- 偵測買入條件if(Buy())???????? tr.OpnOrd(OP_BUY,tr.Lots(),Ask,SL*dg,TP*dg);//---偵測賣出條件if(Sell())???????? tr.OpnOrd(OP_SELL,tr.Lots(),Bid,SL*dg,TP*dg);???? }//--- 有未平倉訂單嗎宋彼?if(OrdersTotal()>0)???? {//---偵測到如果滿足平倉條件則平倉賣單弄砍。if(Sell_close())???????? tr.ClosePosAll(OP_SELL);//---偵測到如果滿足平倉條件則平倉買單仙畦。if(Buy_close())???????? tr.ClosePosAll(OP_BUY);???? }??}//+------------------------------------------------------------------+//| 確定趨勢幅度的函數(shù)????? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? |//+------------------------------------------------------------------+voiddepth_trend()??{//--- 買doublersi=iRSI(Symbol(),tf,period,PRICE_CLOSE,0);?? index_rsi =0;if(rsi>90.0) index_rsi=4;elseif(rsi>80.0)??????index_rsi=3;elseif(rsi>70.0)??????index_rsi=2;elseif(rsi>60.0)??????index_rsi=1;elseif(rsi<10.0)??????index_rsi=-4;elseif(rsi<20.0)??????index_rsi=-3;elseif(rsi<30.0)??????index_rsi=-2;elseif(rsi<40.0)??????index_rsi=-1;??}//+------------------------------------------------------------------+//| 確定趨勢速度的函數(shù)??? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? |//+------------------------------------------------------------------+voidspeed_ac()??{doubleac[];ArrayResize(ac,5);for(inti=0; i<5; i++)??????ac[i]=iAC(Symbol(),tf,i);?? index_ac=0;//--- 買入信號if(ac[0]>ac[1])??????index_ac=1;elseif(ac[0]>ac[1] && ac[1]>ac[2])??????index_ac=2;elseif(ac[0]>ac[1] && ac[1]>ac[2] && ac[2]>ac[3])??????index_ac=3;elseif(ac[0]>ac[1] && ac[1]>ac[2] && ac[2]>ac[3] && ac[3]>ac[4])??????index_ac=4;//--- 賣出信號elseif(ac[0]=1) || (index_rsi==3&& index_ac==1))??????res=true;return(res);??}//+------------------------------------------------------------------+//| 偵測賣出條件的函數(shù)??????????? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|//+------------------------------------------------------------------+boolSell()??{boolres=false;if((index_rsi==-2&& index_ac<=-1) || (index_rsi==-3&& index_ac==-1))??????res=true;return(res);??}//+------------------------------------------------------------------+//| 偵測買單平倉條件的函數(shù)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |//+------------------------------------------------------------------+boolBuy_close()??{boolres=false;if(index_rsi>2&& index_ac<0)??????res=true;return(res);??}//+------------------------------------------------------------------+//| 偵測賣單平倉條件的函數(shù)???? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? |//+------------------------------------------------------------------+boolSell_close()??{boolres=false;if(index_rsi<-2&& index_ac>0)??????res=true;return(res);??}
我們僅使用兩個參數(shù)對策略進(jìn)行略微優(yōu)化:tf?(時間周期)和period?(RSI指標(biāo)周期)。
在M15上得到如下結(jié)果:
圖 4. EA歷史數(shù)據(jù)回測結(jié)果
注意音婶!這僅僅是測試版慨畸。我們不建議將它用于測試和實(shí)盤交易。
總結(jié)
由于不可能預(yù)測市場行為衣式,確定趨勢的開始和結(jié)束對于全球交易者來說都是一件復(fù)雜的事情寸士。
但是確定當(dāng)前趨勢的入場和出場時間來賺取可觀的利潤卻是完全可能做到的。在這種情況下確定和動態(tài)追蹤價格運(yùn)動的速度我們的方法是適用的碴卧。
祝你交易成功弱卡。