DenisR: У меня сначала было тоже 15 505 1009, но потом терминал обновился до последней версии (408) и стало 5 505 1009. Но в любом случае, признак конца файла не может быть больше размера самого файла. Сейчас меня это волнует больше всего.
//+------------------------------------------------------------------+//| ProjectName |//| Copyright 2010, CompanyName |//| http://www.companyname.net |//+------------------------------------------------------------------+#property indicator_chart_window#property indicator_buffers 1#property indicator_plots 1//---- plot Line#property indicator_label1 "Line"#property indicator_type1 DRAW_LINE#property indicator_color1 DarkBlue#property indicator_style1 STYLE_SOLID#property indicator_width1 1//--- indicator buffersdouble LineBuffer[];
//+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+intOnInit()
{
//--- indicator buffers mappingSetIndexBuffer(0,LineBuffer,INDICATOR_DATA);
//---return(0);
}
//+------------------------------------------------------------------+//| Custom indicator iteration function |//+------------------------------------------------------------------+intOnCalculate(constint rates_total,
constint prev_calculated,
constdatetime &time[],
constdouble &open[],
constdouble &high[],
constdouble &low[],
constdouble &close[],
constlong &tick_volume[],
constlong &volume[],
constint &spread[])
{
//--- получим количество доступных баров для текущих символа и периода на графикеif(prev_calculated<=0)
{
int bars=Bars(Symbol(),0);
Print("Bars = ",bars,", rates_total = ",rates_total,", prev_calculated = ",prev_calculated);
Print("time[0] = ",time[0]," time[rates_total-1] = ",time[rates_total-1]);
//--- return value of prev_calculated for next call
}
return(rates_total);
}
Кидаем, например, на USDJPY (1h). Потом, например, запускаем на #C (30m). Это всё делаем, пока рынок США ещё не открылся. И наблюдаем картину - с приходом тика по USDJPY срабатывает OnCalculate по #C, мало того, prev_calculated=0. А на самом USDJPY, prev_calculated != 0 до нового бара. Как по мне, то явный баг, хотя, может чего-то не знаю. Билд 408
Кидаем, например, на USDJPY (1h). Потом, например, запускаем на #C (30m). Это всё делаем, пока рынок США ещё не открылся. И наблюдаем картину - с приходом тика по USDJPY срабатывает OnCalculate по #C, мало того, prev_calculated=0. А на самом USDJPY, prev_calculated != 0 до нового бара. Как по мне, то явный баг, хотя, может чего-то не знаю. Билд 408
Вопрос. Индикаторный буфер содержит целые числа или, например, время. Можно ли сделать так, чтобы в DataWindow значения индикаторного буфера отображались как целое или, например, как время?
Статья о традиционных и не совсем традиционных алгоритмах усреднения, упакованных в максимально простые и достаточно однотипные классы. Они задумывались для универсального использования в практических разработках индикаторов. Надеюсь, что предложенные классы в определенных ситуациях могут оказаться достаточно актуальной альтернативой громоздким, в некотором смысле, вызовам пользовательских и технических индикаторов.
Lizar: Вопрос. Индикаторный буфер содержит целые числа или, например, время. Можно ли сделать так, чтобы в DataWindow значения индикаторного буфера отображались как целое или, например, как время?
Lizar: Вопрос. Индикаторный буфер содержит целые числа или, например, время. Можно ли сделать так, чтобы в DataWindow значения индикаторного буфера отображались как целое или, например, как время?
На данный момент индикаторные буферы позиционируются как массивы типа double. Сооответственно, и в DataWindow значения буферов отражаются как значения типа double. По всей видимости, самостоятельно, без разработчиков, решить поставленную задачу пока не получится.
На данный момент индикаторные буферы позиционируются как массивы типа double. Сооответственно, и в DataWindow значения буферов отражаются как значения типа double. По всей видимости, самостоятельно, без разработчиков, решить поставленную задачу пока не получится.
Yedelkin: На данный момент индикаторные буферы позиционируются как массивы типа double. Сооответственно, и в DataWindow значения буферов отражаются как значения типа double. По всей видимости, самостоятельно, без разработчиков, решить поставленную задачу пока не получится.
Пусть индикаторные буферы позиционируются как массивы типа double. Из double можно сделать int и datatime. А вот показать преобразованный результат нельзя. Просто возможности индикаторов возросли, а отображение результатов в DataWindow осталось прежнее. Пожалуй в сервисдеск напишу пожелание.
У меня сначала было тоже 15 505 1009, но потом терминал обновился до последней версии (408) и стало 5 505 1009. Но в любом случае, признак конца файла не может быть больше размера самого файла. Сейчас меня это волнует больше всего.
Немного изменённый пример индикатора из хелпа:
Кидаем, например, на USDJPY (1h). Потом, например, запускаем на #C (30m). Это всё делаем, пока рынок США ещё не открылся. И наблюдаем картину - с приходом тика по USDJPY срабатывает OnCalculate по #C, мало того, prev_calculated=0. А на самом USDJPY, prev_calculated != 0 до нового бара. Как по мне, то явный баг, хотя, может чего-то не знаю. Билд 408
Кидаем, например, на USDJPY (1h). Потом, например, запускаем на #C (30m). Это всё делаем, пока рынок США ещё не открылся. И наблюдаем картину - с приходом тика по USDJPY срабатывает OnCalculate по #C, мало того, prev_calculated=0. А на самом USDJPY, prev_calculated != 0 до нового бара. Как по мне, то явный баг, хотя, может чего-то не знаю. Билд 408
Подобное уже обсуждалось: https://www.mql5.com/ru/forum/3283/page2#comment_50176 (последние два абзаца; да и всю тему можно посмотреть).
Вопрос. Индикаторный буфер содержит целые числа или, например, время. Можно ли сделать так, чтобы в DataWindow значения индикаторного буфера отображались как целое или, например, как время?
как целое можно - уменьшив INDICATOR_DIGITS
как целое можно - уменьшив INDICATOR_DIGITS
Вопрос. Индикаторный буфер содержит целые числа или, например, время. Можно ли сделать так, чтобы в DataWindow значения индикаторного буфера отображались как целое или, например, как время?
На данный момент индикаторные буферы позиционируются как массивы типа double. Сооответственно, и в DataWindow значения буферов отражаются как значения типа double. По всей видимости, самостоятельно, без разработчиков, решить поставленную задачу пока не получится.