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

 
Silent:

Пробовал OnTimer прикручивать с ChartRedraw вместо переключения на другой тф - глухо, обновляет, но ошибка висит.

Покурю ещё.

Нет так не сработает.  Пауза нужна после первого переключения перед вторым.
 
MetaDriver:

...

// Ссылко поправил.  Первый раз через "мои коды" брал, сейчас через общий вход в кодобазу.  // Щас работает?  Или разлогиниться надо чтоб общедоступную ссыль получить?

Да, работает.
 
MetaDriver:
Нет так не сработает.  Пауза нужна после первого переключения перед вторым.

Они там чего-то с оптимизацией перемудрили.

// Не с оптимизатором кода, а с логической оптимизацией работы чартов.

Я не злюсь, бывает, за всем не уследишь.  Просто исправить надо.

Хех, придётся сервисдеск напрягать.

 
MetaDriver:

Они там чего-то с оптимизацией перемудрили.

// Не с оптимизатором кода, а с логической оптимизацией работы чартов.

Я не злюсь, бывает, за всем не уследишь.  Просто исправить надо.

Хех, придётся сервисдеск напрягать.

Может, нужна команда, которая будет имитировать смену тф и приводить к полной переинициализации графика?

Не только с индикаторами бы массу проблем сняло.

 
"
Silent:

Может, нужна команда, которая будет имитировать смену тф и приводить к полной переинициализации графика?

Не только с индикаторами бы массу проблем сняло.

Может.  Только луче б вообще без изменений таймфрейма.  По хорошему для индикаторов нужна тупо генерация тика.

Для мои целей это не всегда пригодно, а общем случае множество "проблем выходного дня" бы сняло.

 
MetaDriver:
"

Может.  Только луче б вообще без изменений таймфрейма.  По хорошему для индикаторов нужна тупо генерация тика.

Для мои целей это не всегда пригодно, а общем случае множество "проблем выходного дня" бы сняло.

Ну да, без изменения, именно имитация с последствиями как бы если была смена тф. Генерация какого нибудь события.

upd они ж не только выходного, любой обрыв связи там же.

 
Silent:

upd они ж не только выходного, любой обрыв связи там же.

Согласен.

Ещё б пригодилась "команда" програмного насильственного обнуления всех prev_calculated для выбpaннoгo cимвoлa. С последующей генерацией тика хорошо бы комбинировалось.

 
MetaDriver:

Согласен.

Ещё б пригодилась "команда" програмного насильственного обнуления всех prev_calculated для выбранного символа.  С последующей генерацией тика хорошо бы комбинировалось.

Во!

Напишите, что в сд скажут?

 

И еще вопрос:

         sDatetime  = FileReadString(file_handle);
         sActual    = FileReadString(file_handle);
         sConsensus = FileReadString(file_handle);
         sPrevious  = FileReadString(file_handle);
         
         barshift = iBarShift(Symbol(), Period(), datetime(formatdatetime(sDatetime)), false); //ВОТ ЭТА СТРОКА ВЫДАЕТ ПРАВИЛЬНЫЙ БАРШИФТ.
         if(StringToDouble(formatstring(sActual)) > 0 && StringToDouble(formatstring(sActual)) < 10000) ActualBuffer[barshift] = StringToDouble(formatstring(sActual));
         Print(formatdatetime(sDatetime));
         Print("iBarShift = ", barshift, " Datetime = ", formatstring(sDatetime), " sActual = ", sActual, " sConsensus = ", sConsensus, " sPrevious = ", sPrevious);

Это кусок кода индикатора, который грузит фундаментальные данные из csv.

1. в баршифт заносим номер бара по дэйттайм с помощью функции. Отлаживал программу. Эта строка работает корректно.

2. А вот эта строка выдает ошибку "Array OUT of range". Собственно почему? Неужто буферы теперь дополнительного шаманства требуют. Вышестоящий код не привожу, делался по шаблону через "создать->индикатор", буферы через мастера прописал. З.Ы. Я даже условия поставил, чтобы только баршифты проверялись в диапазоне от 0 до 10 000. Но это не помогло.

ActualBuffer[barshift] = StringToDouble(formatstring(sActual));

И еще я баршифт получал с помощью библиотеки компостера. Неужели встроенных средств в метатрейдере нет?

 
Al_key:

И еще вопрос:

Это кусок кода индикатора, который грузит фундаментальные данные из csv.

1. в баршифт заносим номер бара по дэйттайм с помощью функции. Отлаживал программу. Эта строка работает корректно.

2. А вот эта строка выдает ошибку "Array OUT of range". Собственно почему? Неужто буферы теперь дополнительного шаманства требуют.

Вышестоящий код не привожу,

делался по шаблону через "создать->индикатор", буферы через мастера прописал. З.Ы. Я даже условия поставил, чтобы только баршифты проверялись в диапазоне от 0 до 10 000. Но это не помогло.

И еще я баршифт получал с помощью библиотеки компостера. Неужели встроенных средств в метатрейдере нет?

"Надо, Федя. Надо."

  (с) Шурик

--

Такая ошибка возникает, например, если память под динамический буфер не распределена (в данном случае под ActualBuffer).  По приведённому участку кода это непонятно.

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