切換時間線後,箭頭消失── 設計保存並復原信號工具箭頭,之後發生的偏移
3 種 改正方法 | 2 種 基準不同的箭頭排列在同一張圖上 | 0 次 回復箭頭時的通知 |
製作 MT4/MT5 指標並在 GogoJungle 銷售的 lab.aiueo。
6 月,有人購買了 SMC-Signal,與我聯絡。
在以箭頭作為入場依據後,確認上方的時間框架再回到原本的時間框架,箭頭與獲利/止損線就消失了,內容是這樣。
無法稍後再查看作為入場依據的箭頭。對使用者而言,這是最困擾的消失方式。
今天要寫的是,其原因與修正方式,以及修正後又出現了一個「位移」的故事。
切換時間框架時,指標從頭再運作
MT4 在切換圖表的時間框架時,會結束該圖表的指標並從頭啟動。繪製的箭頭與線條一度全部消失。
之後,指標會從過去的價格重新繪製。能繪回的就回繪,無法繪回的就保持消失。
在同一時間框架下使用時,SMC-Signal 的箭頭不會消失。消失只在切換時間框架或重新啟動 MT4 時發生。
消失的是「回測」箭頭
SMC-Signal 的箭頭有兩種出法。
- 突破:前一高低點被收盤價突破時出現
- 回測:突破後,價格回到同向的 OB 或 FVG 之內時出現
突破箭頭可以根據過去價格重新計算「在哪裡突破」。因此在重新繪製時會回到原來的箭頭。
回測的判定曾經只看「剛確定的那根蜱」,隨著時間推移,該蜱已不再是「剛確定的蜱」。重新繪製時找不到符合的蜱,箭頭與獲利與損失的線也無法回到原樣。
修正方式,想了三種
- 回測也要從過去價格重新判定
- 出現的箭頭當下就存為檔,重新啟動後再讀回
- 突破為 1、回測為 2,分別使用
不選擇第 1 個是因為無法保證能把當時的狀態完全複製。回測的判定需要當時有效的 OB 或 FVG。若重做後的結果與當時實際出現的箭頭不同,會變成「之後箭頭會改變」的指標。
第 3 點會讓回復方式變成兩條路線。修正時的工作量會翻倍。
因此改成第 2 點。直接保存箭頭在出現時的值,並直接重新繪製。若出現的箭頭與當時不同,將不會有所變化。
保存並回復的設計(Ver1.03、6 月 5 日)
- 保存位置:每個貨幣對與時間框架各自一個檔案(例如 EURUSD_15.csv 為歐元美元 15 分鐘線)
- 保存內容:蜱的時間、方向、入場價格、止損、獲利三條、風險回報、分數
- 保存時機:出現箭頭的瞬間就多存一行。同一足、同一方向不重寫
- 回復時:啟動後在首次計算時僅讀取一次。繪製出圖表中已加載範圍的箭頭,只繪製最新的一組獲利與損失線
- 通知:回復的箭頭不會發出通知。因為如果把過去的箭頭當成現在出現的箭頭,會造成誤解
- 整理:把圖表範圍之外的列刪除
- 設定:為不想保存的人加上切斷(PersistSignals)
把檔案按時間框架分開,是因為回測對該時間框架的蜱才有意義。切換到 1 小時框架時,會讀取 1 小時的檔案。
修正後再出現的另一個位移
8 月,有人購買了 MT5 版本,告訴我「過去的圖表只出現賣出箭頭」的訊息。
起初懷疑是移植錯誤。不過判定的程式碼與 MT4 版相同。
原因在於,過去繪製時分數的設定方式。
SMC-Signal 以五個依據(OB・FVG・Premium/Discount・Sweep・上方時間框架的走向)給予分數,達標就會出箭頭。
在過去繪製時,這些條件中上方時間框架的走向,被以「該足點時的走向」而非「放入圖表瞬間的走向」去計算。Sweep 也是如此。
當上方時間框架為下趨時放入圖表,過去所有的足都會被賦予賣出 1 點、買入 0 點。初始設定下,只有 2 點就會出箭頭,因此過去圖表中買入幾乎不再出現。
那 MT4 版為何仍出現買入?
因為 MT4 版是從前面開始移動,因此實際出現的箭頭被從 6 月建立的保存檔中回復。保存的箭頭在出現時的上方時間框架走向,擁有正確的分數。
也就是說,一張圖上同時出現兩種不同基準的箭頭。
- 從保存檔回復的箭頭:以出現時的狀態給分
- 從過去價格重新繪製的箭頭:以放入圖表瞬間的狀態給分
MT5 版剛上市,保存檔幾乎為空。因此只有後者可見。
「以該足點的時點」重新計算(MT4 版 Ver1.08・MT5 版 Ver1.01)
於 8 月 29 日版本,更新了從過去繪製時的數算方法。
- Sweep:忽略該足之後發生的
- 上方時間框架的走向:以該足所屬的上方時間框架在該時點的走向判定。不看該足之後的任何足
面板上顯示的上方時間框架走向亦以相同的計算方式得出。若分別單獨計算,面板顯示的下向與分數卻會相反,造成矛盾。
坦白說,OB與FVG 的點數尚未能在「該足的時點」完成。因為尚未因為過去就位的區域設定。首次把圖表放入時,過去要重新繪製的部分,僅把 OB 與 FVG 設在放入時點的區域內進行計數。
9 月起,於移動過程中過去的足出現箭頭的問題也被發現並修正。
作為開發者,我們決定了的事情
- 只能在瞬間判定的箭頭,保存該瞬間的值再回復
- 重新繪製過去時,全部以「該足點時點」的資訊進行計數。不以現在的狀態去對過去作判定
- 若保存的與重新繪製的箭頭同時出現在同一張圖內,需確認是否使用同樣的基準
- 回復的箭頭不發出通知
SMC-Signal
以五個根據給分,於確定的足上出箭頭的信號工具。切換時間框架、重啟 MT4/MT5 後,箭頭與獲利及損失的線會回復。
SMC-Signal(MT4) | 查看銷售頁面 |
SMC-Signal MT5 | 查看銷售頁面 |
本文基於我自身的開發工作與購買者的回覆所撰寫。文中介紹的指標只是用於協助市場分析,並不保證獲利。箭頭不構成買賣建議。投資決策請自行承擔風險。
感謝閱讀至此。