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

 
fxsaber:

OrderCheck の結果とその全構造を表示する。OrderSendも同様にしてください。

10種類の取引サーバーにデモ口座を設定。そして、そこであなたのコードを試してみてください。多くの場合、取引サーバーの特定の機能が考慮されていないため、マーケットで確認すると再現されます。

LastErrorの出力も忘れずに。これらを組み合わせることで、エラーの原因を非常に早く把握することができます。


ありがとうございます!試してみます。
 
Andrii Djola:

私はストラテジーテスターでEAを持っており、すべてがデモ口座で エラーや問題なく行き、また問題もありませんが、私が市場でEAをロードすると、Autotesterは書き込みます。

この問題は、これまでにも広く研究されてきました。記事をよく読むと、「EAがクリアすべきテストとは・・・」みたいなことが書いてあります。

すべてをカバーします。

 

この問題を解決するために助けを求めているのです。Moexで1より大きい数量の注文をマーケットに出すと、不思議な現象が起こります:注文がマーケットで取引され、取引に関する情報が部分的に来て、そのためにOnTrade()が早く呼ばれます。取引された注文に関するすべての情報が来るまで待ちたい場合、どうすれば確認できますか。

 
Vladimir Karputov:
OnTradeTransaction関数に関する質問、ポジションのクローズをキャッチする方法の例。



ありがとうございます、私のやり方が正しくて印刷がおかしいことがわかりました。月曜日は金曜日より賢明である、とか)

ORDER_PRICE_CURRENTに、設定されているすべてのORDER_TYPE_BUY_LIMITから最も近い価格を取得するには、どうすればよいですか?


 
lil_lil:

ありがとうございます、私のやり方が正しくて印刷がおかしいことがわかりました。月曜日は金曜日より賢明である、とか)

ORDER_PRICE_CURRENTに設定されているORDER_TYPE_BUY_LIMITのうち、最も近い価格のものを知るにはどうすればよいですか?



注文待ちリスト全体をバイパスする、現在のシンボルで注文待ちを選択する、マジックで注文待ちを選択する(オプション)、必要なタイプの注文のみを選択する。

オーダータイプ購入限度額

注文型販売限度額

//+------------------------------------------------------------------+
//|                                             Find the nearest.mq5 |
//|                              Copyright © 2017, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2017, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.00"
//---
#include <Trade\OrderInfo.mqh>
COrderInfo     m_order;                      // pending orders object
#property script_show_inputs
//--- input parameters
input ENUM_ORDER_TYPE   order_type=ORDER_TYPE_BUY_LIMIT;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   ulong order_ticket=ULONG_MAX;
   double order_distance=DBL_MAX;

   for(int i=OrdersTotal()-1;i>=0;i--) // returns the number of current orders
      if(m_order.SelectByIndex(i)) // selects the pending order by index for further access to its properties
         if(m_order.Symbol()==Symbol()/* && m_order.Magic()==m_magic*/)
            if(m_order.OrderType()==order_type)
              {
               double distance=MathAbs(m_order.PriceCurrent()-m_order.PriceOpen());
               if(distance<order_distance)
                 {
                  order_distance=distance;
                  order_ticket=m_order.Ticket();
                 }
              }
   if(order_ticket!=ULONG_MAX && order_distance!=DBL_MAX)
      Comment("Order ",EnumToString(order_type),
              ", ticket ",IntegerToString(order_ticket),
              ", distance ",DoubleToString(order_distance,Digits()));
  }
//+------------------------------------------------------------------+
ファイル:
 
Vladimir Karputov:

注文待ちリスト全体をバイパスする、現在のシンボルで注文待ちを選択する、マジックで注文待ちを選択する(オプション)、必要なタイプの注文のみを選択する。


ありがとう、鍵屋に走って行って、広告をクリックした ).

 
このトピックに関連しないコメントは、「MQL4 MT4 MetaTrader 4初心者からの質問」に移動しました。
 

簡単な問題が解けない。

EAで、インジケータのハンドルを取得すると...。

int OnInit()
  {
//--- Получить хэндл индикатора Envelopes_upper для отрисовки верхней линии
   EnvHandle_upper=iEnvelopes(NULL,0,Period_upper,0,MODE_SMA,PRICE_MEDIAN,Deviation_upper);

...端末は両方の線を描きますが、私は上の線だけでいいんです。

この線を描画しないようにするにはどうしたらよいですか?例えば、色をCLR_NONEに 変更したり、線種をDRAW_DONEに変更したりするのですか?

 
スマホから電波を受信 する方法を教えてください。ホームページには「購読する」ボタンがなく、一通り目を通しましたが...。そして、mt5では、シグナルについて全く何もありません(
 
VSPro:
携帯電話から電波を受信 する方法を教えてください。私の端末では、ホームページの「購読」ボタンがないのですが...全部開こうとしました。MT5では、シグナルについて全く何もありません(

無理でしょう。Windowsのデスクトップパソコンから申し込む必要があり、このパソコンにMetaTrader 5がインストールされている必要があります。

理由: