MT4/MT5程式交易EA回測常出現的錯誤訊息

當今天EA的程式碼可以在編輯器當中成功編譯之後
代表著你的程式碼沒有錯誤

可是在回測時﹐常會有error的訊息跑出來
並讓EA無法正常進出場下單
這些部分通常是你的交易邏輯、或是商品規格不符等細節你沒有注意到,或是寫錯了

艾比今天講三種最常出現的EA回測錯誤訊息介紹
艾比在剛寫程式的時候﹐也是常常遇到這些error啊 ><”

 

(1) 下單手數錯誤

在MT4裡面會顯示 ordersend error 131
代表著下單手數的數值錯誤

4手數錯誤

較常出現在有些指數交易商品最小交易手數只能下1手時
可是今天程式計算出來(或你指定)的手數是有小數點的﹐例如1.1手
就會出現ordersend error 131的錯誤訊息

遇到以上這種問題的時候
你可以在你計算下單手數的程式碼最後﹐加上以下代碼

1570809640865
這段可以讓你的手數計算出來﹐如果是有小數點的
程式可以自動四捨五入成整數
或者算出你交易商品的規格該下單的手數位數﹐自動的調整你下單手數

在MT5裡面﹐下單的錯誤都是顯示 ordersend error 4756
只是他會特別顯示出來你是錯在哪裡
像下圖就是會顯示 [ Invalid volume ],我們就知道是下單手數有錯誤

5手數錯誤

在一般貨幣商品交易當中
MT4如果你計算出來是0.123手﹐他會自動在下單時下0.12手
可是在MT5卻不會這樣做
也就是如果你手數計算出來為0.123手﹐直接去ordersend他就會出現上面那樣的錯誤

所以MT5計算手數的程式碼﹐統一就是加入上面那段程式碼就可以了
也就是一定要用到NormalizeDouble的這個功能﹐來讓手數變成小數點兩位數喔

 

 

(2) 下單獲利TP/止損SL 錯誤

MT4當中比較常見出現ordersend error 130的原因是:
1.你的止損或獲利設定太近
2.你的獲利止損兩個欄位寫反了!
主要會是第一種﹐所以就檢查一下你的交易邏輯﹐是不是會不小心讓止損變得太近而無法下單

4TPSL錯誤

還有另外一種常見的止損獲利設定問題
就是 ordersend error 4107
這個問題通常是因為你忘記在TPSL的點數後面加上 *Point 而導致的

4TPSL錯誤沒有點

 

MT5獲利止損設定錯誤也會顯示ordersend error 4756
但是後面就會標示你是錯在哪
下圖就是止損設定太近﹐會顯示 [ Invalid stops ]

5TPSL錯誤由上圖可以看得出來
止損設定太近﹐所以下單手數都超大der

 

 

(3) 移動止損(或修改止損) 錯誤

OrderModify error 常出現在當你的EA有移動停損機制時
就是你在下單之後﹐有會去修改停損停利的點位時

如果要修改的點位設定的不正確
MT4當中就會出現 ordermodify error 130
你要去檢查一下你修改停損停利部分的程式碼

4移動SL錯誤

 

MT5則一樣是顯示ordersend error 4756
因為MT5修改止損一樣是使用ordersend的function
不過可以看到會告訴你是 failed modify
就可以知道是已經下單之後﹐要去移動停損或停利而導致的錯誤

5移動SL錯誤

 

 

以上就是新手們比較常遇到的三種回測錯誤訊息
感謝學員建議說要整理出來﹐艾比覺得這個建議很棒

之前艾比遇到錯誤時﹐從來沒想說要整理
我都是每次遇到什麼錯誤就Google去查﹐改完就繼續程式開發
永遠都記不住哪個錯誤是什麼意思XDD

以後如果發現還有什麼大家比較容易出錯的地方
再補上來囉

艾比曾經有一段時間對交易很迷茫
因為聽到了一個說法
說做投資交易的人是對社會「沒有貢獻」的

的確

因為靠投資交易賺來的錢
並不是靠勞動或是付出什麼而得到的
而是靠著在市場當中別人的輸錢而得來的

為什麼要做著對世界沒有幫助的事情
「我是不是應該轉行?」
「我是不是應該去找一份能對社會有貢獻的職業?」

在那段時間艾比一直在思考交易的意義
面對跟交易有關的一切事情
都快樂不起來
因為我覺得自己竟然成為了一個「沒用的人」

後來在一本書當中
學習到了金融的本質,也了解到了金融的意義

--------

人都會生老死,因此有了和其他人做跨期交換的需求
➡金融的本質就是「價值的跨期交換」

人活著的基本行為是在做👉「規避風險」

從東西方早期的文化可以看出規避風險的兩個極端

【東方-儒家文化】

使用「人」當作規避風險的手段
「養兒防老」是儒家文化的出發點

重男輕女
因為男生娶老婆進門,才會是自己家的人
為這個家能夠付出勞力,長輩老了之後照顧長輩

家族婚姻
兒女沒有自由選擇婚姻的權利
因為情感的自由遠不及家族的利益來得重要

傳統社會沒有個人自由 → 自由選擇和養兒防老是不相容的

一個社會越是以「人」為金融、避險工具
就越依戀血緣這種原始因素

【西方-資本主義】

金融市場發達、有豐富的金融工具
透過保險、投資等規劃
不需用養兒防老當作生老病死風險的唯一安排

👉人們可以更自由的安排想要的生活方式

(在中國受儒家文化影響越深的地區,買保險的人口比就越低)

相較於華人重視血緣、傳子不傳賢
歐美更多願意領養小孩
在政府與公司等也能夠讓真正有能力的人來做事

--------

艾比以前剛踏入交易市場時
跟大部分的人一樣
只想要多增加一些收入來讓自己的生活過得更好

但後來開始開設課程收學生
全部的生活都是跟交易相關的
專職從事這些工作

讓我開始思考在賺錢之外,做這些事情的意義

開始去了解為什麼世界會發展出金融?
金融市場帶給世界的幫助又是什麼?

從早期發展出的證券市場
到期貨、選擇權這些衍伸性金融商品
股市、房市、匯市等等
不只是投資者在其中可以獲取財富
而都是有其存在的價值與意義的

理解了之後
艾比對於交易是對社會「沒有貢獻」的這個觀念
就徹底改觀了

這本書是「**耶魯最受歡迎的金融通識課**」
作者陳志武是耶魯大學管理學院金融學教授
雖然是中國湖南人
但對於東西方金融市場分析的非常精闢在理

是一本艾比非常推薦、值得一讀的好書

💬IG留言「金融」
艾比就私訊送給你超過萬字的讀書心得整理
看完覺得收穫滿滿

讓你即使沒有時間看完整本
也可以快速吸收到精華喔

🔔關注@mt4mt5 學習更多交易知識
艾比曾經有一段時間對交易很迷茫 因為聽到了一個說法 說做投資交易的人是對社會「沒有貢獻」的 的確 因為靠投資交易賺來的錢 並不是靠勞動或是付出什麼而得到的 而是靠著在市場當中別人的輸錢而得來的 為什麼要做著對世界沒有幫助的事情 「我是不是應該轉行?」 「我是不是應該去找一份能對社會有貢獻的職業?」 在那段時間艾比一直在思考交易的意義 面對跟交易有關的一切事情 都快樂不起來 因為我覺得自己竟然成為了一個「沒用的人」 後來在一本書當中 學習到了金融的本質,也了解到了金融的意義 -------- 人都會生老死,因此有了和其他人做跨期交換的需求 ➡金融的本質就是「價值的跨期交換」 人活著的基本行為是在做👉「規避風險」 從東西方早期的文化可以看出規避風險的兩個極端 【東方-儒家文化】 使用「人」當作規避風險的手段 「養兒防老」是儒家文化的出發點 重男輕女 因為男生娶老婆進門,才會是自己家的人 為這個家能夠付出勞力,長輩老了之後照顧長輩 家族婚姻 兒女沒有自由選擇婚姻的權利 因為情感的自由遠不及家族的利益來得重要 傳統社會沒有個人自由 → 自由選擇和養兒防老是不相容的 一個社會越是以「人」為金融、避險工具 就越依戀血緣這種原始因素 【西方-資本主義】 金融市場發達、有豐富的金融工具 透過保險、投資等規劃 不需用養兒防老當作生老病死風險的唯一安排 👉人們可以更自由的安排想要的生活方式 (在中國受儒家文化影響越深的地區,買保險的人口比就越低) 相較於華人重視血緣、傳子不傳賢 歐美更多願意領養小孩 在政府與公司等也能夠讓真正有能力的人來做事 -------- 艾比以前剛踏入交易市場時 跟大部分的人一樣 只想要多增加一些收入來讓自己的生活過得更好 但後來開始開設課程收學生 全部的生活都是跟交易相關的 專職從事這些工作 讓我開始思考在賺錢之外,做這些事情的意義 開始去了解為什麼世界會發展出金融? 金融市場帶給世界的幫助又是什麼? 從早期發展出的證券市場 到期貨、選擇權這些衍伸性金融商品 股市、房市、匯市等等 不只是投資者在其中可以獲取財富 而都是有其存在的價值與意義的 理解了之後 艾比對於交易是對社會「沒有貢獻」的這個觀念 就徹底改觀了 這本書是「**耶魯最受歡迎的金融通識課**」 作者陳志武是耶魯大學管理學院金融學教授 雖然是中國湖南人 但對於東西方金融市場分析的非常精闢在理 是一本艾比非常推薦、值得一讀的好書 💬IG留言「金融」 艾比就私訊送給你超過萬字的讀書心得整理 看完覺得收穫滿滿 讓你即使沒有時間看完整本 也可以快速吸收到精華喔 🔔關注@mt4mt5 學習更多交易知識

One thought on “MT4/MT5程式交易EA回測常出現的錯誤訊息

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *