ヘルプセンター
ボット
CTA-エキスパートボット

カスタム戦略の例

2025-03-21 UTC
23337 読む
7

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に帰属します。

今すぐ登録して、最大$10,000が当たるチャンスを掴もう!
signup-tips