Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 804

 
fxsaber:

Распечатайте результат OrderCheck и полностью ее структуры. Так же с OrderSend.

Заведите демо-счета на десяти разных торговых серверах. И попробуйте там свой код. Чаще всего не учитывается какая-то особенность торгового сервера, которая воспроизводится при проверке в Маркете.+

И LastError не забывайте выводить. Все это вместе очень быстро позволит Вам разобраться в причинах ошибки.


спасибо, попробую!
 
Andrii Djola:

господа помогите разобраться в ситуации, есть советник в тестере все идет без ошибок и проблем, на демо счете тоже без проблем, а когда в маркете загружаю советник, Автотестер пишет:

Проблема изъезжена вдоль и поперёк. Внимательно прочтите статью, называется что-то вроде "какие проверки должен пройти эксперт ...".

Там всё описывается.

 

Прошу помощи в решении такой проблемы. При открытии ордера по рынку с объемом больше 1 на Moex происходит какое то странное явление, ордер отоваривается по стакану и информация об отоваривание приходит частично, из-за чего происходит вызов OnTrade() раньше времени - как сделать проверку, что б подождать пока придет вся информация по отоварившемуся ордеру?

 
Vladimir Karputov:
Вопрос о функции OnTradeTransaction , пример как отловить закрытие позиции.



Спасибо, оказывается, правильно делал, а принт неправильно. Понедельник пятницы мудренее, или что-то в этом роде) 

Как узнаю цену ближнего ORDER_TYPE_BUY_LIMIT из всех установленных, к ORDER_PRICE_CURRENT?


 
lil_lil:

Спасибо, оказывается, правильно делал, а принт неправильно. Понедельник пятницы мудренее, или что-то в этом роде) 

Как узнаю цену ближнего ORDER_TYPE_BUY_LIMIT из всех установленных, к ORDER_PRICE_CURRENT?



Обойти весь список отложенных ордеров, выбрать отложенные ордера по текущему символу, по магику (по желанию), отобрать отложенные ордера только нужного типа:

ORDER_TYPE_BUY_LIMIT

ORDER_TYPE_SELL_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".
 

Не могу решить простенькую задачку.

В советнике при получении хендла индикатора...

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

....терминал отрисовывает обе линии, а мне нужна только верхняя.

Как выключить отрисовку этой линии? Т.е. изменить её цвет на CLR_NONE, ну или стиль линии на DRAW_DONE?

 
Подскажите пожалуйста, каким образом подписаться на сигнал с телефона? На сайте нет кнопки :"подписаться" я все перелазил... А в мт5 вообще ничего о сигналах нет (
 
VSPro:
Подскажите пожалуйста, каким образом подписаться на сигнал с телефона? На сайте нет кнопки :"подписаться" я все перелазил... А в мт5 вообще ничего о сигналах нет (

Никак. Нужно подписываться с компьютера с настольной версии Windows, при этом на данном компьютере должен быть установлен MetaTrader 5.

Причина обращения: