Душевно!!! Всё заработало. Почему тогда в других индюках стоит тоже самое и при этом всё показывает???
Есть разные индикаторы: которые записывают данные в каждый индекс индикаторного массива, а есть индикаторы, которые данные пишут не во все индексы (например фракталы - там данные пишутся в некоторые индексы, а там где нет фракталов пишется или "0" или EMPTY_VALUE).
Есть разные индикаторы: которые записывают данные в каждый индекс индикаторного массива, а есть индикаторы, которые данные пишут не во все индексы (например фракталы - там данные пишутся в некоторые индексы, а там где нет фракталов пишется или "0" или EMPTY_VALUE).
Изначально в тетвёрке это было для того чтобы заполнить буфер нулями перед записью его. Сейчас я так понимаю смысл подобной функции изменился...
Изначально в тетвёрке это было для того чтобы заполнить буфер нулями перед записью его. Сейчас я так понимаю смысл подобной функции изменился...
Смысл в индикаторах всегда один:
при первом проходе или подкачке истории ОБЯЗАТЕЛЬНО пройтись по каждому индексу индикаторного буфера
в последующих проходах ОБЯЗАТЕЛЬНО пройтись по новым индексам
также многие индикаторы многократно пересчитывают самый правый бар на графике - для актуальности данных.
При этом есть индикаторы которые в каждый индекс пишут актуальные данные, а есть те, кто пропускает некоторые индексы. Но пропустить индекс и ничего туда не записав - это неправильно, там будет мусор. Поэтому в пропускаемые индексы пишут "0" или "EMPTY_VALUE".
при первом проходе или подкачке истории ОБЯЗАТЕЛЬНО пройтись по каждому индексу индикаторного буфера
в последующих проходах ОБЯЗАТЕЛЬНО пройтись по новым индексам
также многие индикаторы многократно пересчитывают самый правый бар на графике - для актуальности данных.
При этом есть индикаторы которые в каждый индекс пишут актуальные данные, а есть те, кто пропускает некоторые индексы. Но пропустить индекс и ничего туда не записав - это неправильно, там будет мусор. Поэтому в пропускаемые индексы пишут "0" или "EMPTY_VALUE".
Понятно. Просто я думал немного по другому. Мы изначально заполняем весь буфер нулями, а потом начинаем в него писать. Если какой бар не записали, то там сохранится ноль. ЧТо в принципе избавляет нас от этого самого мусора. Признаюсь честно ещё только одупляюсь с пятёркой. НО всё равно спасибо за разяснения.....!!!!
double Sig(int index)
{
double MA[1];
ResetLastError();
if(CopyBuffer(MA_handle,3,index,1,MA)<0)
{
PrintFormat("Failed to copy data from the iMA indicator, error code %d",GetLastError());
return(0.0);
}
returnNormalizeDouble(MA[0],Digits());
}
Хотя по итогу в скрипте такая конструкция работает, а вот и индикаторе работать не хочет. Полтергейст прям!!!!
Не могу разобратся. Как в отладчике посмотреть значение функции??? Пишет Unknown identifier....
Присвоить значение функции какой-нибудь переменной, а переменную вынести в контрольные значения. Значение переменной будет доступно после выхода из функции.
Ну что же... Мои познания МТ5 продолжают развиваться, проблема в следующем. Есть индикатор, который читает данные из файла. Однако при тестировании его в агенте, пишет ошибка открытия файла. Хотя я эти файлы положил в тестер агенту. Но он всё равно ругается на то что не может открыть файл. Как так???
Выкладываю индикатор и файл к нему. ЧТо нужно сделать чтоб в тестере этот индикатор работал. Ну и в реалтайме тоже.. естественно!!!!!
Душевно!!! Всё заработало. Почему тогда в других индюках стоит тоже самое и при этом всё показывает???
Есть разные индикаторы: которые записывают данные в каждый индекс индикаторного массива, а есть индикаторы, которые данные пишут не во все индексы (например фракталы - там данные пишутся в некоторые индексы, а там где нет фракталов пишется или "0" или EMPTY_VALUE).
Есть разные индикаторы: которые записывают данные в каждый индекс индикаторного массива, а есть индикаторы, которые данные пишут не во все индексы (например фракталы - там данные пишутся в некоторые индексы, а там где нет фракталов пишется или "0" или EMPTY_VALUE).
Изначально в тетвёрке это было для того чтобы заполнить буфер нулями перед записью его. Сейчас я так понимаю смысл подобной функции изменился...
Изначально в тетвёрке это было для того чтобы заполнить буфер нулями перед записью его. Сейчас я так понимаю смысл подобной функции изменился...
Смысл в индикаторах всегда один:
Смысл в индикаторах всегда один:
Понятно. Просто я думал немного по другому. Мы изначально заполняем весь буфер нулями, а потом начинаем в него писать. Если какой бар не записали, то там сохранится ноль. ЧТо в принципе избавляет нас от этого самого мусора. Признаюсь честно ещё только одупляюсь с пятёркой. НО всё равно спасибо за разяснения.....!!!!
Не могу разобратся. Как в отладчике посмотреть значение функции??? Пишет Unknown identifier....
Вообще не понятен вызов функции ICustom. Я делаю вот так... что тут не правильно???
в он Ините
Далее...
Хотя по итогу в скрипте такая конструкция работает, а вот и индикаторе работать не хочет. Полтергейст прям!!!!
Не могу разобратся. Как в отладчике посмотреть значение функции??? Пишет Unknown identifier....
Присвоить значение функции какой-нибудь переменной, а переменную вынести в контрольные значения. Значение переменной будет доступно после выхода из функции.
Вообще не понятен вызов функции ICustom. Я делаю вот так... что тут не правильно???
в он Ините
Далее...
Хотя по итогу в скрипте такая конструкция работает, а вот и индикаторе работать не хочет. Полтергейст прям!!!!
По-моему в OnInit еще нельзя получать данные индикатора. В OnCalculate точно можно.
По-моему в OnInit еще нельзя получать данные индикатора. В OnCalculate точно можно.
CopyBuffer может и не будет работать в OnInit, но получить хендл индикатора никто не запрещал.
Ну что же... Мои познания МТ5 продолжают развиваться, проблема в следующем. Есть индикатор, который читает данные из файла. Однако при тестировании его в агенте, пишет ошибка открытия файла. Хотя я эти файлы положил в тестер агенту. Но он всё равно ругается на то что не может открыть файл. Как так???
Выкладываю индикатор и файл к нему. ЧТо нужно сделать чтоб в тестере этот индикатор работал. Ну и в реалтайме тоже.. естественно!!!!!