Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1101

 
Yevhenii Levchenko:
Как узнать, кем был закрыт ордер, руками или роботом?

DEAL_OUT...  "вручную" у робота будет ID=magic

если роботом искать, то у ручного ордера на выход magic = 0 (хотя и у робота может быть 0, но это скорее исключение, чем правило)

 
Vitaly Muzichenko:

Скрин пожалуйста, никогда не видел метки в журнале, как произошло закрытие/удаление


вот

во вкладке экспертов имелось ввиду

 
Andrey Sokolov:


вот

во вкладке экспертов имелось ввиду

Спасибо, нужно будет на это обратить внимание для общего развития.

 

Почему этот код рисует не те стрелки - MQL5

void ArrowCreate(ENUM_OBJECT             type,
                 datetime                time,
                 double                  price)
  {
   
   string name = (type == OBJ_ARROW_UP ? "Arrow Up №"+(string)(up+1) : "Arrow Down №"+(string)(down+1));
   if(type == OBJ_ARROW_UP)  { up++; }
   else                      { down++; };
   
   ResetLastError();
   if(ObjectCreate(ChartID(),name,OBJ_ARROW,0,time,price))
     {
      ObjectSetInteger(ChartID(),name,OBJPROP_ARROWCODE,(type == OBJ_ARROW_UP ? 241 : 242));
     }
   else
     {
      Print(__FUNCTION__,
            ": не удалось создать знак \"Стрелка\"! Код ошибки = ",GetLastError()); return;
     };
   ObjectSetInteger(ChartID(),name,OBJPROP_ANCHOR,(type == OBJ_ARROW_UP ? ANCHOR_TOP : ANCHOR_BOTTOM)); 
   ObjectSetInteger(ChartID(),name,OBJPROP_COLOR,(type == OBJ_ARROW_UP ? a_color_buy : a_color_sell));
   ObjectSetInteger(ChartID(),name,OBJPROP_STYLE,STYLE_SOLID); 
   ObjectSetInteger(ChartID(),name,OBJPROP_WIDTH,a_size); 
   ObjectSetInteger(ChartID(),name,OBJPROP_BACK,false); 
   ObjectSetInteger(ChartID(),name,OBJPROP_SELECTABLE,false); 
   ObjectSetInteger(ChartID(),name,OBJPROP_SELECTED,false); 
   ObjectSetInteger(ChartID(),name,OBJPROP_HIDDEN,true); 
   ObjectSetInteger(ChartID(),name,OBJPROP_ZORDER,0);
  }


Он должен рисовать OBJPROP_ARROWCODE 241 или 242
... а вместо этого рисует обычные OBJ_ARROW_UP или OBJ_ARROW_DOWN

 
Sergey Likho:

Возможно ли средствами MQL4/MQL5   растянуть картинку BMP на весь экран?

Насколько я знаю - нет. 

 
Alexandr Sokolov:

Почему этот код рисует не те стрелки - MQL5


Он должен рисовать OBJPROP_ARROWCODE 241 или 242
... а вместо этого рисует обычные OBJ_ARROW_UP или OBJ_ARROW_DOWN

Замените 

      ObjectSetInteger(ChartID(),name,OBJPROP_ARROWCODE,(type == OBJ_ARROW_UP ? 241 : 242));

на

      ObjectSetInteger(ChartID(),name,OBJPROP_ARROWCODE,(type == OBJ_ARROW_UP ? 225 : 226));

и проверьте - так что же рисуется на самом деле?

 
Vladimir Karputov:

Замените 

на

и проверьте - так что же рисуется на самом деле?

эти стрелки рисуются, а почему стрелки с кодом 241 и 242 не рисуются?

 
Igor Zakharov:

DEAL_OUT...  "вручную" у робота будет ID=magic

если роботом искать, то у ручного ордера на выход magic = 0 (хотя и у робота может быть 0, но это скорее исключение, чем правило)

Спасибо! Но это на мт5...
Andrey Sokolov:

вот

во вкладке экспертов имелось ввиду

программно это выковырять можно?
 
Igor Makanu:

мышей нужно координаты клика мыши и наличие в  месте клика линии индикатора, не делал такого, вернее в подокне не искал, в КБ выкладывал пример клика по барам основного окна  и вывод информации о баре - можете посмотреть

для экспериментов вот с кнопками набросал индикатор- проверил кнопки передвигают линию индикатора

чтобы видеть что индикатор перемещается бросьте горизонтальную линию в подокно индикатора ... довольно прикольно получилось )))

Спасибо. Только не понимаю как это прикрутить к моему индикатору.

 
Yevhenii Levchenko:
программно это выковырять можно?

Тогда, возможно, как уже предложили, по магику

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