StopLimit

 

実際の取引でStopLimitを 使用していますか?

テスターではStopLimitの動作が不十分 であることは明らかです。

実際の取引で使うことに意味はあるのでしょうか?メリットとデメリットを教えてください。

 
Sergey Chalyshev:

実際の取引でStopLimitを 使用していますか?

テスターではStopLimitが十分に機能 しないことは明らかです。

実際の取引で使うことに意味はあるのでしょうか?メリットとデメリットを教えてください。

テスターに問題があるのでしょうか?
 
Artyom Trishkin:
テスターはどうしたんだ?

どうやら誰も使っていないようです。

存在しない価格で注文が開始される。

スラム

簡単な例で確認することができます。

//+------------------------------------------------------------------+
//|                                               StopLimit_Test.mq5 |
//+------------------------------------------------------------------+
#include <Trade\Trade.mqh>
CTrade trade;

input int Deviation = 100;
//+------------------------------------------------------------------+
void OnTick()
  {
   MqlTick tick;
   SymbolInfoTick(_Symbol,tick);
   trade.SetTypeFilling(ORDER_FILLING_RETURN);
   double ticksise=SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_SIZE);

   if(OrdersTotal()==0)
      trade.OrderOpen(
         _Symbol,                      // символ
         ORDER_TYPE_BUY_STOP_LIMIT,    // тип ордера
         1.0,                          // объем ордера
         tick.ask+Deviation*ticksise,  // цена исполнения
         tick.ask+10*ticksise,         // цена стоплимита
         0,                            // цена stop loss
         0                             // цена take profit
      );
  }
//+------------------------------------------------------------------+
 
Sergey Chalyshev:

どうやら誰も使っていないようです。

存在しない価格で注文が開始される。

簡単な例で確認することができます。

BuyStopLimit注文は、次のように動作します。

  1. 価格以上のBuyStop注文が発注される(取引依頼構造における 価格値=価格+逆指値注文設定距離)
  2. BuyStop注文がトリガーされると、価格より下にBuyLimit注文が発注されます。
    (取引要求構造におけるストップリミット価格で、ストップリミット = 価格 - ストップオーダー設定距離のように正しく計算されるはずです。)
  3. BuyLimit注文がトリガーされると、BuyLimit注文の価格でマーケットにエントリーされる


 
Artyom Trishkin:

BuyStopLimit注文は、このように動作します。

  1. 価格以上のBuyStop注文を設定した(取引依頼 構造の価格の値=価格+逆指値注文の設定距離)
  2. BuyStopが発動された場合、価格より下にBuyLimit注文が 発注される。
    (取引要求構造におけるストップリミット価格で、ストップリミット = 価格 - ストップオーダー設定距離のように正しく計算されるはずです。)
  3. BuyLimit注文がトリガーされると、BuyLimit注文の価格でマーケットにエントリーされる


BuyLimitが価格より低い場合、テスターでは問題 なく動作します。

BuyLimitが価格より高い 場合、Ask価格でオープンする必要が あります。取引所でも、リアルでも、そのように動いています。

StopLimitを使ってBuyLimitを価格より下に 設定しても意味がない。

 
Sergey Chalyshev:

BuyLimitが価格より低い場合、テスターでは問題 なく動作します。

BuyLimitが価格より上にある場合、Ask価格でオープンする必要が あります。取引所でも、リアルでも、そのように動いています。

StopLimitを使ってBuyLimitを価格より下に置いても意味がない

フィールド

商品説明

アクション

貿易業務の種類。 ENUM_TRADE_REQUEST_ACTIONS列挙型の値のいずれかを 指定することができる。

魔法

Expert Advisorの識別子です。取引注文を分析的に処理できるようにする。各Expert Advisorは、取引要求の送信時に固有の識別子を表示することができます。

言いつけ

チケットのご注文保留中の注文を変更する際に必要なもの

記号

注文の対象となるシンボルの名称。注文の変更およびポジションの決済には必要ありません。

ボリューム

ロット単位での取引要求数量。ポ ジションを建てる際の実際の出来高の値は 執行される注文の種類 によって異なります。

価格

これは、注文を満たすべき価格である。 TRADE_ACTION_DEAL タイプの「成行注文」(SYMBOL_TRADE_EXECUTION_MARKET )の場合、価格は必要 ありません。

ストップリミット

価格が設定した価格に達すると指値注文が 発注されます(この条件は必須です)。その瞬間まで、保留中の注文は取引システムに発注されない

スラム

証券価格が不利な方向に動いたときにストップロス注文が発動される価格

ティーピー

有利な方向への値動きによってTake Profit注文が発動される価格

偏差値

要求価格からの最大許容偏差、 ポイント単位で設定

タイプ

注文の種類値は ENUM_ORDER_TYPE列挙の値のいずれ かを指定することができる。

タイプフィリング

実行する注文の種類。 ENUM_ORDER_TYPE_FILLINGの値の いずれかを指定することができます。

タイプタイム

注文の種類_充填時間。 ENUM_ORDER_TYPE_TIMEに 指定された値の いずれかを指定することができます。

満了

保留中の注文の 有効期限( ORDER_TIME_SPECIFIED注文の場 )

コメント

注文へのコメント

位置

チケット・トゥ・ポジションこれは、ポジションが変更され、閉鎖されたときに記入し、明確に識別できるようにする必要があります。これは通常、ポジションを建てることになった注文のチケットに対応します。

position_by

カウンターポジションのチケットです。カウンターポジションをクローズするときに使用します - 同じ商品のためにオープンしますが、反対方向です。


指値注文とは何か、ご存じでしょうか。そしてストップオーダーも、迷うことなくやってほしい。

そして、StopLimit注文の仕組みについては、ここにこう書かれて います。価格がStop注文のレベルに 達したとき(そしてそれは買いの価格より上に置かれる)、初めてLimit注文が出さ れます(そしてそれは買いの価格より下に置かれます)。

 
Sergey Chalyshev:

BuyLimitが価格より低い場合、テスターでは問題 なく動作します。

BuyLimitが価格より高い場合、Ask価格でオープン する必要があります。取引所でも、リアルでも、その ように動いています。

StopLimitを使ってBuyLimitを価格より下に置いても意味がない

すみません、BuyLimitの注文を 価格より上に出すにはどうしたらいいのでしょうか?

このシナリオでは、まったく設定されないはずです。

SB取引クラスを使用している場合、パラメータに誤りがないかどうかのチェックがあり、そのような 状況では、保留中の注文は 出さず、成行注文を出します。

 
Artyom Trishkin:

フィールド

商品説明

アクション

貿易業務の種類。 ENUM_TRADE_REQUEST_ACTIONS列挙型の値のいずれかを 指定することができる。

魔法

Expert Advisorの識別子です。取引注文の分析処理の手配が可能です。各Expert Advisorは、取引要求の送信時に固有の識別子を表示することができます。

言いつけ

チケットのご注文保留中の注文を変更する際に必要なもの

記号

注文の対象となるシンボルの名称。注文の変更およびポジションの決済には必要ありません。

ボリューム

ロット単位での取引要求数量。ポ ジションを建てる際の実際の出来高の値は 執行される注文の種類 によって異なります。

価格

これは、注文を満たすべき価格である。 TRADE_ACTION_DEAL タイプの「成行注文」(SYMBOL_TRADE_EXECUTION_MARKET )の場合、価格は必要 ありません。

ストップリミット

価格が設定した価格に達すると指値注文が 発注されます(この条件は必須です)。その瞬間まで、保留中の注文は取引システムに発注されない

スラム

証券価格が不利な方向に動いたときにストップロス注文が発動される価格

ティーピー

有利な方向への値動きによってTake Profit注文が発動される価格

偏差値

要求価格からの最大許容偏差、 ポイント単位で設定

タイプ

注文の種類値は ENUM_ORDER_TYPE列挙の値のいずれ かを指定することができる。

タイプフィリング

実行する注文の種類。 ENUM_ORDER_TYPE_FILLINGの値の いずれかを指定することができます。

タイプタイム

注文の種類_充填時間。 ENUM_ORDER_TYPE_TIMEに 指定された値の いずれかを指定することができます。

満了

保留中の注文の 有効期限( ORDER_TIME_SPECIFIED注文の場 )

コメント

注文へのコメント

位置

チケット・トゥ・ポジションこれは、ポジションが変更され、閉鎖されたときに記入し、明確に識別できるようにする必要があります。これは通常、ポジションを建てることになった注文のチケットに対応します。

position_by

カウンターポジションのチケットです。カウンターポジション(同じ商品で反対方向に建てたポジション)でポジションを閉じるときに使用します。


指値注文とは何か、ご存じでしょうか。ストップオーダーもだ、迷うことはないだろう。

そして、StopLimit注文がどのように機能するかについては、ここにこう書かれて います。価格がStop注文のレベルに達すると(そしてそれは買いの価格より上に置かれる)、この場合のみLimit注文が出さ れます(そしてそれは買いの価格より下に置か れます)。

BuyLimitオーダーが必ずしも価格より下でなければならないと考える根拠は何ですか?

株の話です、FXは面白くないです。

 
Artyom Trishkin:

すみません、BuyLimit注文を価格より上に 設定しているのはどういうことですか?

このような状況では、全く設定されないはずです。

SB-tradingクラスを使用している場合、パラメータが無効であることをチェックする機能があり、そのような 状況では、保留中の注文は 開かれず、成行注文でポジションが開かれることになります。

上記でコードの例をあげました。

設定されるべきであり、設定されている。

市場によって開かれるのであれば、テスターに問題はなく、Ask価格によって開かれるはずです。しかし、それは存在しない価格で開かれるでしょう、上の写真で見ることができます。

p.s. 上記のコードを取引所口座で試してみてください。
 
標準 ライブラリの "Awesome" stoplimit, no words :))
limitは成行注文のスリッページを設定するもので、指値注文の設定ではないはずです :))
 
Roman:
標準 ライブラリの「すごい」stoplimit、言葉もない :))
limitは指値注文の設定ではなく、成行注文のスリッページを設定すべきです :))

スリッページは、取引要求の偏差パラメータで設定します。

そして、stoplimit levelは、Limit orderがstop order levelに対して設定されるレベルである。

Документация по MQL5: Константы, перечисления и структуры / Структуры данных / Структура торгового запроса
Документация по MQL5: Константы, перечисления и структуры / Структуры данных / Структура торгового запроса
  • www.mql5.com
Взаимодействие клиентского терминала и торгового сервера для проведения операций постановки ордеров производится посредством торговых запросов. Запрос представлен специальной предопределенной структурой MqlTradeRequest, которая содержит все поля, необходимые для заключения торговых сделок. Результат обработки запроса представлен структурой...
理由: