原始碼與編譯
MQL5 CopyBuffer:指標控制代碼與已收盤 K 線
指標控制代碼指向一項指標計算,CopyBuffer 則讀取計算結果。分清這兩個步驟,有助於寫出容易理解和測試的 EA。
建立並檢查控制代碼
常見做法是在初始化階段建立指標控制代碼,並檢查 INVALID_HANDLE。記錄控制代碼對應的參數和週期。每個 Tick 都重複建立同一指標,會增加不必要的工作,也不利於清晰處理錯誤。
確認資料已準備好
BarsCalculated 返回已完成計算的資料數量。CopyBuffer 返回實際複製數量或錯誤結果。讀取目標陣列前,確認複製數量滿足請求;尚未準備好的資料不能被預設為有效交易訊號。
明確選擇哪根 K 線
按位置呼叫 CopyBuffer 時,起始位置 0 指當前形成中的 K 線,基於已收盤 K 線的規則通常讀取位置 1。只複製一個元素時較直觀;複製多個元素時,還需要確認陣列排列順序,不能預設與程式中其他陣列一致。
建立小型診斷案例
- 只選一個指標和一個明確週期。
- 以受控頻率記錄 K 線時間與讀取值。
- 將結果與終端指標顯示比較。
- 分別測試歷史尚在載入的啟動階段和後續普通 K 線。
用 MQLume 開啟你的定製
MQLume 把閱讀原始碼變成實踐學習路徑。瀏覽 My AI Gold MT5,在獨立副本中研究並完善自己理解的指標邏輯。













