智匯被動收入工作坊:外匯編程的三個階段

分享

外匯編程的三個階段

上周,有一個朋友說他沽了黃金,定了止損位,但沒有定下只賺位,過了一段時間帳面上已經有浮動的利潤,因為工作太忙的關系,沒有留心多細看。再過了一天,他的倉位全部去到止損位平倉了,心裏非常不爽。並且說如果是程式買賣,結果可能截然不同。其實程式買賣不一定是一個會賺錢的黑盒,一個買賣程式,可能只有十數行的指令,最多的可能會超過數千行的指令,前者和後者的精密程度當然不一樣,而且用的概念和所用的技術指標也可能有差異。

其實製造一個外匯買賣程式,大致上可以分為三個階段:

(1)形成期(Formation Stage):透過觀察或者通過某一些科學理論,並且利用自己認為合理或者有勝出機會的邏輯,再選定可以演繹自己概念的技術指標和時間框架,去做一個雛形。有一個畢業於劍橋大學的物理學博士,並且在對沖基金工作的首席程式設計師曾經說過,程式設計的基本方法就是模式識別(Pattern Recognition),簡單來說就是去捕捉到經常出現的圖形。大 部分程式背後所用的概念和方法都不外乎以下:Trend Following(順勢操作)、Trend Reversal(逆勢操作)、Multi Timeframe Sychronisation(多時間框架同步)、Multi Instrument Sychronisation(多工具同步策略)、Martingale(馬丁策略)、 Mean Reversal(平均值回歸)等等。一般會使用的技術指標會有一個 Momentum Indicator(動能指標),MACD,Stochastics和KDJ都是常用的動能指標,各有利弊,有經驗的編程技術人員還會選用自己研發的動能指標。除了以上,大 部分成功的程式必須要有一個Volatility Indicator(波幅指標),經常使用的波幅指標有ADX、DMI+/- 、ATR、Vortex等等。以上兩種技術指標幾乎是必須有的項目,其餘的技術指標就是按程式背後的邏輯和方法去選定。

(2)測試及確定階段(Testing and Confirmation Stage):當編寫了基本的程式以後,就可以進行測試,一般會有一個基本版,和幾個不同的變種,可能有着不同的設定和過濾方法,例如選用不同的時間框架、不同的金融工具及技術指標的設定等等。有部分編程者會選擇歷史數據回溯測試(Backtesting)去測試程式的可用性。個人認為這方法是絕對行不通,就好像打開答案去答問題一樣。建議用模擬帳戶的實際動態數據去測試才行。如果開倉比較頻密的高頻買賣,當存取了數百個或上千個買賣紀錄之後,樣本數據可能已經勉強足夠,但如果開倉比較稀疏的策略,就可能需要較長的時間去確認。建議把買埋數據上載到MQL4或Myfxbook平台,然後再去閱讀相關的統計數據,就會了解到自己系統的利潤因子、勝出率、槓桿負荷率、資金回徹率、平均勝出和虧損的點數和利潤等等的有用數據,就會推算到自己設計系統的優點和缺點及需要改進的地方。基本上系統在測試的時間段內能夠提供利潤,簡單來說就是利潤因子必須要大於一,就是最低的要求,才可以晉升到下一個階段。

(3)最終確定期(Finalisation Stage):第二階段完成後,並且利用系統的統計數據作出適當的改動和選擇之後,就可以開設真正的現金帳號,開始時可以存入少量的資金去去測試實戰的表現,最低資金要求會因外匯商而異,一般都會在500美金左右。與此同時可以將買賣數據上載到社交買賣平台,例如MQL4或MQL5,甚至乎可以設定為可以付費訂閱的訊號,這樣如果長期下去獲利的情況理想,再加上適當的宣傳,就可以吸納付費的跟單買賣。在MQL4平台上有一個累積了四年不敗紀錄的俄羅斯訊號提供者,他的跟單人數有383人,每月付費在67美元,跟單總額有1,000萬美元,光是月費的收入已經超過20萬港元一個月,算是一個不錯的被動收入。另外有部分的外匯商還會和一些可靠的買賣訊號提供者合作,並提供基金經理人帳號(MAM Account)跟單服務,也是一個另類的選擇,但是收費會比較高一些,好處就是可以直接和訊號提供者聯絡和提出問題。

分享