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

 
Yedelkin:
 Произведение двух double-чисел есть число ненормализованное.            0.01*NormalizeDouble(211.1)=0.01*211.***********=2.11*************
Renat:

Потому что результат мат операций самых-самых нормализованных значений не есть нормализованное число.

Поэтому это и есть место ошибки.

Спасибо.
 

Из справки:

Справочник MQL5 / Стандартная библиотека / Классы для создания панелей и диалогов / CWnd / StateFlagsSet

StateFlagsSet

Устанавливает флаги свойств элемента управления. ...

Каких свойств?

Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5
 

Подскажите, пожалуйста в чем может быть проблема: индикаторный буфер моргает, иногда на долю секунды, а иногда и более секунды (на всей видимой части все данные пропадают, а потом снова появляются).

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 &TickVolume[],
                const long &Volume[],
                const int &Spread[])
{
   int start=prev_calculated-1;
   if(prev_calculated>rates_total || prev_calculated<=0)
   {
      start=0;
      ...
   }
   ...
   for(int i=start;i<rates_total-1 && !IsStopped();i++)
   ...
}
Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов
Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов
  • 2010.10.25
  • Nikolay Kositsin
  • www.mql5.com
Статья о традиционных и не совсем традиционных алгоритмах усреднения, упакованных в максимально простые и достаточно однотипные классы. Они задумывались для универсального использования в практических разработках индикаторов. Надеюсь, что предложенные классы в определенных ситуациях могут оказаться достаточно актуальной альтернативой громоздким, в некотором смысле, вызовам пользовательских и технических индикаторов.
 
fyords:

Подскажите, пожалуйста в чем может быть проблема: индикаторный буфер моргает, иногда на долю секунды, а иногда и более секунды (на всей видимой части все данные пропадают, а потом снова появляются).

 

Вообще информации маловато. Можете приложить в сервисдеск полный код + описание символа, периода, брокера?..

 
alexvd:

Вообще информации маловато. Можете приложить в сервисдеск полный код + описание символа, периода, брокера?..

Спасибо, оформил заявку #683790.
 
Изменил в стандартном индикаторе MACD в указанной ниже строчке NULL на "GBPUSD", если теперь цеплять индикатор к графику GBPUSD, то все рисует нормально, если же прицепить его на любой другой график выходит ошибка такая  "2013.03.01 17:49:48 MACD (USDCAD,M1) Not all data of ExtFastMaHandle is calculated (-1bars ). Error4806" почему? Вопрос этот задаю потому, что недавно начал писать сов, который торгует корзиной, в сове я в настройках задаю символы и возникают подобные проблемы с получением и копированием данных...объясните мне пожалуйста на примере индикатора MACD, что происходит и почему?

   ExtFastMaHandle=iMA("GBPUSD",0,InpFastEMA,0,MODE_EMA,InpAppliedPrice);
   ExtSlowMaHandle=iMA(NULL,0,InpSlowEMA,0,MODE_EMA,InpAppliedPrice);

 
FinEngineer:
Изменил в стандартном индикаторе MACD в указанной ниже строчке NULL на "GBPUSD", если теперь цеплять индикатор к графику GBPUSD, то все рисует нормально, если же прицепить его на любой другой график выходит ошибка такая  "2013.03.01 17:49:48 MACD (USDCAD,M1) Not all data of ExtFastMaHandle is calculated (-1bars ). Error4806" почему? Вопрос этот задаю потому, что недавно начал писать сов, который торгует корзиной, в сове я в настройках задаю символы и возникают подобные проблемы с получением и копированием данных...объясните мне пожалуйста на примере индикатора MACD, что происходит и почему?

А зачем Вам менять код стандартного индикатора?

int  iMACD(
   string              symbol,              // имя символа
   ENUM_TIMEFRAMES     period,              // период
   int                 fast_ema_period,     // период быстрой средней
   int                 slow_ema_period,     // период медленной средней
   int                 signal_period,       // период усреднения разности
   ENUM_APPLIED_PRICE  applied_price        // тип цены или handle
   );


В настройках iMACD
есть входной параметр символ. Вот и вызывайте его

iMACD("GBPUSD", ...

 
fyords:

А зачем Вам менять код стандартного индикатора?

int  iMACD(
   string              symbol,              // имя символа
   ENUM_TIMEFRAMES     period,              // период
   int                 fast_ema_period,     // период быстрой средней
   int                 slow_ema_period,     // период медленной средней
   int                 signal_period,       // период усреднения разности
   ENUM_APPLIED_PRICE  applied_price        // тип цены или handle
   );


В настройках iMACD
есть входной параметр символ. Вот и вызывайте его

iMACD("GBPUSD", ...


То же самое получится если я возьму(код ниже) и прицеплю индикатор на график с другим символом...выйдет ошибка инвалид хэндл...т.е. когда я пытаюсь ввести и использовать символ отличный от того что на графике, каждый раз возникают проблемы...смысл в этом...в предыдущем сообщении написал про макди...ничего в нем не меняю кроме этого символа и он(индикатор перестает работать) у меня у одного что-ли такая проблема?
iMACD("GBPUSD", ...
Документация по MQL5: Операции с графиками / ChartIndicatorAdd
Документация по MQL5: Операции с графиками / ChartIndicatorAdd
  • www.mql5.com
Операции с графиками / ChartIndicatorAdd - Документация по MQL5
 
Не подгружены исторические данные.
 
Karlson:
Не подгружены исторические данные.
А как их подгрузить тогда?...запускал тестер какого-нибудь советника на валютной паре, которую потом ввожу...чтобы данные прогрузились, данные по паре загружены...ошибка все равно осталась...заметил такую вешь...ошибка возникает когда копирую сразу много данных...по одному если копировать то все ок...счас выложу 2 индикатора...первый работает а второй нет...почему...
Причина обращения: