描述
網格交易本質上是算術運算,而大多數網格代碼在以下三個方面存在錯誤:它比較的是價格而不是階梯索引,因此浮點噪聲會重新觸發填充;它沒有超出區間的概念,因此會不斷在低於底部的價格買入;而且它沒有退出機制,因此會永遠積累庫存。 該軟體包首先將價格簡化為整數階梯指數,並在該指數空間內進行所有決策。這從結構上消除了重複觸發問題。此外,當價格收盤價低於底部時,它還會返回一個明確的止損動作——此時網格不再“有效”,而是失效了。當有人詢問機器人為何持續買入時,這種差異至關重要。 何時使用此功能 • 代理人執行區間約束累積計劃,需要進行層級決策。 • 您必須偵測到網格結構已失效,而不僅僅是無利可圖。 • 您需要一個關於指數空間與價格空間網格邏輯的範例。 在下跌趨勢中,這種做法會起到正面作用。該指標是整體風險控制的一部分,但該指標本身並不會決定你的設定位置。 本包裹特意不包含以下內容 這是一個框架版本,並非經過最佳化的生產版本。具體來說: • 不提供每級報價金額。故意省略了 `amount_per_grid` 參數,因此該軟體包無法告知您建造完整階梯所需的資金——請在開始之前自行根據網格計算。 • 不支援自動調整範圍。價格區間為輸入值。如果您根據近期價格設定價格區間,則該邏輯由您自行實現。 • 不支援調整價格區間或階梯數量。 • 程式碼中沒有預設閾值。 scripts/grid_ladder.py 會拋出 PARAM_INCOMPLETE 異常,而不是回退到一個數值。這種靜默的預設值會讓你誤以為自己正在運行一個經過校準的系統,而實際上你運行的是別人的參數。 每一個決策邊界都是一個輸入。這就是整份合約。 決策合約 • 操作:條件 • 種子:尚未記錄任何階梯 - 記錄級別並打開第一個片段 • 買入:當前階梯低於上一個已記錄的階梯 • 退出:價格至少高於您的平均入場價一級 • 停止:價格低於底部 - 階梯失效 • 等待:以上均不適用 • 等待:以上均不適用 回應包含等級、步長和網格,以便呼叫者可以將自己的帳簿與階梯索引進行核對,而不是與浮動價格進行核對。 輸出方案 { "action": "buy", "price": 58840.0, "level": 2, "step": 583.33, "grids": 24, "avg_entry": 60020.0, "reason": "rung 2 is below the last filled rung 3" } 操作是唯一必須基於其進行分支的欄位。原因欄位僅供日誌記錄和代理程式向使用者回饋,請勿解析。 運行它 python3 scripts/grid_ladder.py \ --params references/params-example.json \ --symbol BTC/USDT \ --interval 15m references/params-example.json 檔案包含一些整數,顯然是為了方便說明。它們的存在是為了確保命令能夠一次成功運行,並非因為它們本身是正確的。 進料位置狀態: python3 scripts/grid_ladder.py --params my.json --state '{"avg_entry": 61250.5, "layers": 2}' 校準閾值 1. 上下軌-整個風險模型都基於這個區間。設定上下軌時,應基於你從結構上認可的範圍,而不是基於你每天重新計算的移動平均線:跟隨價格走勢的上下軌能夠確保底部得到測試。 2. 網格 - 階梯數。階梯越多,平均值越平滑,步長越小,這在區間震盪中是好事,但在趨勢中卻是致命的,因為下跌時階梯填充得更快。總資金為網格數量乘以每網格金額;請在調整夾點大小之後再調整階梯數,切勿在此之前調整。 3. 合理性檢查:網格(上限 - 下限)應大於您所交易品種的典型柱線範圍。如果單一柱線跨越多個網格,則表示網格過細。 至少要進行一次完整的震盪行情到趨勢行情的回測。在平靜樣本中看起來盈利的網格通常只是反映了未實現的庫存。 已知極限 • 此階梯策略是單向的:它向下買入,並在平均值處退出,不會向上突破區間賣出。對稱網格行為尚未實現。 • avg_entry 值由呼叫者提供。過時的平均值會使退出測試失去意義。 • 階梯索引使用浮點數步長的向下取整,因此價格恰好位於階梯邊界上可能會導致兩次呼叫之間索引翻轉。將同一階梯上的兩次買入視為執行器去重問題。 • 沒有資金、借款或費用會計;在長期運作的網格中,這些成本占主導地位。 免責聲明 這是一個用於研究和教育的決策框架。它並非投資建議、獲利聲明或回測結果。加密貨幣衍生性商品可能損失超過本金。您需對您選擇的參數以及您的執行人下的每一筆訂單負責。