您现在的位置: 比特财富网 >> 财经 >  >> 外匯
八款知名加碼對沖EA的策略評價
外_匯_邦 WaiHuiBang.com

“Martingale是純粹的惡魔,它會吞噬掉你所擁有的一切!”,多年來,這是人們對Martingale的一致看法。www.emoneybtc.comMartingale的使用導致了逆勢,重倉,無止損,與經典的外匯投資理念的“順勢、輕倉、止損” 是完全對立的。它像一枚隨時會爆炸的定時zhadan一樣,讓投資者無法安枕。

 

然而,還是有不少人對此表現出熱切的興趣。多半是茫然無知的初學者,也有少數是精通數學及編程的技術狂人,在一片罵聲中,Martingale EA還是逐漸浮現到了市場的前台。

 

10Point3

 

比較早的Martingale EA可以追溯到一款叫10point3 的EA。它在2006年8月就出現在Forex-TSD的論壇上,至今已達到470頁討論,4700多條留言,算得上一個人氣火爆的老貼了。

 

這款EA的原始版本代碼比較簡潔,是一款單向度的Martingale(即不能買賣同時開倉)。內置的加倉規則為:如果MaxTrade(最大加倉層數)設為12層以下,翻倍加倉;設為12層以上,加倉數為前一訂單的1.5倍。內置了MACD指標判斷方向,當14期MACD當前柱大於前一柱值時,開倉方向為多;反之,開倉方向為空,該判斷只適用於第一個訂單,一旦訂單開出,就只按同一個方向開倉,直到全部平倉。 雖然這只是一款初級形態的Martingale EA,但仍有幾點可取之處:

 

(1)設置了ReverseCondition參數,可以人為改變開倉方向。當ReverseCondition 設為1時,原來的做多方向變為做空,原來做空的方向變為做多,當然,這也只適用於第一個訂單;

   

(2)設置了賬戶保護,當AccountProtection設為1時,可以設置訂單保護的范圍,當訂單超過這個范圍後,可以對最後一個訂單單獨平倉(但回測這一功能似乎沒發揮作用);

   

(3)可以給每個訂單設定止損,當然,通常這種設置很難實現盈利,但也避免了人們诟病的“爆倉”問題。

 

10Point3對Martingale EA起到了一定的引領和推動作用。許多人在這個基礎上進行修改參數、增加功能的嘗試,使10Point3滋生出許多變異的版本。

 

Swb Grid

 

與10Point3如出一轍的是Swb Grid。以4.1版本為例,它與10Point3一樣,是一款單向度的Martingale,向一個方向逆勢加倉,在達到利潤目標後全部訂單同時平倉。它與10Point3明顯不同是:10point3用MACD作為首單過濾指標,選擇順勢方向入場,入場後價格逆勢再用Martingale解套;而Swb Grid首單過濾指標使用的是BBand、RSI及Stoch,主動選擇以逆勢方向入場。入場之後,按設定的距離逆勢加倉,不再使用過濾指標,否則加倉距離會被放大,錯過很多寶貴的回調平倉機會。Swb Grid可以設置加倉的倍數,默認為2;也可以選擇按照某一固定數加倉,如每次加倉0.01。開倉時每張訂單可以設置止損和止贏; 如果選擇stealth_mode=true模式開倉(即隱身模式,避免平台商進行後台操控),則以市價單模式開倉; 如果選擇stealth_mode=false,則一次性將全部level內的訂單以限價單的形式全部開出。同時,鑒於星期五開倉面臨持倉過周末的危險,該EA還設置了“星期五開倉限制”;另外,該EA還設置了“單日盈利限制”,實現設定的單日盈利目標後,EA不再開倉。

 

Blessing

 

Blessing致力於對傳統的Martingale方法進行某些突破。從其2.5版本中,我們發現了這種努力的方向:(1)實現資金分散策略。Blessing似乎意識到Martingale EA將全部資金運用於單種貨幣的風險,有意設置了將資金分成部分來管理,一個貨幣對可以獲得其設定的一份資金。比如,如果10000美金的帳戶,如果將其Portion設置為5, 該EA就將其管理的資金限定在2000美元, 再以此為基礎來計算資金管理方式,風險似乎小了很多;(2)進行自動的倉位計算,即在使用資金管理設置為true的時候,程序會跟據分配的資金來計算開倉手數;(3)自動計算網格距離,其計算方法是以ATR值為基礎,默認設置為日線圖21期ATR值;(4)自動判斷市場方向與人工強制做單方向相結合,當其MCbyMA設定為true時, 可以用MA來判斷市場的走勢, 從而決定首單的開倉方向;當MCbyMA設定為false時, 可以人工強制做單方向, 即MC=0 為做多, MC=1 為做空, MC=2為多/空皆可;默認的MC值為2。(5)長短網格相結合。Blessing似乎看到了傳統以短線網格為主的Martingale EA 雖然解套快,但加倉速度過快、逆勢硬扛的距離太短的毛病,想把其做成一個結合中、長線的Martingale。這從其默認的參數設置就可以看出來:它將網格分成三個級別,每一個級別裡可以設置最大訂單數量、網格距離和止盈點數。第一級別的網格距離設置為25,止盈點數為50,訂單數量為4;第二級別的網格距離設置為50,止盈點數為100,訂單數量為4;第三級別的網格距離設置為100,止盈點數為150,訂單數量為總共最大訂單數減去第一、第二級別的訂單數量。可見,第一級別的網格為短線網格,如果訂單在這一級別沒有實現全部平倉,往往意味著市場出現了更加長的趨勢,訂單進入第二級別,使用更大的網格距離來等待市場更大的回調,第二級別的網格可以看成是中線網格;如果第二級別仍然沒有實現盈利並全部平倉,訂單就進入第三級別,為等待市場更大的回調,其設置的網格距離就更大,可以看成是長線網格。 當然,把短線的訂單浮虧帶入長線,賬戶的整體浮虧程度肯定是大大增加了。(6)運用UsePowerOutSL 參數來設定一個遠距離的止損,以防止由於斷電、斷網或其他原因遭遇市場突然大幅波動無法止損出局。

 

Blessing到了3.0以上的版本後,其源代碼幾乎完全改變,復雜程度大大增加,但依然沿襲諸多了Blessing 2的開發思路。以3.8版本為例,可以看到其還在堅持Blessing 2中的資金分配策略、長中短線結合策略、人工設置市場方向策略等。Blessing 3明顯的改進體現在:(1)舒適而詳盡的界面顯示,將各種交易信息顯示得一清二楚;(2)更多的過濾設置,Blessing 3 可以選擇單獨或合並使用MA、CCI、BB_Stoch來作為首單入場的過濾器;(3)多貨幣對沖功能,允許在浮虧或開倉數量達到一定程度後,選擇一個其他貨幣對,當該貨幣對的Correlation 值(即貨幣相關性值,從-100到100)達到設定水平時,交易該貨幣對,達到風險對沖的目的;(4)去除最早的訂單,由此來減少賬戶的浮虧;同時,可以將平倉產生的損失點數加在後面訂單的利潤目標上,以此來彌補該損失;(5)使用了提前平倉(Early Exist)功能,對於那些開單時間過長的訂單或者開出的過多訂單,可以通過減少盈利目標來使其早平倉。(6)更豐富的智能網格計算功能,除了沿用Blessing 2 的ATR值自動計算網格外,還采用了以RSI值與RSI_MA值作為過濾的SmartGrid設置。當然,Blessing 3還增加了眾多的平台適用性功能,使其適用於各種不同平台。然而,由於功能的龐雜,掌握使用Blessing 3變成了一件高難度的事情。

 

OM_2Way

 

這款EA值得一提的倒不是其影響有多大,而是在策略上也有所創新。它也算一款“單向度”的Martingale,其首單開倉的位置過濾器為:當前時間框架下離700期均線60點的位置(默認,可以人工設置)。如果在700期均線下方60點的地方,則做多;在700期上方60點的地方,則做空。這一過濾器的用意很顯然:在偏離均線較遠的地方,價格回調的幾率更大,逆勢行走的距離會很短,從而使回調盈利的概率增大,風險減小。這算不上是該款EA獨到的地方。該款EA采用了“部分平倉”的策略,即將部分盈利單與部分虧損單對沖,獲取少許利潤,而不是等到價格回調到賬戶整體盈利的時候全部平倉。這種策略在以往的Martingale EA中很少見到,是其新穎之處。這種“部分平倉”的策略可以抓住市場最小的回調機會來減輕倉位,降低風險;當然,也有可能會“操之過急”,失去了全部平倉的機會,為將來留下後患。但總體上說來,這種策略會將浮虧控制得更好,其承受市場風險的能力要強一些。

    

OM_2Way在“部分平倉”的策略中,一般用已盈利的一個或兩個訂單,去對沖虧損最多的訂單,對沖後的利潤就是一次交易的盈利。比起“全部平倉”的策略來,這會增加開倉次數和交易次數,盈利速度會有所提高。值得注意的是OM_2Way確定下一訂單的倉位不是從起始倉位開始計算,而是以“最後一個訂單”的倉位,再加上隨訂單數量而增加的持倉量來計算,這樣會導致,盡管盤面上的訂單數量並不多,但由於“最後一個訂單”的倉位很大,賬戶總體持倉量偏大的情形。

 

BK’s Grid EA Hybrid

 

這款EA之所以值得關注,是因為它改變了過去Martingale  EA“單向度”的策略,發展出了“雙向度”的Martingale。所謂“雙向度”,就是多、空同時開倉,各自按照設定的Martingale 策略開倉、平倉,或者根據整體策略交叉平倉或全部平倉。雙向度Martingale最大的優點就是其盈利的速度大大加強,通過賬戶余額的快速增長來對沖和降低風險。Hybrid實行的是做多與做空分別平倉,在下單後,EA分別計算出做多、做空訂單的平均價格,再加上設定的利潤目標,分別將所有多單止盈線和空單止盈線,通過同時止盈的方式來實現多單全部平倉或空單全部平倉。

 

此外,Hybrid的倉位計算及網格距離的計算也與一般的Martingale EA有很大的不同。網格的距離不是完全固定的人工設置,也不是基於指標的自動計算,而是在計算中融入了持倉總量的因素,也就是說,在持倉總量增加的時候,其網格密度會縮小,以此來盡可能的減小平倉所需的回調距離;在計算下一訂單的倉位時,又融入了網格距離的因素,即當設定的“最小網格距離”(MinGridSize)越大時,其倉位的遞增速度越小。這種“距離與倉位”交融的策略在一般Martingale EA中是很難見到的,或許這是其被稱為Hybrid(混血)的原因。但這種策略給使用的設置及變換帶來一定難度,必須要在理解源代碼基礎上,通過反復的回測檢驗,才能找到合適的參數設置。

 

PipMaker

 

PipMaker堪稱“雙向度”EA的佼佼者。不過,這只是對於15.0以前的版本而言。從15.0以後,由於改編者與原作者並非同一人,改編後的PipMaker 交易策略發生重大變化,從一款“雙向度”的Martingale EA變回到“單向度”的EA,甚至成了一款剝頭皮的EA了。因此,我們在此僅以10.0版本為例子探討其策略。

 

PipMaker 10.0與OM_2Way一樣,堅持“部分平倉”的理念,讓盈利單去對沖最遠端得虧損單,而不使用賬戶“全部平倉”。與Hybrid相比,它除了具備Hybrid的多、空“分別平倉”的功能,還具備了多、空“交叉平倉”的功能,把Martingale EA的策略進一步深化了。簡單地說,其策略就是:根據設置同時做多與做空,以多、空訂單組成的網格中心線為界,當價格處在中心線以上時,市場被看作上升趨勢,以中心線以下最底端的訂單為對沖目標(多數時候為虧損的賣單,有時也會是盈利的買單),用已經盈利的買單或已經盈利的賣單來與其對沖,獲取目標利潤;當價格處在中心線以下時,市場被看作下降趨勢,以中心線以上最頂端的訂單為對沖目標(多數時候為虧損的買單,有時也會是盈利的賣單),用已經盈利的買單或者已經盈利的賣單來與其對沖,獲取目標利潤。

 

PipMaker的這種策略,實際上發展出了四種對沖平倉方式:多(虧)-多(盈)對沖,空(虧)-空(盈)對沖,多(虧)-空(盈)對沖, 空(虧)-多(盈)對沖。也就是說,當一個訂單走錯方向使,除了可以在市場回調時被同向的訂單“挽救”以外,還可以在市場繼續向前時,被反向的訂單“挽救”。這樣一來,賬戶整體的風險必然大大下降。

 

實際檢測的結果也是如此。PipMaker 開出的多、空訂單,就像會移動的網格,隨著價格的變動而不停的變動邊界。這樣一來,即使趨勢行情來臨,價格走出上千點,PipMarker絕不會也拉出千點的網格來坐以待斃,而是不停地平掉一部分反向訂單,追隨價格前進。當然,最終追隨的效果還是取決於趨勢強弱的程度和與之相關的參數設置。如果趨勢太猛、太強或參數設置不當,反向訂單的平倉速度遠遠跟不上,“套牢”的程度也會很深。

 

凡事有利必有弊。PipMaker 這種交叉平倉的策略,在市場小幅震蕩的時候可謂如魚得水;在市場出現大趨勢時,PipMaker 雖因其浮虧緩慢而不會對“暴倉”倍感恐懼,然而,隨著“套牢”程度的加深,PipMaker會明顯減少開倉和平倉獲利的機會,盈利能力大大下降。而且,其“解套”也不如一般的Martingale EA來得干淨利落,要把套牢的單子一單單解掉, 往往需要市場經過多次反復震蕩。或許是因為這個原因,後來的改編者干脆將其核心的策略刪改得一干二淨,增加了一些所謂“過濾器”設置,如MA, CCI,Fish,  ARSI等,用以作為開倉過濾, 把一款以“平倉策略”見長的EA,變成了一款以“開倉策略”多樣化的“大路貨”Martingale 了,讓人頗感遺憾。

 

ForexHacked

 

誰會想到曾被“人人喊打”的Martingale EA 還會有商業的市場呢?ForexHacked 向人們證實了這一點: Martingale絕不是一個小范圍交流的私人空間,它有著廣闊的大眾市場。作為商業軟件,以Martingale為核心策略的EA的出現或許有著更深刻的背景:市場環境變得越來越“Ranging”,傳統的交易理念越來越無法適應市場。以2.3版本為例,作為一款雙向度的Martingale EA,看不出其與Hybrid有本質的區別,但它的距離、倉位、盈利目標的設置比Hybrid明晰多了。ForexHacked還設置了時間過濾器,這也是商業軟件的普遍做法,用以選擇有利交易時間,排除不利的交易時間,降低風險;此外,ForexHacked還可以自行設置Martingale的啟動層數,在未達到啟動層數以前,訂單都將使用設定的初始倉位,不順次加倉,要等達到啟動層數之後再開始加倉,這樣可以在一定程度上延展EA逆勢前行的距離。另外,ForexHacked也嘗試開出對沖倉位,來對沖由於逆勢倉位過多造成的浮虧,等待市場的回調。不過,這一策略目前在測試中尚未得到成功的印證。

 

順便一提的是,與ForexHacked師出同門的ForexEnvy(也是商業軟件)無論在策略上還是在代碼風格上都有著明顯的雷同之處。ForexEnvy的最大優點是所有訂單的距離和倉位都可以單獨自由設置,從而具有了更大的靈活性。

 

Indo Run

 

Martingale EA從誕生後幾乎就是沿著一條復雜化的道路發展:為了解決“爆倉”問題,開發者不得不絞盡腦汁的想出各種過濾方法以及資金管理手段。Indo Run把這種復雜化推向了極致:它的外部設置參數就多達近200項,要理解和掌握它確實很有難度。不過,大略觀察,Indo Run主要發展了各種過濾技術:(1)時間過濾器,包括星期一至五的交易日過濾, 交易小時過濾,交易時段(即亞洲盤、歐洲盤、美洲盤)過濾,非農之日過濾,非農後第一星期日過濾等等;(2)新聞過濾器,可以根據新聞發生時間、影響程度及被影響的貨幣進行選擇交易;(3)指標過濾器,使用了ATR、CCI、Momentum、RSI、MA、Envelop等多種指標進行入場過濾。其默認的設置為等值加倉,不過,也有Martingale設置的選項。有趣的是,該EA還有一項設置,在資金每增長1萬元後自動將倉位加倍;另外一項設置可在亞洲時段將倉位加倍,考慮到亞洲時段市場波動較小。其盈利模式也有好幾種,第一種是采用全部訂單固定金額盈利,在該模式下,每次平倉盈利的金額為固定值,與倉位的多少無關;第二種是遞減盈利模式,在該模式下,隨著倉位的增加,盈利目標將減少,以盡快平倉降低風險;第三種是根據ATR值來計算盈利,ATR值大則增大盈利目標,ATR值小則降低盈利目標。此外還有一些追蹤止盈和保平的方法。Indo Run也是屬於單向度交易的Martingale EA,通常采用限價單的方式入場,交易同一方向的貨幣籃子。不過,獨到的是,Indo Run可以同時交易兩個到三個貨幣籃子,這些訂單設置有不同的MagicNumber,用同一款EA來進行管理,這是過去所有的EA中不曾用到的技術。總之,這款以復雜、深奧為特點的EA,雖然在一定程度上綜合了過往Martingale EA的技術,並有所創新,但也最終不能解決“爆倉”問題,只有在完全了解和掌握其用法並謹慎使用的情況下,才能把風險控制到最低。 

 

總結對Martingale的看法

 

在介紹了這麼多款知名的Martingale EA後,或許您會失望:沒有一款EA真正解決了人們擔心的“爆倉”問題!那麼,Martingale是不是不能用,研究Martingale是否還有價值?

 

我的看法是:Martingale EA 的宿命就是“爆倉”,這一點過去、現在和未來都不會改變。就像人的宿命就是死亡一樣。但人要死亡,並不妨礙人可以活得很精彩。同樣,盡管Martingale的宿命就是爆倉,但一樣可以好好利用,用得好,照樣可以賺錢。Martingale EA 爆倉是一種必然,但何時、何地爆倉,又有一定的偶然性,與參數設置、入場位置等有很大的關系,這一點可以為我們所利用。

 

當前Martingale EA從台下走到台面,從民間走向商業,正是市場環境變化的結果。記得一位投資大師回憶他年輕時代的市場環境的時候說:當時市場沒有那麼多波動,上漲就是持續的上漲,下跌就是持續的下跌。再來看看我們今天的外匯市場,可以說完全是兩重天。現在的外匯市場幾乎很難見到持續、明顯、穩定的趨勢了,幾乎全部被震蕩和“震蕩型趨勢”所取代。而震蕩和震蕩型趨勢,恰恰就是Martingale EA的天堂(也就是傳統交易方法的地獄),難怪那些商業Martingale EA開始走紅了!

 

很多人說:“Martingale 結合好的資金管理,可以戰勝市場”。這話有一定道理,但似是而非。資金管理可以幫助Martingale 在市場上多存活一些日子,但無法戰勝市場。除了資金管理,其他的技術也非常重要。今天的Martingale,已經不是人們想象中的那種盲目加碼的機器狂人了,而是融入了更多的智能因素。這些因素在前面介紹的EA中均有所體現,比如:(1)限制加倉速度和總倉位;(2)多、空雙向對沖;(3)多貨幣對沖;(4)部分倉位平倉或止損;(5)減少盈利目標或追蹤止盈;(6)結合人工趨勢判斷;(7)信號過濾及交易時段過濾;(8)資金分倉管理;(9)智能網格設置;(10)交易策略對沖;等等。

 

筆者認為,Martingale EA雖然注定要爆倉,但Martingale的策略卻可以發揮作用,這並不矛盾。這其中一項關鍵的技術,就是要進行綜合的資金管理和調配,從概率上取得對市場的優勢,而不是一般意義上的“資金管理”。

 

比如說,對一個10萬元資金的賬戶,用Martingale EA來進行交易,按每個月10%的盈利率算,需要10個月時間(不進行復利交易),才能賺取一倍的利潤,將這一倍的利潤全部提取後,就可保本,脫離風險。因此,只有在10個月的交易期間內,不發生任何“極端行情”,才可以真正盈利,否則,就會發生虧損。在目前的市場狀況下,這個條件不算苛刻,但也不算容易,在概率上看不出有明顯的優勢。

 

但是,如果將這個10萬元資金的賬戶分拆為A、B兩個賬戶,各自用一款Martingale EA來交易,要求是:A、B兩個賬戶在交易方向上必須完全相反。這樣,在發生“極端行情”時,只會有一個賬戶發生爆倉,另一個賬戶會照常盈利,虧損率為50%。如果按每個月10%的盈利率來計算,只要之前連續盈利5個月,並把利潤全部提取出來,就可保本,脫離風險。相比起前面的條件來說,這要容易多了。

 

再如果,我們將上述10萬元資金拆分成A、B、C、D四個賬戶,分別用兩款Martingale EA來交易,其中A、B兩個賬戶的交易方向相同,但設置的參數不同以及入場點不同;C、D兩個賬戶的交易方向與A、B兩個賬戶都是相反,但各自設置的參數以及入場點也不同。這樣,在發生“極端行情”的情況下,A、B或者C、D賬戶會面臨威脅。但是,由於參數設置及入場點的不同,在實踐中通常會有不低於50%的“存活率”。因此,真正爆倉的只是其中的一個賬戶。風險降低為25%。也就是說,按照每月10%的盈利率,只要之前兩個半月沒有出現“極端行情”,就可以保本並盈利了。這在目前的市場狀態下,明顯具有概率上的優勢,盈利前景好得多了。

 

也許有人說,每個月10%的盈利率,對Martingale EA來說,目標太高,會放大風險。這就涉及到一個“資金調配”的問題。我們都很知道,Martingale EA在大部分時候,由於其起始倉位很小,浮虧率非常低,資金利用率也很低。倉位裡准備足夠的資金,是為了防備“極端行情”的。為防備“極端行情”一直讓賬戶資金閒置,大大的降低了Martingale EA的盈利率。因此,對於具備條件的交易者,完全可以合理的調配資金,在浮虧率極低的情況下,將部分資金用於其他的交易策略(如剝頭皮、趨勢追蹤、套利等);在極端行情來臨、浮虧增大的時候,把這些資金調回來,通過減少資金占用的方式來提高盈利率,這種方法應該優於以增加倉位頭寸或網格密度來提高盈利率的方法。

 

當然,真正要將Martingale用好,還是要結合人工趨勢判斷,適時進行參數調整,以適應市場的變化,減少“爆倉”的概率,提高在“極端行情”下的 “存活率”。總之,Martingale的“爆倉”並不可怕,只要這種“爆倉”發生的頻率和發生的概率是在限定的范圍內,其造成的損失遠遠低於在適宜交易期間的盈利所得,Martingale的策略是可以持續盈利的。

外_匯_邦 WaiHuiBang.com
  風險提示:比特財富網的各種信息資料僅供參考,不構成任何投資建議,不對任何交易提供任何擔保,亦不構成任何邀約,不作為任何法律文件,投資人據此進行投資交易而產生的後果請自行承擔,本網站不承擔任何責任,理財有風險,投資需謹慎。
比特財富網 版權所有 © www.emoneybtc.com