寫 AI 同 MQL,列出 AI 錯誤嘅 12 處
インジ開発室
AI同MQL寫嘅,AI犯過嘅地方列咗12條 ── 編譯喺發現到嘅只有1條
lab.aiueo | MT4/MT5指標開發及銷售
この記事可以知道嘅事
■用AI寫嘅MQL,AI犯過嘅12條
■各自嘅症狀、點樣發現、而家嘅規則
■12條並列後嘅啟示
12條 AI嘅錯誤 | 1條 係編譯錯誤 | 11條 編譯係通過嘅 |
我哋係做MT4/MT5嘅指標,喺GogoJungle銷售嘅 lab.aiueo。
我本人寫嵌入式C語言差唔多20年。而家嘅指標係同AI(Claude Code)一齊寫。
開發筆記入面,AI犯過嘅地方同之後確定嘅規則都留低咗。今日就從中挑出12條,整理出嚟。
先講先整嘅,會寫咗嘅嘢。
重點
喺12條入面,僅有1條係因編譯錯誤發現嘅。
其餘11條都係編譯過、睇落運作正常。
最重嘅1條
1. 驗證腳本嘅一行,睇到未來嘅價格
- 症狀:Gold嘅簽名工具GD-Signal嘅驗證顯示勝率87%、PF2.21呢啲數字,產品頁同文章都有放
- 原因:用Python重寫MQL4邏輯嘅時候,決定止損嘅其中一行,忘記把K線嘅排列方向倒轉。止損放喺「未來六根低點」之下
- 發現方法:用另一个簽名工具做EA喺MT4嘅測試器跑,勝率只有52%,同Python嘅數字唔一致
- 而家嘅規則:數字喺MT4實機出同一個值先至信,確認未來嘅K線有無被睇錯,呢個檢查單獨逐行做
呢行即使喺AI寫嘅代碼全部逐行通過審查之後,仍然存在。GD-Signal已停止銷售。因為冇人買,實害唔到。
數字寫錯咗
2. 用過去嘅信號喺而家市場狀態去打分
- 症狀:MT5版本嘅 SMC-Signal,過去嘅圖表只出現賣出箭頭
- 原因:重畫過去嘅K線時,上方嘅時間周期嘅方向,按落圖表嗰一瞬間嘅方向去計算
- 發現方法:買咗嘅人嚟話
- 而家嘅規則:重畫過去嘅時候,全部以「嗰條K線嗰時點」嘅信息去計算
3. 條嘢撇嘅量(lot)一直細咗1級
- 症狀:資金管理指標RM-LOT,預期係1.43手,結果變成1.42手
- 原因:1.43÷0.01喺電腦入面會變成142.999…,然後去截尾就變142
- 發現方法:喺模擬戶逐個手數驗算發現
- 而家嘅規則:截尾之前,加一個極細嘅數(0.00000001),資金計算要手算
壞咗個檔案
4. 保存後,字元編碼變咗
- 症狀:MT4嘅源碼由Shift-JIS變成UTF-8再保存
- 原因:AI用嘅編輯工具把Shift-JIS嘅檔案用UTF-8寫返去
- 發現方法:發覺變咗,從git嘅最後個Shift-JIS版本還原
- 而家嘅規則:MT4源碼用Python以Shift-JIS讀入,以Shift-JIS寫回
5. 替換指令中,「\\」變成半個
- 症狀:MQL字串入面嘅「\\\\」變成「\\」,「\\r\\n」變成真正嘅換行
- 原因:AI打嘅指令中,「\\」被分解解析咗一步再渡交畀Python
- 發現方法:編譯錯誤。12條入面,只有呢條出現錯誤
- 而家嘅規則:含「\\」嘅替換,要寫成檔案再執行
6. 驗證腳本放喺臨時資料夾無移走
- 症狀:勝率PF等數字只係寫咗喺備忘錄,腳本仍喺臨時資料夾
- 原因:AI會喺臨時資料夾寫用完即棄嘅腳本
- 發現方法:喺第一條查原始數字嘅腳本,發現已經快失去
- 而家嘅規則:出數字嘅腳本必須放入版本庫,唔好只係寫喺備忘錄
畫面搞錯咗
7. 將面板放喺屏幕底部,變成細條
- 症狀:SMC-Signal資訊面板喺屏幕底角放置,背景變成細條
- 原因:喺MT4,以下角嘅放置方法唔能喺背景方塊內按規格咁動
- 發現方法:睇圖表,我自己都好幾次犯
- 而家嘅規則:面板永遠以左上角作基準,根據圖表寬高計算位置
8. 移除指標後,箭頭同面板仲喺
- 症狀:移除指標後,箭頭、點數、面板仍然存在
- 原因:喺運作期間會保留「留住」嘅刪除函數,效果結束時亦使用
- 發現方法:睇住圖表,我自己發現
- 而家嘅規則:動作期間嘅刪除同結束時嘅刪除分開用唔同嘅函數
9. 出品嘅文案到最後一刻,面板文字有啲超出框線
- 症狀:GD-Deck 初始設置下,兩條關閉選項行超出面板框線,補充文字顏色同背景對比唔好睇
- 原因:喺介面睇一次就未測量字寬同顏色深淺
- 發現方法:我講「灰色唔易睇」之後,重新測量全部文字
- 而家嘅規則:面板文字以實際字體寬度測量,顏色對比先計算再顯示
10. 左下放嘅介面喺MT5顯示喺右下
- 症狀:SMC-Compass MT5版,左下選中就顯示喺右下
- 原因:圖表角嘅數字喺MT4同MT5唔同,直接傳遞咗個數字
- 發現方法:睇圖表
- 而家嘅規則:角嘅指定用有名字嘅常數去傳遞,而唔係用數字
憑直覺寫出嚟
11. 「MT4無法用命令編譯」呢個講法喺操作手冊寫咗
- 症狀:MT4指標每次都打開MetaEditor嚟編譯
- 原因:AI寫嘅操作手冊上寫「MT4不能從命令編譯」
- 發現方法:做RM-LOT嘅時候,試下同MT5同樣方法,結果通過
- 而家嘅規則:寫「不能」之前,先試一試
12. 出品文案多咗一個評分要素
- 症狀:SMC-Compass MT5嘅出品表單同推廣文入面寫住「6個要素評分包含BOS/CHoCH」
- 原因:實際上評分只有5個要素,BOS/CHoCH只是評分嘅基礎而已
- 發現方法:製作出品素材時,AI自己發覺並改正
- 而家嘅規則:功能說明要同手冊同產品頁面,以及數字層級一致
整理後可以得出嘅啟示
- 編譯通過唔等於係正確嘅證明。12條入面有11條都通過編譯
- 發現嘅原因係:睇圖表嘅外觀、買家嘅回饋、手動驗算嘅數字、用其他方法得出嘅數字
- AI嘅錯誤係以唔會變成錯誤嘅形式出現。所以事先要定好驗證方式
數組方向、字元編碼、小數四捨五入。整理起來,呢啲都唔係AI獨有嘅錯誤,係人類長久以嚟都會出現嘅錯誤,AI同樣會出現。
唔同嘅係,AI寫得快。若果驗證嗰方跟唔上,錯誤就會越嚟越多。
總結
■把AI寫嘅MQL錯誤,從開發筆記度整理成12條
■12條入面,只有1條係因編譯錯誤而發現
■最重嘅係驗證腳本嘅一行睇到未來嘅K線,全部行嘅審查都通過
■發現嘅係睇圖表嘅外觀、買家、手動驗算、用另一種方法得出嘅數字
■如果有錯,就定一條規則,留低喺筆記度
免責聲明
本篇文章係我自己嘅開發紀錄。唔係推介特定AI服務或工具,亦唔係否定佢。投資決定請自行承擔風險。
多謝讀完呢篇文章。
下次將BOS同CHoCH代碼化,講下「幾時確定」箭頭嘅時刻點。