1. 範囲ブレイクアウト戦略
この例では、カスタムルールを使用して戦略を作成する方法を詳しく説明します。
エントリー条件 ロングポジション:直近60分の高値をブレイクアウト ショートポジション:直近60分の安値を下回る
決済条件 ロングの決済:直近10分の安値を下回る ショートの決済:直近10分の高値をブレイクアウト
1.1 新しいルールの作成
1. ロングポジションのエントリールール
条件 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分間の最高値を上回っていることを示します。
(2)and order_collateral("usdt") == 0
この条件は、現在の戦略で未執行の注文がないことを示します。order_collateralは、未完了の注文に必要な証拠金を取得するための関数で、この関数が0を返す場合、現在の戦略には未完了の注文がないことを意味します。
(3)and position("BTC_USDT", "usdt") == 0
この条件は、現在の戦略がポジションを持っていないことを示します。positionは指定された市場での現在の戦略のポジション数を返す関数です。
実行ロジック
-タイプ:先物取引
-取引市場:BTC/USDT 先物
-注文タイプ:指値
-レバレッジ倍率:5倍
-方向:ロング
-指値:bid_price("BTC_USDT", 1, "usdt")
-数量:1

2. ショートポジションのエントリールール
条件 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分間の最低価格を下回っていることを示します。
(2)and order_collateral("usdt") == 0
この条件は、現在の戦略で未執行の注文がないことを示します。
(3)and position("BTC_USDT", "usdt") == 0
この条件は、現在の戦略がポジションを持っていないことを示します。
実行ロジック
- タイプ:先物取引
- 取引市場:BTC/USDT 先物
- 注文タイプ:指値
- レバレッジ倍率:5倍
- 方向:ショート
- 指値:ask_price("BTC_USDT", 1, "usdt")
- 数量:1

3. ロングポジションのクローズルール
条件 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分間の最低価格を下回っていることを示します。
(2)and order_collateral("usdt") == 0
この条件は、現在の戦略で未執行の注文がないことを示します。
(3)and position("BTC_USDT", "usdt") > 0
この条件は、戦略が既にポジションを持っており、決済操作を行うことを示します。
実行ロジック
- タイプ:先物取引
- 取引市場:BTC/USDT 先物
- 注文タイプ:指値
- レバレッジ倍率:5倍
- 方向:ショート
- 指値:ask_price("BTC_USDT", 1, "usdt")
- 数量:1

4. ショートポジションのクローズルール
条件 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分間の最高価格を上回っていることを示します。
(2)and order_collateral("usdt") == 0
この条件は、現在の戦略で未執行の注文がないことを示します。
(3)and position("BTC_USDT", "usdt") < 0
この条件は、戦略が既にポジションを持っており、決済操作を行うことを示します。
実行ロジック
- タイプ:先物取引
- 取引市場:BTC/USDT 先物
- 注文タイプ:指値
- レバレッジ倍率:5倍
- 方向:ロング
- 指値:ask_price("BTC_USDT", 1, "usdt")
- 数量:1

1.2 戦略の作成
建玉→決済の順序で、「ロングポジションのエントリールール」、「ショートポジションのエントリールール」、「ロングポジションのクローズルール」、「ショートポジションのクローズルール」を順番に追加します。

2. エクストリームブレイクアウト戦略
この例では、カスタム変数を使用して戦略を作成する方法に焦点を当てます。
ロングポジションのエントリー/ショートポジションのクローズ

ここで、pricet は現在の時点の最終価格を表します closet-1 は前の時点の終値を表します ショートオープン/ロングクローズ
2.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.5 range
ここで、カスタム変数「range」はget_value関数を通じてアクセスされます。
(2)and order_collateral("usdt") == 0
この条件は、現在の戦略で未執行の注文がないことを示します。
(3)and position("BTC_USDT", "usdt") == 0
この条件は、戦略が未開のポジションを持っていないことを示します。
実行ロジック
- タイプ:先物取引
- 取引市場:BTC/USDT 先物
- 注文タイプ:指値
- レバレッジ倍率:5倍
- 方向:ロング
- 指値:bid_price("BTC_USDT", 1, "usdt")
- 数量:1

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 先物
- 注文タイプ:指値
- レバレッジ倍率:5倍
- 方向:ショート
- 指値:ask_price("BTC_USDT", 1, "usdt")
- 数量:1

3. ロングポジションのクローズルール - close long
条件 price("BTC_USDT", 0, "usdt") < price("BTC_USDT", 1, "usdt") - get_value("range") * 0.5
(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 先物
- 注文タイプ:指値
- レバレッジ倍率:5倍
- 方向:ショート
- 指値:ask_price("BTC_USDT", 1, "usdt")
- 数量:1

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 先物
- 注文タイプ:指値
- レバレッジ倍率:5倍
- 方向:ロング
- 指値:bid_price("BTC_USDT", 1, "usdt")
- 数量:1

2.3 戦略の作成
カスタム変数を使用する場合、カスタム変数の実行順序はルールの前に配置する必要があります。例えば、カスタム変数「range」の実行順序は1に設定し、建玉および決済ルールの実行順序は2から5に設定します。

本製品の最終的な解釈権はGateに帰属します。
