Ошибки, баги, вопросы - страница 2169

Подскажите, можно ли как-то откомпилировать отдельно выбранный файл с исходником (как было раньше), а не проект?

Я уработался или так должно быть ?????

   double t   = 280/60;
   string rez = DoubleToString(t,16);
   Print (rez); //  2018.03.18 01:20:57.117	Test (EURUSD_i,H1)	4.0000000000000000

и

   double t   = (double)280/60;
   string rez = DoubleToString(t,16);
   Print (rez); // 2018.03.18 01:21:51.881	Test (EURUSD_i,H1)	4.6666666666666670
Vladimir Pastushak:

Я уработался или так должно быть ?????

Все верно (int делят на int, результат int приводят к double):

 double t   = 280/60;
Sergey Dzyublik:

Все верно (int делят на int, результат int приводят к double):

Благодарю!

Правильно я понимаю что этот пример в справке не рабочий ???

//+------------------------------------------------------------------+ 
//| Expert initialization function                                   | 
//+------------------------------------------------------------------+ 
int OnInit() 
  { 
//--- включение сообщений о прокрутке колесика мышки 
   ChartSetInteger(0,CHART_EVENT_MOUSE_WHEEL,1); 
   return(INIT_SUCCEEDED); 
  } 
//+------------------------------------------------------------------+ 
//| ChartEvent function                                              | 
//+------------------------------------------------------------------+ 
void OnChartEvent(const int id,const long &lparam,const double &dparam,const string &sparam) 
  { 
   if(id==CHARTEVENT_MOUSE_WHEEL) 
     { 
      //--- разберем состояние кнопок и колесика мышки для этого события  
      int flg_keys = (int)(lparam>>32);          // флаг состояний клавиш Ctrl, Shift и кнопок мышки 
      int x_cursor = (int)(short)lparam;         // X-координата, в которой произошло событие колесика мышки 
      int y_cursor = (int)(short)(lparam>>16);   // Y-координата, в которой произошло событие колесика мышки 
      int delta    = (int)dparam;                // суммарное значение прокрутки колесика, срабатывает при достижении +120 или -120 
      //--- обработаем флаг  
      string str_keys=""; 
      if((flg_keys&0x0001)!=0) str_keys+="LMOUSE "; 
      if((flg_keys&0x0002)!=0) str_keys+="RMOUSE "; 
      if((flg_keys&0x0004)!=0) str_keys+="SHIFT "; 
      if((flg_keys&0x0008)!=0) str_keys+="CTRL "; 
      if((flg_keys&0x0010)!=0) str_keys+="MMOUSE "; 
      if((flg_keys&0x0020)!=0) str_keys+="X1MOUSE "; 
      if((flg_keys&0x0040)!=0) str_keys+="X2MOUSE "; 
       
      if(str_keys!="") 
         str_keys=", keys='"+StringSubstr(str_keys,0,StringLen(str_keys)-1) + "'"; 
      PrintFormat("%s: X=%d, Y=%d, delta=%d%s",EnumToString(CHARTEVENT_MOUSE_WHEEL),x_cursor,y_cursor,delta,str_keys); 
     } 
  } 

Кроме ctrl и shift и скрола больше никакие кнопки не работают .....

Комментарии, не относящиеся к этой теме, были перенесены в "Вопросы от начинающих MQL4 MT4 MetaTrader 4".

А где StringSubstr ?


A100:

А где StringSubstr ?

воооот -- автокомплит должен быть регистронезависимым и типонезависимым, это по крайней мере должно настраиваться.

как только малейшая проблема с типами, автокомплит становится бесполезен. Предложенные функции не возвращают строку

Vladimir Pastushak:

Правильно я понимаю что этот пример в справке не рабочий ???

Кроме ctrl и shift и скрола больше никакие кнопки не работают .....

У меня на новом графике только при повторном запуске пример заработал (все кнопки), что само по себе непонятно. Зато теперь понятно это

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Ошибки, баги, вопросы

Vladislav Andruschenko, 2018.01.30 10:39

проверка прокрутки мышки

  Print(id + "lparam="+lparam+" dparam="+dparam+" sparam="+sparam);


при прокрутке мышки, советник не получает глубину и направление прокрутки.

2018.01.30 11:38:07.629 Exp -  6 (EURUSD,H1)    9lparam=0 dparam=0.0 sparam=
2018.01.30 11:38:07.784 Exp -  6 (EURUSD,H1)    9lparam=0 dparam=0.0 sparam=
2018.01.30 11:38:08.188 Exp -  6 (EURUSD,H1)    9lparam=0 dparam=0.0 sparam=
2018.01.30 11:38:08.958 Exp -  6 (EURUSD,H1)    9lparam=0 dparam=0.0 sparam=


Хочу получить результат по функции:

id==CHARTEVENT_MOUSE_WHEEL
С открытием торгов указанный эффект (только при повторном запуске) пропал