Google Analytics

顯示具有 mt4 標籤的文章。 顯示所有文章
顯示具有 mt4 標籤的文章。 顯示所有文章

2015年10月3日 星期六

外匯交易回測分享(2) - 狙擊手交易

資深CBOT期貨炒家George Angell 在其著作<<狙擊手操作>>(Sniper Trading)中提出.
策略認為市場不時被人為拉低製造買進機會 , 或拉高製造沽出機會, 藉辨認機率較高的支持及阻力點來增加勝算 .適用於日內交易(3日周期支撐及阻力), 改良後延伸至短期(5日周期市場強度及振盪指標)

LSS 認為市場走勢存在一種3日周期(買進日, 賣出日, 放空日), 在買進日, 低點先出現在前一交易日低點附近 , 然後市場上揚. 在賣出日, 在前一天(買進日)高位交投活躍 , 第三日(放空日), 高點先出現 , 然後下滑, 直至有資金進場承接.
LSS 賣出封套:
1. 上漲值(rally number) : L+ 過去3日平均(今日高點一昨日低點 )
2. 買進高值(Buy High number): H + 過去3日平均(今日高點一昨日高點):
3. 今日高點
4. LSS 軸點突破買進值(BSN) :
          X := (H + L +C)/3
       BSN : = 2*X – L
預期明日賣出值 = 1 + 2 +3+4)/4

LSS 買進封套:
1. 下跌值(average decline number) : H - 過去3日平均(昨日高點一今日低點 )
2. 買進低值(buying under number): L - 過去3日平均(昨日低點一今日低點):
3. 今日低點
4. LSS 軸點突破賣出值(BBN) :
          X := (H + L +C)/3
       BBN : = 2*X – H
預期明日買進值 = (1 + 2+3+4)/4

預期明日賣出值 -預期明日買進值 = 預期明日交易區間
如突破區間預期走出趨勢
實驗證明, 區間日內交易比突破交易發生更多, 也獲利更多, 尤以高位區間沽空發生次數最多

2015年10月2日 星期五

外匯交易回測分享(1) - 每周交易日

近月都忙於舉辦一個有關外匯程式交易的課程,在此分享一下部分測試成果.

在Bill Williams的短線交易秘訣(Long Term Secrets to Short-Term Trading)一書有提及一周交易日的概念(Trade Day of the Week).就是只在一周中某一天交易, 可以是開盤沽空, 收盤平倉, 又或開盤買進, 收盤平倉.複雜一點的可以是跟據昨天高低位算出關鍵價位等突破後再行動.

簡單的測試在Excel中已可以做到.從MT4下載每日數據. 測試期間2014.1.1 - 2015.8.25, 測試標的歐元兌美元

星期 : 開盤買進 開盤沽出 (千點)
Mon :  80.05 , -80.05
Tue : -67.82 , 67.82
Wed : -17.67 , 17.67
Thu : -78.18 , 78.18
Fri : -112.77, 112.77

可見開盤做多, 以周一累勝較多,開盤放空, 以周五累勝較多

星期 : 開盤買進 開盤沽出 (次數)
Mon :  48(55.81%) , 38(44.19%)
Tue : 38(44.19%), 48(55.81%)
Wed : 40(47.06%) , 45(52.94%)
Thu : 38(45.78%) , 45(54.22%)
Fri : 37(43.02%) , 49(56.97%)


可見開盤做多, 以周一勝算較高,開盤放空, 以周五勝算較高, 周三勝負差距較窄,除周一外, 其餘日子以開盤做空勝算較高

2015年7月27日 星期一

MT4/Metastock程式交易應用(1) - 外匯趨勢跟隨系統(2)

以下課程暫定9月10日(周四)晚上11 - 12pm 網上教學


以日為周期, 以不同趨勢指標開發交易系統

以MT4及Metastock平台示範開發及測試/優化技巧

評估結果

指標: MACD , 一目均衡(ichimoku)

費用 : 每位HKD 350 (包括MT4及Metastock 程式檔)



費用需最遲於9月4日晚上9時或之前轉帳至HSBC A/C  491-203493-833 並電郵通知

MT4/Metastock程式交易應用(1) - 外匯趨勢跟隨系統(1)

以下課程暫定8月27日(周四)晚上11 - 12pm 網上教學


以日為周期, 以不同趨勢指標開發交易系統

以MT4及Metastock平台示範開發及測試/優化技巧

評估結果

指標: 移動平均組合




費用 : 每位HKD 250 (包括MT4及Metastock 程式檔)



費用需最遲於8月20日晚上9時或之前轉帳至HSBC A/C  491-203493-833 並電郵通知

MT4程式交易編程初階(1)

以下課程暫定8月18日(周二)晚上11 - 12pm 網上教學

MT4平台使用技巧
-  介紹MT4 交易平台主要功能
-  示範下單, 數據看盤和分析, MQL4簡介等
-  實例解釋

費用 : 每位HKD 80

費用需最遲於8月12日晚上9時或之前轉帳至HSBC A/C  491-203493-833 並電郵通知

2015年2月15日 星期日

如何以MT4炒賣期指

如何以MT4炒賣港股後, 大概有讀者認為 , 示範中股票從Google/Yahoo 中獲取價位 , 但我是炒期指/期貨, 又或是我有其他更精確的價位源, MT4 能否離線讀入我的數據來測試? 答案是肯定的.

筆者就以從3x.com.tw 網站下載及整理過的期指HSIX 1分鐘數據為例, 透過將其再整理成特定格式的CSV檔即可被MT4 腳本接入 , 從而可以利用不少MT4社區資源測試炒賣策略.


要開發MT4必須多看多寫多Google , 因為MT4的某些轉變和限制並沒有好好的記載, 靠用戶間互相分享較易發現及處理問題, 另外多觀察別人的策略實現也有助自己能力的提升, 而MT4程式的寫作方式亦跟不少熱門功能較強的分析軟件近似, 對跨平台策略開發有幫助.

再進一步, 有人會問, 那麼如果自己有數據源 (e.g. SP Trader , DDE ..) 是否可以即市導入來炒賣? 要完全實時,那是沒有(因沒證券商那樣做), 但接近實時的, 那倒有方法 , 其實原理也跟之前筆者示範用SP Trader API接入 Amibroker 差不多.

這也是Amibroker / MT4 以至Multicharts等比Metastock 較優的地方之一, 就是開發的靈活性, 這除了本身的一些功能分別外, 最重要是他們都提供了開放的DLL 接口, 以及幫助編程的工具, 這點為何Metastock 沒大發展的筆者也是抓頭 (當然還有他們獨特的檔案系統格式). 不過話說回來, 懂得用這些接口的, 編程功力也有一定程度, 也不見得每個炒家都是有那麼多要求, 所以Metastock 還是有他的市場 (其實Metastock 也有一些熱心人士開發的DLL放在他們的論壇, 其中一個Set Global Variable 和Latch 的就十分好用)

近日有問及Multicharts 接入 SP Trader 的問題, 其實這個問題筆者也收過好幾次. 筆者無用過Multicharts, 不過了解過他的技術文件,以及其他軟件接入的經驗 , 原理上問題不是太大. 起碼跟Metastock 簡單版接入幾可肯定無問題, 不過更好的當然是完全能融入第三方API像SP Trader的功能 . 可以考慮方式當然包括直接在Easy Language 上直Call API, 因為SP Trader 的API 接口看似是C++ 式的, 從論壇上的回應似是有成功的經驗 , 另一個方向是透過Windows API 去傳達信息給SP Trader 下單機去完成及收回回饋. 筆者是較傾向後者的方向, 可以以較少的改動去同時接入其他的軟件.事實上筆者也試過以Excel 發出買賣信號給下單機及接收倉位信息, 信號延誤也是可接受, 相信在其他更有效率的平台該更膀一籌.

2015年2月7日 星期六

如何以MT4炒賣港股

近日公私兩忙, 也積壓了一點有關課程的查詢, 看情況最快也要月底才有課, Excel VBA 及Metastock的都有, 有興趣的可留意更新.

作為一個個體戶, 又要工作, 家庭, 投資 , 分析, 學習, 以及寫作教學, 實在分身不暇.

有看過上一篇博文從EUR/CHF崩盤看後市發展(一), 都知道筆者看好突破的威力及延伸, 推介DAX , 事實亦再一次證明這個最簡單的技術指標的威力, 事後孔明, 從筆者寫稿的1/17後DAX 表現比美股, 日經及上證指數都為佳, 如把時間再推前半個月(醞釀突破), 差別更大.




博客雖說是程式交易, 但筆者過往更多偏向一些應用分析方面, 似乎有點偏離, 今後一段時間將把比重偏回程式相關寫作及工具應用教學及分享.

年多前曾有讀者問及可否以MetaTrader 炒賣港股/期指, 筆者的答案當時是否定的, 主要是香港沒有證券商提供相關的引入 , 時至今日在本港情況亦一樣, 不過近日筆者發現有個內地520FX 的網站(http://www.520fx.com/)表示他們的MT4平台除一般有的OTC產品外, 還可以交易部份內地股票及期貨. 其實如果是算上股票CFD, 之前是已有聽聞有美股CFD的MT4平台, 筆者試下載他們的平台, 發現也只是相關的A股CFD.

雖然在實時交易MT4幫不了什麼, 但是如可以離線匯入真實股票/期貨的數據, 那也是不錯的選擇, 因為MT4免費又功能強大, 又有不少用戶及第三方支援及開源碼. 但如何引進自己的心水股票 , MT4是無公開文件可參考. 情況一如SP Trader 在公佈他們的API前, 開發者只能靠一些"旁門左道"的外掛去連上. 事實上就是用Google搜搜, 也找不到多少. 比較有用的是其中一個內地論壇上的有心人提及他的設定檔格式分析 , 以及數個互相轉載的MT4腳本去修改設定檔及下載價格. 不過老實說, 網上的東西不可盡信, 筆者考證後發現原作者有刻意弄錯的地方, 不過大體思路是無錯, 筆者就以此為基礎弄個港股版示範.


2014年4月16日 星期三

如何學習MT4程式交易(4)

init()完成設定後, 如何畫指標就靠 start()來完成.

在start 初段會見到一個Bars的"變數" , 但細心的讀者會發現這個"變數"並沒有設定過, 其實這個變數是由MT4自動設定的, 數值就是這個圖上的Bar數,

 if(Bars<=Tenkan || Bars<=Kijun || Bars<=Senkou) return(0);

如果Bar數少於這些參數值, 當然也就沒東西可畫了

int    counted_bars=IndicatorCounted();

這個差不多是固定的起手式, counted_bars 被賦予上次計算後指標值不變的Bar數 , 這減少需重新計算的數目

for(i=1;i<=Tenkan;i++)    Tenkan_Buffer[Bars-i]=0;

剛載入時, 初始短觀線的陣列的值. 注意最左方的index為Bars - 1

  i=Bars-Tenkan;

2014年4月2日 星期三

可能會是近期最矚目的交易

今天(2014年4月2日)智利發生8.2級強烈地震, 並觸發海嘯警告, 預料4月3日可能抵達日本東岸, 執筆時仍未有突發消息, 而南美國家如秘魯, 厄瓜多爾, 美國西岸都己解除海嘯警告 , 然而廣闊太平洋無大陸阻擋 , 海嘯可以暗湧方式傳到環太平洋的岸邊, 日本有關方面已預測海嘯可能於4月3日早上5時左右抵達東岸.

相信讀者仍對2011年3月的日本福島大地震並觸發的海嘯引起的極大破壞仍歷歷在目. 今次雖然預期未必會引起大浪(預期1米以下), 然而預測失準也是常有之事. 

災難沖擊日本, 不少人想當然都會認為日圓可能會受壓, 這是看似十分合理的推斷. 災難嘛, 當然影響日本經濟增長, 而匯率是經濟增長的體現, 受壓很合情合理. 

實際情況是怎樣呢 ? 筆者當日有幸目擊整個變化過程. 當這些震撼的畫面和消息剛傳來時, 日圓的確是即時弱了一點, 純看技術圖表的還可能以為是突破追入, 然而很快便消失跌勢, 到晚上更突破70關口. 

日圓是一種很奇怪的貨幣, 又是一種很多功能的貨幣. 它除了受國家經濟影響外, 又受日債持有量控制(雖然是很低回報率的債券, 你又不得不服有不少日本銀行和國民投資者持有) , 又受套息交易 (日本那裡有個特別名詞叫"渡邊太太效應"), 年結效應等等影響, ...一個比較少初學外匯者留意的是日圓也是個避險貨幣, 這個效應在一些特別震撼的災難(天災/人為)特別明顯, 可以是即時, 也可以在其後的一段短時間(1-2個月)內發生. 

過往比較出名的例子是94年阪神地震, 11年福島海嘯, 人為的有98年俄羅斯債務違約 及 08年底次貸風暴等. 都有比較明顯的急升. 

就今次地震/海嘯, 筆者做了個小小的統計, 看看這些比較強烈/做成較大損害的環太平洋區地震/海嘯對日圓的即日/短期影響. 

地震日期可以輕易從wiki獲得 , 每日匯價從MT4下載

2014年3月20日 星期四

如何學習MT4程式交易(3)

就以內帶的Ichimoku指標為例. 這裡就抽重點略說一下

#property indicator_buffers 7
#property indicator_color1 Red
#property indicator_color2 Blue

開頭這幾行就是設定一些指標特性, 像這個指標有7個小指標 , 故設定indicator_buffers為7. 第一個指標紅色 , 第二個藍色 ,..

extern int Tenkan=9;
extern int Kijun=26;
extern int Senkou=52;

設定輸入變數及預設值

double Tenkan_Buffer[];
double Kijun_Buffer[];
double SpanA_Buffer[];

2014年3月19日 星期三

如何學習MT4程式交易(2)

MT全名metatrader, 是一間MetaQuotes的俄羅斯公司的外匯交易及分析軟件, 在MT4版本後開始廣為全球証劵行使用, 也發展到外匯以外的數據輸入, 如貴金屬 , 指數及商品差價合約(CFD). 2010年推出MT5, 但由於未能向後兼容, 仍未有太多証劵行升級, 故在本地市場上仍見以MT4為主.

MT 跟Metastock 是亳無關係的, 不要混淆. MT 從一開始設計就沒打算接入任何第三方的即市數據, 所以你不會看到有像Metastock , Amibroker , Ninja等有數據plugin可以選擇.不過如果是歷史數據 , 那還是可以透過腳本讀入, 從而運用其他工具分析.

說到這裡就先總結一下 : 不要再問筆者可不可以用MT4炒期指, 原因你懂了吧.

MT4最好是用來學習外匯, 貴金屬和其他他們有提供的差價合約(CFD)產品交易, 主要是MT4已帶有頗長期間的歷史報價資料. 這些資料都是由一間英國經紀商Alpari提供的, 所以分析出來的結果未必百分百跟用自己經紀商報價的完全一樣, 特別是買賣差價的分別. 不過在高流通產品上應該差別不大. 筆者之前已示範過把其中的歷史數據匯出至Excel 回測, 如果不用匯出, 也可以用其自帶的回測工具去做, 熟識Metastock的讀者應不會太難掌握 .

這些工具像指標, EA, 腳本可以在導航(Navigator )視窗找到, 要觀看/編輯他們的內容, 可在其附帶的MetaEditor中完成. MetaEditor 功能不只是一個文書處理器, 還有編譯和除錯工具, 比Metastock的要強多, 比VBA的亦稍勝, 減少浪費在一些無聊錯誤的時間, 值得讚賞

MT4這些工具的編程語言叫MQL4 , 如果寫過一般編程語言像C#, VBA等的將發現MQL4很熟悉 , 因為它們的語法和結構都很近, 像變數定義, 矩陣, 回圈等的架構都一樣, MQL4 的檔案分幾類, 分別是mq4, ex4 及mqh . mq4 就是程序源文字檔, 即Source Code. ex4 是編譯後的二元檔, 供MT4執行, mqh 跟mq4很像, 它是把可以被其他程序使用的常用的函數/程序源碼放在一個集中的地方(Include),其他程序要使用時把它引入, 有點像Java的Import 指令.



2014年3月17日 星期一

如何學習MT4程式交易(1)

近日得悉新鴻基推廣他們的MT4 外匯交易平台, 特地瀏覽一下, 看後沒什麼驚喜, 或者可說有點失望. 老實說, 要玩MT的也不會等到現在. 某些證券商如海通早幾年前也推過MT4 , 不過只限於貴金屬. 而且只限於把MT4當成他們另一個有點現成指標和功能多點的交易介面, 今次新鴻基的介紹錄象中基本上也是這個方向, 也看不出他們對這個平台可以有什麼支援. 希望他們可以多放一點資訊(例如深入一點的功能介紹, 如DDE, proxy設定, 歷史數據中心,回測 , 程式資源等等), 起碼海通都放本使用手冊上去.

當然如果已熟習在網上找資料的也不用等他們吱牙膏(或許沒下次了~)的放資料上去. 而新鴻基始終沒有發展一套下單的api, 對有志自動交易的投資者始終美中不足. 其實單看各大劵商對sp api的支援也已了解他們對自動交易的態度. 現在多了MT4做他們的外匯,唯一好處是在一個比較普遍而功能較強的平台上可以直接以他們的數據看盤和分析, 然而他們又只是開通了外匯, 另外歷史數據應該不是他們自己的, 所以也就是用回測分析出來的結果不代表實際運行在他們報價上的結果.

有關錄象可看http://shkforex.com/demo_video/MT4_video_manual_ipad.mp4

其實MT4 在國外是盤"可觀的生意" , 皆因不少程序員/開發者都靠這些去賺點外快(在IB也有同樣的情況..) , 每年MT都有自動交易大賽, 大中華地區特別是香港感覺是欠缺這些用戶群組交流, 也許跟這裡程式交易未成熟有相當關係.

其實要學習MT4的工具和程式交易也不是很難, 特別是有其他類似軟件經驗(像Metastock , Amibroker 等)的該較易上手. 編程方面有點底的從指標編寫學起, 也不難上手. 其實MT4本身已包了不少像MA, RSI之類常用標準的腳本, 可以作為初階, 掌握一定功力後再去研習script和EA. 要編寫的sub也就只是init(), start()及deinit() 3個, 主要思路就是如何把指標值分配到不同的buffer然後顯示出來. 多觀摩應該也可以寫/改一點.


筆者近日不約而同收到關於想連接MT4到SP 的查詢,其實筆者有點奇怪,因為MT 跟SP 是交易不同的產品,一個是做外匯/差價合約 , 一個是做交易所期貨 ,連在一起有什麼意思呢?就等於看著外匯期貨的價格去炒外匯現貨, 那為什麼不直接用SP 價交易 SP , 或MT價交易MT ? Anyway, 如果真的是要這樣 , 技術上是可以做到 , 也可以有幾種方法 , 其中一種就是用筆者連接sp和metastock的方法, 只要MT4 的EA會在信號發生時產生alert, SP / 其他交易介面就可以透過偵測這個alert而下單. 有關詳細可參看筆者最近上載的youtube視頻