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

 
Alexandr Bryzgalov:

в справке не верно указан порядок параметров.


Какие Ваши доказательства?

 
Vladimir Karputov:

Какие Ваши доказательства?

/

 
Vladimir Karputov:

Какие Ваши доказательства?

Нет. Ошибки нет.

Смутил сам порядок. И то что не принимает 0. Обязательно ему переменную подавай.


 
Alexandr Bryzgalov:

Нет. Ошибки нет.

Смутил сам порядок. И то что не принимает 0. Обязательно ему переменную подавай

В справке так и написано - нужна ПЕРЕМЕННАЯ

   int&           sub_window,   // The number of the subwindow 
 
Vladimir Karputov:

В справке так и написано - нужна ПЕРЕМЕННАЯ

 

Друзья помогите разобраться. Что-то я в полном недоумении от происходящего.

#property indicator_chart_window
#property indicator_plots 0

int                      ma_handle;
bool FirstStart;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
   if(ChartPeriod()!=PERIOD_M1)
     {
      ChartSetSymbolPeriod(0,_Symbol,PERIOD_M1);
     }
   ma_handle=iCustom(Symbol(),PERIOD_H1,"Indicator For Search Data");
   FirstStart = true;
   return(INIT_SUCCEEDED);
  }

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   ulong tmpTimeCopy = GetMicrosecondCount();
   if(FirstStart)
     {
      double tmp[];
      datetime DateStart=D'2018.07.19', DateEnd=D'2021.01.19 23:59:59';
      int DataCopy=-1;
      while(true)
        {
         DataCopy=CopyBuffer(ma_handle,0,DateStart,DateEnd,tmp);
         if(DataCopy<0)
            Print("Return");
         else
           {
            IndicatorRelease(ma_handle);
            FirstStart=false;
           }
         if(!FirstStart)
            break;
        }
      Print("Time Copy Buffer: ", GetMicrosecondCount() - tmpTimeCopy);
      Print("Data to Copy: ", DataCopy, " ", tmp[0], " ", tmp[1], " ", tmp[2], " ", tmp[3], " ", tmp[4]);
      Print(datetime(tmp[0])," ",datetime(tmp[1])," ",datetime(tmp[ArraySize(tmp)-1]));

     }
   return(rates_total);
  }

Вот весь индикатор. Когда запускается начинает выдавать

Скрин

Откуда такой оптимизм. Если наживаешь на паузу или на стоп, всё равно продолжают выводиться значения во вкладку Эксперт в окне Инструменты. Окно с индикатором уже закрыто, но значения успешно выводятся.

Как такое происходит? Кто может что-то разъяснить?

 
ROMAN KIVERIN:

Друзья помогите разобраться. Что-то я в полном недоумении от происходящего.

Вот весь индикатор. Когда запускается начинает выдавать

Откуда такой оптимизм. Если наживаешь на паузу или на стоп, всё равно продолжают выводиться значения во вкладку Эксперт в окне Инструменты. Окно с индикатором уже закрыто, но значения успешно выводятся.

Как такое происходит? Кто может что-то разъяснить?

Кто сказал, что CopyBuffer() хоть раз будет успешна?

Кто сказал, что iCustom() будет успешна?

"Ошибки могут образовывать циклы. Наиболее устойчивый из них - бесконечный." Теория ошибок.
 

После последнего обновления, функция EnumToString неправильно работает в зависимости от вызываемого кода. Отдельный вызов Enum_ не воспроизводит ошибку.

template<typename T>

int Enum_(T enum_value)
  {
   ...
         s1=EnumToString(T(i1));

   ...

   }

В отладчике:

GetLastError возвращает: 

ERR_INVALID_PARAMETER

4003

Ошибочный параметр при вызове системной функции

 

помогите копия из журнала мт4 

sell 0.20 CL-MAY21 at 59.36 sl: 0.00 tp: 0.00 -> sl: 0.00 tp: 58.00
14:07:13.521 Trade: '50223437': order #5595882 sell 0.20 CL-MAY21 at 59.36 was modified -> sl: 0.00 tp: 58.00
15:56:34.215 Startup: MetaTrader 4 for Android
15:56:34.223 Startup: Copyright 2001-2021, MetaQuotes Software Corp.
15:56:34.223 Startup:
15:56:34.223 Startup: Device: samsung a41 (QP1A.190711.020.A415FXXU1BUC3) 10(REL) 29SDK
15:56:34.223 Startup: Kernel: 4.14.141-20194519
15:56:34.239 Terminal: Native library initialized. Version 400 Build 1334
15:56:34.259 Chat: initialization success
15:57:43.276 Terminal: Codepage for current language (ru_RU) is 'CP1251'
15:57:43.277 Terminal: Using 'windows-1251' for server strings
15:57:43.284 Terminal: Terminal instance created
15:57:43.641 Terminal: Connecting to PinedaIntl-Trader through 'Main'
15:57:43.793 Terminal: Connected to PinedaIntl-Trader through Main
15:57:43.993 Chat: connected to msg.mql5.com:443
15:57:44.088 Network: '50223437': login successfull [connection type: unknown]
15:58:02.749 GL: Texture size: 256x256
15:59:35.745 Trade: '50223437': modify order #5595882 sell 0.20 CL-MAY21 at 54.19 sl: 0.00 tp: 58.00 -> sl: 0.00 tp: 52.0015:59:36.073 Trade: '50223437': order #5595882

как такое произошло

 
JRandomTrader:

Кто сказал, что CopyBuffer() хоть раз будет успешна?

Кто сказал, что iCustom() будет успешна?

"Ошибки могут образовывать циклы. Наиболее устойчивый из них - бесконечный." Теория ошибок.

Самое интересное что эта функция выполняется успешно. Она выполняется и выдает значения. Потом только терминал входит в непонятное состояние.

iCustom тоже выполняется на ура.

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