初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 90

 
WindSW:
クロージングを除くすべてのオプションを掲載しています。だから聞いているんです。

は、もうお分かりですね。

イェデルキン

"ポジションを閉じる "というのは、あくまでも取引依頼の結果であり、そのルールは同じです。

例えば、"open "のリクエストを受け取り、オーダータイプを変更する。

不要な必須項目はゼロで埋めてください。

 

Yedelkin:
Для каждого вида торгового запроса предусмотрены обязательные поля. Они должны быть заполнены. "Открытие позиции" или "Закрытие позиции" - это всего лишь результат выполнения конкретного торгового запроса, правила заполнения которого - одни и те же. Т.е. берите свой работающий вариант запроса "на открытие" и меняйте тип ордера. Ненужные обязательные поля заполняйте нулями.

セルゲイ

すでに回答済みです

ありがとうございました。

もう一つ質問があります。以下のリクエストが送信され、ポジションが開設されましたが、ストップとプロフィットが設定されていません。すでにいろいろな設定を試しましたが、何も解決しませんでした。何が問題なのか、何が間違っているのか。

   MqlTick latest_price;       // Будет использоваться для текущих котировок
   if(!SymbolInfoTick(_Symbol,latest_price)) return;        // получить текущее значение котировки в структуру типа MqlTick
   ...
   if(uBuy && opSell==false)    
     {
      if(opBuy) return;                                                // при наличии позиции не добавлять к открытой позиции на покупку
      mrequest.action = TRADE_ACTION_DEAL;                                  // немедленное исполнение
      mrequest.price = NormalizeDouble(latest_price.ask,_Digits);           // последняя цена ask
      mrequest.sl = NormalizeDouble(latest_price.ask - StopLoss*_Point,_Digits); // Stop Loss
      mrequest.tp = NormalizeDouble(latest_price.ask + TakeProfit*_Point,_Digits); // Take Profit
      mrequest.symbol = _Symbol;                                            // символ
      mrequest.volume = WorkLot;                                                // количество лотов для торговли
      mrequest.magic = EA_Magic;                                            // Magic Number
      mrequest.type = ORDER_TYPE_BUY;                                       // ордер на покупку
      mrequest.type_filling = ORDER_FILLING_FOK;                            // тип исполнения ордера - все или ничего
      mrequest.deviation=Slippage;                                               // проскальзывание от текущей цены
      OrderSend(mrequest,mresult);                                          // отсылаем ордер
      if(mresult.retcode==10009 || mresult.retcode==10008)                  //запрос выполнен или ордер успешно помещен
        {
         Alert("Ордер Buy успешно помещен, тикет ордера #:",mresult.order,"!!");
        }
      else
        {
         return;
        }
     }
 

ZigZagの最後の3つの値を足すにはどうしたらいいですか?

        double summ=0;//переменная, в которую все суммируется
        int w=0;//счетчик 3 удачных сумирований
        int count_for_buf=0;//Счетчик переходов по буферу ZigZag
        while (w<=3)
         {
         summ=summ+ZigzagBuffer[rates_total-count_for_buf];
         count_for_buf++;
         if (ZigzagBuffer[rates_total-count_for_buf]!=0)//Увеличиваем счетчик, если используемое значение индикатора не равно нулю
          {
          w++;
          }
         }
この方法では、何らかの理由でハングアップしたり、他のことが起こったりします。
 
WindSW: 以下のリクエストが送信され、ポジションが開設されますが、ストップとプロフィットは配置されません。すでにいろいろな設定を試しましたが、何も解決しませんでした。何が問題なのか、何が間違っているのか。

ポジションを開く」というトレードのリクエストには、いくつかのオプションがあることを思い出してください。これらのオプションには、sl/tpを伴うものと伴わないものがあります。言い換えれば、あなたのブローカーはどのような取引モードを持っているのでしょうか?

Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса - Документация по MQL5
 
Yedelkin:

ポジションを開く」というトレードのリクエストには、いくつかのオプションがあることを思い出してください。これらのオプションには、sl/tpを伴うものと伴わないものがあります。つまり、あなたのブローカーの取引モードは何ですか?

アルパリ・ブローカー手動モードでは、取引所執行で新規注文のみが発注されます。市場から参入する以外の選択肢はない。私は、これが交換実行の要求であることを理解しています。ありがとうございます、整理しました。コンパイラが以下のコードを処理する理由を教えてください。

if(CopyBuffer(ema,0,0,3,emaVal)<0) return; // インジケータバッファの新しい値を配列にコピーします。

и

IndicatorRelease(ema)です。

タイプ変換によりデータが失われる可能性があります」という警告が表示される。どこが悪いのか、昨日の夕方から直らないんです。

 
WindSW: コンパイラが以下の文字列で悪態をつく理由を教えてください。

if(CopyBuffer(ema,0,0,3,emaVal)<0) return; // 新しい指標バッファの値を配列にコピーする

и

IndicatorRelease(ema)です。

タイプ変換によりデータが失われる可能性があります」という警告が表示される。何が悪いのか、昨日の夕方からどうにもこうにも解決しない。

また、可変絵馬の種類は?
 
Yedelkin:
emaはどのような変数ですか?
二重
 
WindSW 二重
了解です。インジケータ・ハンドルを格納するために、どのようなタイプの変数にすべきかを確認し、それに合わせます。
 
Yedelkin:
了解です。インジケータハンドルを格納するためにどのような種類の変数を使用すべきかを確認し、それに合わせる。
と4のように書く癖が抜けました。また、ヒントをありがとうございました
 
lazarev-d-m:

ZigZagの最後の3つの値をどのように足し算するのですか?

この方法では、何らかの理由でハングアップしたり、他のことが起こったりします。

私の提案をお伝えします。

   double   summ=0;  //переменная, в которую все суммируется
   int      w=0;     //счетчик 3 удачных сумирований
   for(int i=0; i<rates_total; i++)
     {
      if(ZigzagBuffer[rates_total]!=0 && w<3)//Увеличиваем счетчик, если используемое значение индикатора не равно нулю
        {
         summ+=ZigzagBuffer[i];
         w++;
        }
      if(w>2) break;
     } 
理由: