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

 
#include <Trade/Trade.mqh>

void DeletePendingOrders(const string sSymbol, const ulong nMagic)
{
   CTrade oTrade;

   for(int i = OrdersTotal() - 1; i >= 0; i--)
   {
      ulong nOrderTicket = OrderGetTicket(i);
      
      if(nOrderTicket > 0)
      {
         if(OrderGetString(ORDER_SYMBOL) == sSymbol && OrderGetInteger(ORDER_MAGIC) == nMagic)
         {
            // удаляем только отложенники
            ENUM_ORDER_TYPE eType = (ENUM_ORDER_TYPE)OrderGetInteger(ORDER_TYPE);
            
            if(eType == ORDER_TYPE_BUY_STOP  || eType == ORDER_TYPE_SELL_STOP ||
               eType == ORDER_TYPE_BUY_LIMIT || eType == ORDER_TYPE_SELL_LIMIT ||
               eType == ORDER_TYPE_BUY_STOP_LIMIT || eType == ORDER_TYPE_SELL_STOP_LIMIT)
            {
               oTrade.OrderDelete(nOrderTicket);
            }
         }
      }
   }
}

MT4用のスクリプトはFiveでは動作しません、取引機能が 大きく異なります。

 
Sergei Vladimirov:

MT4用のスクリプトはFiveでは動作しません、取引機能が 大きく異なります。

ありがとうございます。ちょうどtrade.mqhを扱おうとしていたところでした。
 
何か教えていただけませんか?成行注文がどのように閉じられたか、論理的ではなく、プログラム的に調べるにはどうしたらいいですか - TP、SL、または市場によって?
 
-Aleks-:
何か教えていただけませんか?成行注文がどのように閉じられたか、論理的ではなく、プログラム的に知るにはどうしたらいいですか - TP、SL、または市場によって?
終値と TP、SLを比較する。それらがほぼ一致すれば、答えはそこにある。一致しない場合にも、答えはそこにある
 
Victor Nikolaev:
終値と TP、SLを比較する。ほぼ一致していれば、そこに答えがある。もし、それが一致しないのであれば、答えもそこにあるのです。

それが、比較ではダメなんですか、と聞いたんです。ターミナルでは、注文が着色されていますが、これはどのようにクローズされたかというフラグを持っていることを意味します。

ほぼ」をどうアレンジするのか、私にはよくわからないのですが......スリッページが多くて比較にならないこともあります。

 
-Aleks-:

それが、比較ではダメなんですか、と聞いたんです。端末では、オーダーに色が付いているので、どのようにクローズされたかのフラグが立っています。

ほとんど」というのは、どう整理したらいいのかよくわからないのですが......スリッパは比較にならないほど多いことがあります。

ほぼ」だと、ケースバイケースで個別に判断されます。遅い市場と速い市場は別物です
 
-Aleks-:
何か教えていただけませんか?成行注文がどのように閉じられたか、論理的ではなく、プログラム的に知るにはどうしたらいいですか - TP、SL、または市場によって?
ストップロスで決済された注文のコメントは[sl]、テイクプロフィットで決済された注文のコメントは[tp]と表示されます。
 
Artyom Trishkin:
クローズドオンストップロス、属性は【sl】、クローズドオンテイクプロフィット、属性は【tp】の解説の中で。
目が覚めたか?
 
Victor Nikolaev:
目が覚めたか?
携帯電話で書いていたのですが・・・。寝ながら鼾をかく...鼻息荒くプルプル...
 
Victor Nikolaev:
ほぼ "は、それぞれのケースで、それぞれの方法で解決されます。これは、スローマーケットとファストマーケットでは別物です。

ええ、だから普遍的な解決策を探しているんです。注文が閉じられた次のバーで情報が必要なら、ボラティリティを評価するのはそれほど難しくありませんが、1日後なら、経過したバーの数とそこにあったボラティリティを数えなければなりません。

アルチョム・トリシキン
ストップロスで決済した場合は「sl」、テイクプロフィットで決済した場合は「tp」とコメントされています。

ありがとうございます~!これから読んでみようと思います。

また、テスターにはそのようなコメントはありませんよね?

理由: