"ダミー "からの質問 - ページ 140

 

テイクプロフィットやストップロスを設定しようとしているのですが、注文が開かれ、SLとTPが設定されていません。何が問題で、どのように修正すればいいのでしょうか?

 

ツールのSYMBOL_TRADE_EXEMODE プロパティをチェックし、ENUM_SYMBOL_TRADE_EXECUTION列挙の値のいずれかにすることが できます

ENUM_SYMBOL_TRADE_EXECUTION

識別子

商品説明

シンボルトレード実行要求

トレードオンリクエスト

シンボルトレード実行インスタント

ストリーミング価格での取引

シンボルトレード実行市場

エグゼキューション_エグゼキューションマーケット

シンボルトレード取引所

為替執行

SYMBOL_TRADE_EXECUTION_MARKET モードでの取引では SL および TP は必要 あ りません。

ENUM_SYMBOL_TRADE_EXECUTION trade_execution=(ENUM_SYMBOL_TRADE_EXECUTION)SymbolInfoInteger(_Symbol,SYMBOL_TRADE_EXEMODE);
 
T-G:

テイクプロフィットやストップロスを設定しようとしているのですが、注文が開かれ、SLとTPが設定されていないのですが、何が問題でどのように修正すればいいのか教えてください。

ブローカーがサポートする市場執行モードは何ですか?成行執行 モードがサポートされている場合、SLとTPは設定 されません。
 

3 を返す - すなわち、SYMBOL_TRADE_EXECUTION_MARKET

SLとTPを用意しないとはどういうことなのか、レベルが必要な場合はどうすればいいのか。それとも、開封後に修正するということですか?もし改造したら、関数例を教えてください、ありがとうございます。

削除済み  
T-G:

3 を返す - すなわち、SYMBOL_TRADE_EXECUTION_MARKET。

SLとTPを用意しないとはどういうことなのか、レベルが必要な場合はどうすればいいのか。それとも、開封後に修正するということですか?もし改造したら、関数例を教えてください、ありがとうございます。

指値注文を利用する場合、ストップとテイクの両方を設定することができます。指値注文は、どの程度マーケットに近いところで設定できるのですか?ブローカーによって異なりますが、0pipsから(つまり市場価格から)です。
 
マーケットをフォローする必要がある場合、注文を出したが、TPとSLを設定できない場合、どうすればよいですか?
削除済み  
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса - Документация по MQL5
 
T-G:

注文を 出したが、TPとSLが設定できない場合はどうすればよいですか?
ポジションを オープン/変更した後、SLとTPのレベルを設定するために別のリクエストを使用することができます。
 
T-G: それとも、開封後に修正するということでしょうか?修正した場合、関数例を教えてください。

これは、MQL5 Reference / Standard constants, enumerations and structures / Data structures / Structure of the trade requestに書かれているところです。

SL & TP Modification

Торговый приказ на модификацию уровней StopLoss и/или TakeProfit. Требуется указание 4 полей:

action 
symbol 
sl 
tp 

というわけで、コードはだいたいこんな感じです(位置確認後)。

bool PositionModify(const string symbol,double sl,double tp)
  { 
   m_request={0};
   m_result ={0};
//--- setting request
   m_request.action=TRADE_ACTION_SLTP;
   m_request.symbol=symbol;
   m_request.sl    =sl;
   m_request.tp    =tp;
//--- order send
   if(!OrderSend(m_request,m_result))
     {
      Print("Неудача с отправкой ордера при TRADE_ACTION_SLTP");
      return(false);
     }
//--- ok
   return(true);
  }
 
T-G:

3を 返すので、SYMBOL_TRADE_EXECUTION_MARKETを取得します。

問題は別のところにあるようだ。

void OnStart()
  {
   Print("SYMBOL_TRADE_EXECUTION_MARKET=",SYMBOL_TRADE_EXECUTION_MARKET);
  }
値 "3 "はどのような形でも返されません :)何しろ、列挙は0から始まるのですから。