一、區間突破策略
本例著重說明如何使用自定義規則創建策略 開倉 多倉:突破最近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所有。
