幫助中心
交易機器人
CTA-專家機器人

自定義策略示例

2025-03-21 UTC+8
23299 閱讀
7

一、區間突破策略


本例著重說明如何使用自定義規則創建策略 開倉 多倉:突破最近60分鐘的高點 空倉:跌破最近60分鐘的低點 平倉 平多:跌破近10分鐘的低點 平空:突破近10分鐘的高點

1. 新建規則

1.1 開多倉規則 -long position opening conditions

條件 price("BTC_USDT", 0, "usdt") > max_price("BTC_USDT", 60, "usdt") and order_collateral("usdt") ==0 and position("BTC_USDT", "usdt") == 0

(1)price("BTC_USDT", 0, "usdt") > max_price("BTC_USDT", 60, "usdt") 此條件表示當前最新BTC永續合約價格大於最近60分鐘BTC永續合約的最高價。

(2)and order_collateral("usdt") ==0 此條件表示當前策略沒有掛單,order_collateral為預設函數,表示獲取未完成訂單的保證金,如果該函數返回值為0,表示目前策略沒有進行中的掛單。

(3)and position("BTC_USDT", "usdt") == 0 此條件表示策略當前倉位為0,position為預設函數,返回指定市場下,策略當前倉位數量。

執行邏輯 類型:合約交易;交易市場:BTC/USDT 永續合約;委託類型:限價;槓桿倍數:5X;方向:做多;限價:bid_price("BTC_USDT”, 1, "usdt");數量:1。

1.2 開空倉規則 -short position opening conditions

條件 price("BTC_USDT", 0, "usdt") < min_price("BTC_USDT", 60, "usdt") and order_collateral("usdt") ==0 and position("BTC_USDT", "usdt") == 0

(1)price("BTC_USDT", 0, "usdt") < min_price("BTC_USDT", 60, "usdt") 此條件表示當前最新BTC永續合約價格低於最近60分鐘BTC永續合約的最低價。

(2)and order_collateral("usdt") ==0 此條件表示當前策略沒有掛單。

(3)and position("BTC_USDT", "usdt") == 0 此條件表示策略當前倉位為0 。

執行邏輯 類型:合約交易;交易市場:BTC/USDT 永續合約;委託類型:限價;槓桿倍數:5x;方向:做空;限價:ask_price("BTC_USDT", 1, "usdt");數量:1。

1.3 平多倉規則 -close long position

條件 price("BTC_USDT", 0, "usdt") < min_price("BTC_USDT", 10, "usdt") and order_collateral("usdt") ==0 and position("BTC_USDT", "usdt") > 0

(1)price("BTC_USDT", 0, "usdt") < min_price("BTC_USDT", 10, "usdt") 此條件表示當前最新BTC永續合約價格低於最近10分鐘BTC永續合約的最低價。

(2)and order_collateral("usdt") ==0 此條件表示策略當前沒有掛單。

(3)and position("BTC_USDT", "usdt") > 0 此條件表示策略之前已經建立倉位,在此基礎上進行平倉操作。

執行邏輯 類型:合約交易;交易市場:BTC/USDT 永續合約;委託類型:限價;槓桿倍數:5x;方向:做空;限價:ask_price("BTC_USDT”, 1, "usdt");數量:1。

1.4 平空倉規則 -close short position

條件 price("BTC_USDT", 0, "usdt") > max_price("BTC_USDT", 10, "usdt") and order_collateral("usdt") ==0 and position("BTC_USDT", "usdt") < 0

(1)price("BTC_USDT", 0, "usdt") > max_price("BTC_USDT", 10, "usdt") 此條件表示當前最新BTC永續合約價格高於最近10分鐘BTC永續合約的最高價。

(2)and order_collateral("usdt") ==0 此條件表示策略當前沒有掛單。

(3)and position("BTC_USDT", "usdt") < 0 此條件表示策略之前已經建立倉位,在此基礎上進行平倉操作。

執行邏輯 類型:合約交易;交易市場:BTC/USDT 永續合約;委託類型:限價;槓桿倍數:5x;方向:做多;限價:ask_price("BTC_USDT", 1, "usdt");數量:1。

2. 創建策略

按照先開倉再平倉的執行順序依次添加“long position opening conditions” 、“short position opening conditions”、“close long position”、“close short position”這些規則。

二、極值突破策略


本例著重說明如何使用自定義變量創建策略 開多倉/平空倉 其中:price(t)表示當前時刻的最新價格 close(t-1)表示上一時刻的收盤價格 開空倉/平多倉

1. 新建變量

變量名稱: range 條件 true 變量值 max_price("BTC_USDT", 10, "usdt") - min_price("BTC_USDT", 10, "usdt")

2. 新建規則

2.1 開多倉規則-open long

條件 price("BTC_USDT", 0, "usdt")>price("BTC_USDT", 1, "usdt")+get_value("range")*0.5 and order_collateral("usdt") ==0 and position("BTC_USDT", "usdt") == 0

(1)price("BTC_USDT", 0, "usdt")>price("BTC_USDT", 1, "usdt")+get_value("range")0.5 此條件表示多單開倉條件 : price(t) > Close(t-1) + 0.5range 其中自定義變量“range”,通過get_value函數訪問。

(2)and order_collateral("usdt") ==0 此條件表示策略當前沒有進行中的掛單。

(3)and position("BTC_USDT", "usdt") == 0 此條件表示策略沒有已開倉位。

執行邏輯 類型:合約交易;交易市場:BTC/USDT 永續合約;委託類型:限價;槓桿倍數:5x;方向:做多;限價:bid_price("BTC_USDT", 1, "usdt");數量:1。

2.2 開空倉規則-open short

條件 price("BTC_USDT", 0, "usdt")<price("BTC_USDT", 1, "usdt") - get_value("range")*0.5 and order_collateral("usdt") ==0 and position("BTC_USDT", "usdt") == 0

(1)price("BTC_USDT", 0, "usdt")<price("BTC_USDT", 1, "usdt") - get_value("range")*0.5 此條件表示開空倉條件: 其中自定義變量“range”,通過get_value函數訪問。

(2)and order_collateral("usdt") ==0 此條件表示策略當前沒有進行中的掛單。

(3)and position("BTC_USDT", "usdt") == 0 此條件表示策略沒有已開倉位。

執行邏輯 類型:合約交易;交易市場:BTC/USDT 永續合約;委託類型:限價;槓桿倍數:5x;方向:做空;限價:ask_price("BTC_USDT", 1, "usdt");數量:1。

2.3 平多倉規則-close long

條件 price("BTC_USDT", 0, "usdt")<price("BTC_USDT", 1, "usdt") - get_value("range")*0.5 and order_collateral("usdt") ==0 and position("BTC_USDT", "usdt") > 0

(1)price("BTC_USDT", 0, "usdt")<price("BTC_USDT", 1, "usdt") - get_value("range")*0.5 此條件表示平多倉條件: 其中自定義變量“range”,通過get_value函數訪問。

(2)and order_collateral("usdt") ==0 此條件表示策略當前沒有進行中的掛單。

(3)and position("BTC_USDT", "usdt") > 0 此條件表示當前已有多倉倉位,在此基礎上進行平倉操作。

執行邏輯 類型:合約交易;交易市場:BTC/USDT 永續合約;委託類型:限價;槓桿倍數:5x;方向:做空;限價:ask_price("BTC_USDT", 1, "usdt");數量:1。

2.4 平空倉規則-close short

條件 price("BTC_USDT", 0, "usdt")>price("BTC_USDT", 1, "usdt")+get_value("range")*0.5 and order_collateral("usdt") ==0 and position("BTC_USDT", "usdt") < 0

(1)price("BTC_USDT", 0, "usdt")>price("BTC_USDT", 1, "usdt")+get_value("range")*0.5 此條件表示平空倉條件 : 其中自定義變量“range”,通過get_value函數訪問。

(2)and order_collateral("usdt") ==0 此條件表示策略當前沒有進行中的掛單。

(3)and position("BTC_USDT", "usdt") < 0 此條件表示當前已有空倉倉位,在此基礎上進行平倉操作。

執行邏輯 類型:合約交易;交易市場:BTC/USDT 永續合約;委託類型:限價;槓桿倍數:5x;方向:做多;限價:bid_price("BTC_USDT", 1, "usdt");數量:1。

3. 創建策略

在使用自定義變量的情況下,應將自定義變量的執行順序排在規則之前,例如“range”自定自定義變量的執行順序為1,而開平倉規則的執行順序為2到5。

本產品最終解釋權歸Gate所有。

立即註冊,最高可領 $10,000 迎新獎勵!
signup-tips