@本站有認識程式交易策略高手,如有需要請私訊,幫您引介@. 這裡大部分記錄著私人事務, 以及有興趣的事情. 部落格內如有侵犯版權的,請立即告知,我會儘速移除。 wonder1688@gmail.com
2014年10月5日 星期日
2014年9月30日 星期二
20140930 硬碟資料傳遞速度也很關鍵(SSD)
幾天沒po文了.
被一些鳥事搞得烏煙瘴氣.
聽說 i5等級的電腦跑起來的效能比 i7結果還棒.
真難以相信, 真難以接受.
公司電腦 i7 等級 8核心cpu ,4G記憶體. HDD 5400rpm.
另一位A同事 i5 等級 4核心cpu 2G 記憶體. HDD 7200rpm.
另一位B同事 i7 等級 8核心cpu 8G 記憶體. HDD 7200rpm.
另一位C同事 i5 等級 10G 記憶體. HDD 使用SSD.
本來都沒注意HDD硬碟的問題.
一心只想著電腦裡面掛載虛擬機之後在虛擬機內跑程式.效能應該會和 i7 cpu的level差異有關.
沒想到結果竟然是 i5的2台電腦都贏過我的i7 cpu.
結論就是HDD傳輸數據資料很重要.
最強的還是那個SSD的同事. i7的同事速度當然也很快. 我的速度最慢.
主因是 HDD只有 5400rpm.
速度 C>B>A>我的i7. 最優的還是SSD.
被一些鳥事搞得烏煙瘴氣.
聽說 i5等級的電腦跑起來的效能比 i7結果還棒.
真難以相信, 真難以接受.
公司電腦 i7 等級 8核心cpu ,4G記憶體. HDD 5400rpm.
另一位A同事 i5 等級 4核心cpu 2G 記憶體. HDD 7200rpm.
另一位B同事 i7 等級 8核心cpu 8G 記憶體. HDD 7200rpm.
另一位C同事 i5 等級 10G 記憶體. HDD 使用SSD.
本來都沒注意HDD硬碟的問題.
一心只想著電腦裡面掛載虛擬機之後在虛擬機內跑程式.效能應該會和 i7 cpu的level差異有關.
沒想到結果竟然是 i5的2台電腦都贏過我的i7 cpu.
結論就是HDD傳輸數據資料很重要.
最強的還是那個SSD的同事. i7的同事速度當然也很快. 我的速度最慢.
主因是 HDD只有 5400rpm.
速度 C>B>A>我的i7. 最優的還是SSD.
2014年9月20日 星期六
2014年9月13日 星期六
20140913 my toy dde update
應該沒人在使用, 哈哈~. 不過還是修改一下.
這個版本應該最多能使用到2014年底. 因為沒有把年份的判斷加進去
下圖是新版, 加入了商品選擇, 月份選擇.
新版載點
20140913My Toys DDE.7z
副檔名7z的壓縮是使用7zip壓縮的.
如果程式不能執行請下載安裝Microsoft
套件 vcredist_x86.exe 約4Mb
dde 和券商軟體的單量差異
基本上券商軟體上面show出來的成交單量, 和DDE及時抓到的單量有時候會不一樣.
可能券商軟體看到單量45, 但是dde單量是分成幾筆show出來. 這無法清楚知道為何?
如果要比較準確的單量, 可能還是需要券商有API可以呼叫使用.
透過券商的API取得單量的數值.
DDE功能還是只能當作參考.
這個版本應該最多能使用到2014年底. 因為沒有把年份的判斷加進去
下圖是新版, 加入了商品選擇, 月份選擇.
新版載點
20140913My Toys DDE.7z
副檔名7z的壓縮是使用7zip壓縮的.
如果程式不能執行請下載安裝Microsoft
套件 vcredist_x86.exe 約4Mb
dde 和券商軟體的單量差異
基本上券商軟體上面show出來的成交單量, 和DDE及時抓到的單量有時候會不一樣.
可能券商軟體看到單量45, 但是dde單量是分成幾筆show出來. 這無法清楚知道為何?
如果要比較準確的單量, 可能還是需要券商有API可以呼叫使用.
透過券商的API取得單量的數值.
DDE功能還是只能當作參考.
2014年9月9日 星期二
20140909 my toy dde update
20140909My Toys DDE.7z
step1.請先開啟券商的看盤程式.
step2.選擇券商(目前只支援3家券商HTS系列)
step3.選擇TXF台指或是小台指MXF
step4.設定value候按下"開始"
把PC time 拿掉. 用DDE 取時間.
通知聲音目前設定檔名為"WindowsDing.wav",可透過修改mytoysdde.ini(啟動程式後自動產生)
@請注意路徑可以改成自己想要的路徑. 但不要有中文路徑.
@Value的設定作用是當"單量"大於value所設定的數值,則會發出提示聲音.
2014年9月8日 星期一
20140908 link for my toy dde
上架了, 第一次放在網路上的小toy
20140908 My Toys DDE.7z
如果下載後不能run
請下載安裝Microsoft
套件 vcredist_x86.exe 約4Mb
http://www.microsoft.com/zh-tw/download/details.aspx?id=5582
20140908 My Toys DDE.7z
如果下載後不能run
請下載安裝Microsoft
套件 vcredist_x86.exe 約4Mb
http://www.microsoft.com/zh-tw/download/details.aspx?id=5582
2014年9月7日 星期日
20140908 DDE欄位簡單說明,以HTS舉例
以HTS 系列舉例 (ex: 大昌快易通 軟體商凱衛)
大昌 DDE 在excel 看到的現價: DC|KS!TXFI4.124
TXF代表 台指期的商品代碼
I代表9月
4代表2014的4
.124 代表現價
如果目前使用月份是11月則公式代碼如下:
現價: DC|KS!TXFK4.124
開盤價: DC|KS!TXFK4.130
最高價: DC|KS!TXFK4.131
最低價: DC|KS!TXFK4.132
成交量: DC|KS!TXFK4.133
以下為統一的HTS系列.
11月的公式代碼如下:
現價: PS|KS!TXFK4.124
開盤價: PS|KS!TXFK4.130
最高價: PS|KS!TXFK4.131
最低價: PS|KS!TXFK4.132
成交量: PS|KS!TXFK4.133
大昌 DDE 在excel 看到的現價: DC|KS!TXFI4.124
TXF代表 台指期的商品代碼
I代表9月
4代表2014的4
.124 代表現價
如果目前使用月份是11月則公式代碼如下:
現價: DC|KS!TXFK4.124
開盤價: DC|KS!TXFK4.130
最高價: DC|KS!TXFK4.131
最低價: DC|KS!TXFK4.132
成交量: DC|KS!TXFK4.133
以下為統一的HTS系列.
11月的公式代碼如下:
現價: PS|KS!TXFK4.124
開盤價: PS|KS!TXFK4.130
最高價: PS|KS!TXFK4.131
最低價: PS|KS!TXFK4.132
成交量: PS|KS!TXFK4.133
20140907 技術不到位OnInitDialog加入thread
想在OnInitDialog中加入一個thread.
但真正跑起來後, 竟然在thread 裡面crash掉.
還沒找到解法. 暫時只能不用thread 了.
取而代之用OnTimer. 最後成功.
需要加入這個
ON_WM_TIMER()
2014年9月6日 星期六
20140906 play store遇到 RPC S-3 error
https://www.youtube.com/watch?v=2jjoBF-2F2o
看完才知道, 主因使用備份還原後造成 要進入play store 發生 RPC S-3 error
解法: 把google 帳戶刪除
把google相關的app 站存資料都刪除.
就醬@.@ 搞了幾個小時
2014年9月5日 星期五
20140905 多事中秋了
中秋節來了, 往往是轉折的節日.
感覺很多事情, 列下來也真的是一堆想做的事情.
但沒一樣拿手, 慢手慢腳.
似乎還是那股沉重的壓力在搗亂.
沉重的壓力還是只能怪自己太"急".
害死自己.
心神不寧~ 失眠~失眠~又失眠~
有時候想想那為"脫線"藝人.
負債千萬, 每天睜開眼睛就有算萬的負債等他還.
在想想友達,那種每天開門就要賠掉算億的金額.
真的不是一般人能想像,能體會的.
這條路難走, 一個"急"字,害死自己.
好快~今年中秋來了, 今年似乎又快過完了.
好沉重................
2014年9月3日 星期三
20140903 只為了找MFC加入超連結
http://www.360doc.com/content/11/0416/20/5388813_110134108.shtml
http://hujie.best.blog.163.com/blog/static/12001552009111932930554/
收藏這篇 "VC小技巧收集(轉載自風林的家)"
今天想要把link: wonder1688.blogspot.com加在畫面上, 可以達到link功能.
找到 http://www.haogongju.net/art/2096590
"MFC中用Static控件做超鏈接(可以實現變手形、下劃線、字體變色等功能)"
@
對我這新手來說,少了這四行. 這顏色也讓我想起多年前有一位高手要教我改顏色.
改到後來放棄, 也不知道哪邊出問題,改不成功. 沒想到這幾個func就解決了,哈哈~
ON_WM_MOUSEMOVE()
ON_WM_LBUTTONDOWN()
ON_WM_LBUTTONUP()
ON_WM_CTLCOLOR()
@
http://blog.kingsamchen.com/archives/517
"如何在MFC設計超鏈接控件類"
http://big5.china-code.net/ap-ccpGU7Uyn2-4459.html
"巧妙實現超鏈接控制"
http://blog.sina.com.cn/s/blog_6288219501015eff.html
"VC++之MFC中超鏈接的製作"
想到如果不同的小toy都要增加, 那code不好reuse.
才知道因為不會用且不懂class所以會這樣@.@
dll 學習 ,原來還有很多不懂的@.@ 先放著
http://www.originality.idv.tw/webhosting/develop/sections/visual_c++/dll/regular.htm
動態載入 DLL, 靜態載入 DLL
http://hujie.best.blog.163.com/blog/static/12001552009111932930554/
收藏這篇 "VC小技巧收集(轉載自風林的家)"
今天想要把link: wonder1688.blogspot.com加在畫面上, 可以達到link功能.
找到 http://www.haogongju.net/art/2096590
"MFC中用Static控件做超鏈接(可以實現變手形、下劃線、字體變色等功能)"
@
對我這新手來說,少了這四行. 這顏色也讓我想起多年前有一位高手要教我改顏色.
改到後來放棄, 也不知道哪邊出問題,改不成功. 沒想到這幾個func就解決了,哈哈~
ON_WM_MOUSEMOVE()
ON_WM_LBUTTONDOWN()
ON_WM_LBUTTONUP()
ON_WM_CTLCOLOR()
@
http://blog.kingsamchen.com/archives/517
"如何在MFC設計超鏈接控件類"
http://big5.china-code.net/ap-ccpGU7Uyn2-4459.html
"巧妙實現超鏈接控制"
http://blog.sina.com.cn/s/blog_6288219501015eff.html
"VC++之MFC中超鏈接的製作"
想到如果不同的小toy都要增加, 那code不好reuse.
才知道因為不會用且不懂class所以會這樣@.@
dll 學習 ,原來還有很多不懂的@.@ 先放著
http://www.originality.idv.tw/webhosting/develop/sections/visual_c++/dll/regular.htm
動態載入 DLL, 靜態載入 DLL
一開始只想到link. 都忘記超連結的關鍵字了
2014年9月2日 星期二
20140902 好用工具 HttpWatch
HttpWatch主要針對網站上 HTTP 協定分析的工具
我是一般使用者所以拿來分析部落格or知道IE再搞啥鬼就夠用了.
下圖是IE的用法.
網路上很多 HttpWatch 教學.
火狐的 http://download.ithome.com.tw/article/index/id/245
IE的 http://steachs.com/archives/1450
我是一般使用者所以拿來分析部落格or知道IE再搞啥鬼就夠用了.
下圖是IE的用法.
網路上很多 HttpWatch 教學.
火狐的 http://download.ithome.com.tw/article/index/id/245
IE的 http://steachs.com/archives/1450
2014年8月31日 星期日
20140901 [轉貼]精英的思考基礎「拆解、簡化、專注」
來源 http://www.chinatimes.com/realtimenews/20140831001467-260405
你曾經長時間專注做某一件事情,不但不累反而覺得很爽,以致於忘了時間嗎?
這就是內心的能量高度集中,產生了「心流」經驗。
◎菁英的通則──拆解、簡化,於是能專注到忘了時間
Google:只找與自己一樣的人——懂得簡化,能夠專注——這種人有野心
亞馬遜的成功:簡化任務。先鎖定一個領域就好
鈴木一朗:把終極目標拆解成一百個小目標,好讓自己愛上打球,不是拿來當職業
彼得.杜拉克:好老師刻意不教,而是發掘學生專長,讓他先只發揮那項專長
精英的思考基礎其實就是拆解、簡化與專注,
專注不只是專心,一味專心只會讓人覺得枯燥,
專注有三個關鍵:
1.打開「動機」引擎、
2.設定稍微超出能力範圍的目標、
3.最終是為了得到「心流經驗」──長時間做某一件事卻覺得爽、有成就感
這些事其實小孩最懂,只是長大後你多半忘了。
◎怎麼執行「簡化」?──不做什麼,比做什麼更重要
● 先想「不做」什麼,再想「要做」什麼 (Simple)
專注其實是捨棄,把力氣用在留下來的。怎麼篩選:就是丟!你的腦袋學會斷、捨、離了嗎?
●把大事拆解成小事,用一件件「要做」的小事來成就一件大事(Small)
與其一口氣苦讀90小時,不妨拆解成每天利用通勤15分鐘,你會立即看到效果。
運動、減肥更是如此。
你曾經長時間專注做某一件事情,不但不累反而覺得很爽,以致於忘了時間嗎?
這就是內心的能量高度集中,產生了「心流」經驗。
◎菁英的通則──拆解、簡化,於是能專注到忘了時間
Google:只找與自己一樣的人——懂得簡化,能夠專注——這種人有野心
亞馬遜的成功:簡化任務。先鎖定一個領域就好
鈴木一朗:把終極目標拆解成一百個小目標,好讓自己愛上打球,不是拿來當職業
彼得.杜拉克:好老師刻意不教,而是發掘學生專長,讓他先只發揮那項專長
精英的思考基礎其實就是拆解、簡化與專注,
專注不只是專心,一味專心只會讓人覺得枯燥,
專注有三個關鍵:
1.打開「動機」引擎、
2.設定稍微超出能力範圍的目標、
3.最終是為了得到「心流經驗」──長時間做某一件事卻覺得爽、有成就感
這些事其實小孩最懂,只是長大後你多半忘了。
◎怎麼執行「簡化」?──不做什麼,比做什麼更重要
● 先想「不做」什麼,再想「要做」什麼 (Simple)
專注其實是捨棄,把力氣用在留下來的。怎麼篩選:就是丟!你的腦袋學會斷、捨、離了嗎?
●把大事拆解成小事,用一件件「要做」的小事來成就一件大事(Small)
與其一口氣苦讀90小時,不妨拆解成每天利用通勤15分鐘,你會立即看到效果。
運動、減肥更是如此。
2014年8月29日 星期五
20140830 FoxTrader X狐
FoxTrader X狐交易師
考慮過一陣子是不是要把 資料檔案放上來.
不過當然不會放有版權的程式檔. 是考慮放日資料,
如果能做到5k也考慮看看要不要放5k資料
在網路上抓到這最重要的reg 要執行過一次, 才能正常在自己的電腦跑起來.
考慮過一陣子是不是要把 資料檔案放上來.
不過當然不會放有版權的程式檔. 是考慮放日資料,
如果能做到5k也考慮看看要不要放5k資料
在網路上抓到這最重要的reg 要執行過一次, 才能正常在自己的電腦跑起來.
20140829 CString
之前有一個問題是,從檔案進來的資料, 有時候直接給CString會造成crash.
A.
CString inputfiledata
inputfiledata.Format("%s" ,readIn);
B.
CString inputfiledata(readIn);
A,B 2種寫法, 遇到A會crash. B卻解決了. 估計應該是因為readIn 這個buffer裡面有ASCII,UNICODE 這類轉換的問題. MBS
A.
CString inputfiledata
inputfiledata.Format("%s" ,readIn);
B.
CString inputfiledata(readIn);
A,B 2種寫法, 遇到A會crash. B卻解決了. 估計應該是因為readIn 這個buffer裡面有ASCII,UNICODE 這類轉換的問題. MBS
2014年8月28日 星期四
2014年8月23日 星期六
2014年8月20日 星期三
20140820
進度有點慢, 用券商軟體下載各股當日交易資訊. 券商下載來的tick資料.
一天資料要8Mb左右. 不過還每想到比較好的排列.
格式format:
X, X,時間,買價,賣價,成交價,成交量
台積電,2330,132424,12500,12550,12550,5
台積電,2330,132434,12500,12550,12550,4
台積電,2330,132445,12500,12550,12550,2
台積電,2330,132455,12500,12550,12550,6
台積電,2330,133000,12550,12600,12550,3519
台積電,2330,143000,0,0,12550,69
精英,2331,090111,2000,2005,2005,3
精英,2331,090131,2000,2005,2000,25
精英,2331,090222,2000,2010,2010,10
精英,2331,090342,2000,2010,2010,29
精英,2331,090423,2010,2015,2015,5
精英,2331,090543,2010,2015,2015,5
精英,2331,090613,2010,2015,2015,5
2014年8月19日 星期二
Amibroker ADK MT4 to Amibroker(coming soon)
原:
http://www.amibroker.com/devlog/2006/12/15/amibroker-development-kit-adk-for-cc-now-available-to-everyone/
畢竟是業餘amateur
花了很多時間才把MT4資料傳遞到Amibroker
目前只完成了傳遞資料. 瞭解了Amibroker收資料show 資料的流程.
後面有空才會在做一個介面.UI.
http://www.amibroker.com/devlog/2006/12/15/amibroker-development-kit-adk-for-cc-now-available-to-everyone/
畢竟是業餘amateur
花了很多時間才把MT4資料傳遞到Amibroker
目前只完成了傳遞資料. 瞭解了Amibroker收資料show 資料的流程.
後面有空才會在做一個介面.UI.
2014年1月4日 星期六
20140104 部位縮放法,移動停利法
http://wenschair.blogspot.tw/2013/09/18_18.html
★18種常用移動停利法--測試篇
http://wenschair.blogspot.tw/2013/09/18.html
http://wenschair.blogspot.tw/2013/09/18_17.html
http://wenschair.blogspot.tw/2013/10/blog-post.html
→固定總資金風險部位縮放法(Fixed risk% position sizing)
→保證金目標部位縮放法(Fixed Margin position sizing)
→最大連續虧損資金部位縮放法(MaxDD position sizing)
★18種常用移動停利法--測試篇
http://wenschair.blogspot.tw/2013/09/18.html
http://wenschair.blogspot.tw/2013/09/18_17.html
http://wenschair.blogspot.tw/2013/10/blog-post.html
四種必學的部位縮放法之開放程式碼。
→固定收益部位縮放法(Fixed Profit
position sizing)→固定總資金風險部位縮放法(Fixed risk% position sizing)
→保證金目標部位縮放法(Fixed Margin position sizing)
→最大連續虧損資金部位縮放法(MaxDD position sizing)
2014年1月3日 星期五
2014年1月1日 星期三
20140101 MT4雜項紀錄
http://www.520fx.com/forum.php?mod=viewthread&tid=40972&page=1&authorid=39167
MT4裡邊會有一些比較底層,不被寫入help的用法,這些用法在某些方面是至關重要的。MT4窗口之間使用消息通訊機制,所以可以在EA,或者外部程序通過消息,來控制MT4的一些行為,下邊就列出已經知道的一些用法。
#include <WinUser32.mqh>
#define MT4_WMCMD_PERIOD_D1 33134
#define MT4_WMCMD_PERIOD_H4 33136
#define MT4_WMCMD_PERIOD_M1 33137
#define MT4_WMCMD_PERIOD_M5 33138
#define MT4_WMCMD_PERIOD_M15 33139
#define MT4_WMCMD_PERIOD_M30 33140
#define MT4_WMCMD_PERIOD_W1 33141
#define MT4_WMCMD_MOVE_RIGHT 33197
#define MT4_WMCMD_MOVE_LEFT 33198
PostMessageA(hwnd, WM_COMMAND,MT4_WMCMD_MOVE_RIGH, 2); //可以向左移動一個bar
PostMessageA(hwnd,MW_COMMAND,MT4_WMCMD_PERIOD_M5,0);//轉換為週期
>>>>>>>>>>>>>>>>>>>>
另外一些消息是通過 註冊一種MT4特有的消息類型,通訊
1 觸發EA的start函數運行一次
int hwnd=WindowHandle(Symbol(), Period());
int MT4InternalMsg = RegisterWindowMessageA("MetaTrader4_Internal_Message");
PostMessageA(hwnd,MT4InternalMsg,2,1);
2 讓圖表跳到某一個時間點
int hwnd=WindowHandle(Symbol(), Period());
int MT4InternalMsg = RegisterWindowMessageA("MetaTrader4_Internal_Message");
PostMessageA(hwnd,MT4InternalMsg,55,time1);
3 調用指標,腳本到圖表
#import "user32.dll"
int RegisterWindowMessageA(string lpstring);
int PostMessageA(int hWnd,int Msg,int wParam,int lParam); //注意這個必須是在這裡,而且頭文件不能添加 #include <WinUser32.mqh>
#import
int hwnd=WindowHandle(Symbol(), Period());
int MT4InternalMsg = RegisterWindowMessageA("MetaTrader4_Internal_Message");
PostMessageA(hwnd,MT4InternalMsg,15,"ATR");
//調用指標"ATR"
PostMessageA(hwnd,MT4InternalMsg,16,"test");
//調用腳本"test"
當然還有以供參考,如下:
PostMessageA(hwnd, MT4InternalMsg, 13, StandartIndicatorName);
PostMessageA(hwnd, MT4InternalMsg, 14, EAName);
PostMessageA(hwnd, MT4InternalMsg, 15, CustomIndicatorName);
PostMessageA(hwnd, MT4InternalMsg, 16, ScriptName);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
因為使用消息機制,所以這些代碼是可以移植到外部程序實現,可以實現mt4和外部程序良好交互。
這些在mt4的官方論壇有介紹
MT4也可以執行外部程序。 比如在腳本裡執行 cmd.exe
程序如下
#import "Kernel32.dll"
int WinExec(string,int);
#import
int start()
{
WinExec("CMD",0);
return(0);
}
就可以利用腳本打開 cmd命令行了。
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
MT4裡邊會有一些比較底層,不被寫入help的用法,這些用法在某些方面是至關重要的。MT4窗口之間使用消息通訊機制,所以可以在EA,或者外部程序通過消息,來控制MT4的一些行為,下邊就列出已經知道的一些用法。
#include <WinUser32.mqh>
#define MT4_WMCMD_PERIOD_D1 33134
#define MT4_WMCMD_PERIOD_H4 33136
#define MT4_WMCMD_PERIOD_M1 33137
#define MT4_WMCMD_PERIOD_M5 33138
#define MT4_WMCMD_PERIOD_M15 33139
#define MT4_WMCMD_PERIOD_M30 33140
#define MT4_WMCMD_PERIOD_W1 33141
#define MT4_WMCMD_MOVE_RIGHT 33197
#define MT4_WMCMD_MOVE_LEFT 33198
PostMessageA(hwnd, WM_COMMAND,MT4_WMCMD_MOVE_RIGH, 2); //可以向左移動一個bar
PostMessageA(hwnd,MW_COMMAND,MT4_WMCMD_PERIOD_M5,0);//轉換為週期
>>>>>>>>>>>>>>>>>>>>
另外一些消息是通過 註冊一種MT4特有的消息類型,通訊
1 觸發EA的start函數運行一次
int hwnd=WindowHandle(Symbol(), Period());
int MT4InternalMsg = RegisterWindowMessageA("MetaTrader4_Internal_Message");
PostMessageA(hwnd,MT4InternalMsg,2,1);
2 讓圖表跳到某一個時間點
int hwnd=WindowHandle(Symbol(), Period());
int MT4InternalMsg = RegisterWindowMessageA("MetaTrader4_Internal_Message");
PostMessageA(hwnd,MT4InternalMsg,55,time1);
3 調用指標,腳本到圖表
#import "user32.dll"
int RegisterWindowMessageA(string lpstring);
int PostMessageA(int hWnd,int Msg,int wParam,int lParam); //注意這個必須是在這裡,而且頭文件不能添加 #include <WinUser32.mqh>
#import
int hwnd=WindowHandle(Symbol(), Period());
int MT4InternalMsg = RegisterWindowMessageA("MetaTrader4_Internal_Message");
PostMessageA(hwnd,MT4InternalMsg,15,"ATR");
//調用指標"ATR"
PostMessageA(hwnd,MT4InternalMsg,16,"test");
//調用腳本"test"
當然還有以供參考,如下:
PostMessageA(hwnd, MT4InternalMsg, 13, StandartIndicatorName);
PostMessageA(hwnd, MT4InternalMsg, 14, EAName);
PostMessageA(hwnd, MT4InternalMsg, 15, CustomIndicatorName);
PostMessageA(hwnd, MT4InternalMsg, 16, ScriptName);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
因為使用消息機制,所以這些代碼是可以移植到外部程序實現,可以實現mt4和外部程序良好交互。
這些在mt4的官方論壇有介紹
MT4也可以執行外部程序。 比如在腳本裡執行 cmd.exe
程序如下
#import "Kernel32.dll"
int WinExec(string,int);
#import
int start()
{
WinExec("CMD",0);
return(0);
}
就可以利用腳本打開 cmd命令行了。
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
void SendTickToChart() { |
int hwnd = WindowHandle(Symbol(), Period()); |
if (IsDllsAllowed()) { |
int msg = RegisterWindowMessageA("MetaTrader4_Internal_Message"); |
PostMessageA(hwnd, msg, 2, 0); |
PostMessageA(hwnd, msg, 2, 1); |
} >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
//+------------------------------------------------------------------+
//| IncomingTick.mq4 |
//| Copyright c 2006, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright c 2006, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
#include <WinUser32.mqh>
//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{
//----
int MT4InternalMsg = RegisterWindowMessageA("MetaTrader4_Internal_Message");
int hWnd = WindowHandle(Symbol(),Period());
PostMessageA(hWnd,MT4InternalMsg,2,1);
//----
return(0);
}
//+------------------------------------------------------------------+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
終於搞定了,是用腳本的,代碼如下:
refresh.mq4 |
//| fw |
//| clc |
//+------------------------------------------------------------------+
#property copyright "fw"
#property link "clc"
#include <WinUser32.mqh>
//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{
//----
while(IsStopped()==false)
{
static int hwnd = 0;
hwnd = WindowHandle(Symbol(), Period());
PostMessageA(hwnd,WM_COMMAND,33324,0);
Sleep(500);
}
//----
return(0);
}
//+------------------------------------------------------------------+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.
http://blog.csdn.net/yangmingxtx/article/details/8503060
refresh.mq4 |
//| fw |
//| clc |
//+------------------------------------------------------------------+
#property copyright "fw"
#property link "clc"
#include <WinUser32.mqh>
//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{
//----
while(IsStopped()==false)
{
static int hwnd = 0;
hwnd = WindowHandle(Symbol(), Period());
PostMessageA(hwnd,WM_COMMAND,33324,0);
Sleep(500);
}
//----
return(0);
}
//+------------------------------------------------------------------+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.
http://blog.csdn.net/yangmingxtx/article/details/8503060
MetaTrader軟件的功能擴展(關於程序補丁製作的一個例子)
>>>>>>>>>>>>> 20140107 update
1. 讓offline 可以畫面tick跳動是用
hwnd = WindowHandle(Symbol(), Period());
PostMessageA(hwnd,WM_COMMAND,33324,0);
2. 讓offline 可以使用EA正常工作是使用 (正常可以在start() 當中列印訊息,會印出來,不正常就印不出來,會只跑init() )
PostMessageA(hwnd,WM_COMMAND,33324,0);
2. 讓offline 可以使用EA正常工作是使用 (正常可以在start() 當中列印訊息,會印出來,不正常就印不出來,會只跑init() )
int MT4InternalMsg = RegisterWindowMessageA("MetaTrader4_Internal_Message");
int hWnd = WindowHandle(Symbol(),Period());
PostMessageA(hWnd,MT4InternalMsg,2,1);
訂閱:
文章 (Atom)
Script starts without a tick.
直接使用script是不用透過tick來處發產生資料
http://forum.mql4.com/25152
http://www.metatrader4.com/forum/2227
官方回答