Эта конструкция не работает
int expBars=0; if(expBars!=Bars(NULL, PERIOD_CURRENT)) { expBars=Bars(NULL, PERIOD_CURRENT);при каждом заходе в функцию переменная будет равна 0 и присваивание никчему. см. static
Эта конструкция не работает
при каждом заходе в функцию переменная будет равна 0 и присваивание никчему. см. staticТут согласен, переменную надо было вынести за пределы функции.
Но даже если убрать вообще вызов этой функции, ничего не изменится.
Тут согласен, переменную надо было вынести за пределы функции.
Но даже если убрать вообще вызов этой функции, ничего не изменится.
Вот в индикаторе "Новый бар"
int limit=rates_total-prev_calculated; if(limit==0) return rates_total;
Коллеги, уберем функцию isNewBar, я ее исключил из кода. Проблемы это не решает.
Непонятно поведение индикатора. Суть простая - если Close выше/ниже двух МА (200 и 50) И показания стохастика в экстремальных зонах (есть пересечение) - рисуем стрелку. Это что касается "логики".
По коду - специально сравнивал с кодом встроенных индикаторов - везде также в OnInit идет SetIndexBuffer, PlotIndexSetInteger, ArraySetAsSeries, ArrayInitialize, то есть при инициализации (первичная, смена ТФ) создаются массивы, инициализируются и пошла "логика" в OnCalculate.
Не могу понять, в чем баг в коде...
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Есть самописный индикатор.
Задача проста - по заложенной логике отображает стрелку на графике (точку входа).
Всё работает, за одним нюансом: после установки на график необходимо принудительно сделать ПКМ - refresh на графике. То же действие необходимо провести и при смене ТФ.
После обновления всё прекрасно работает.
В чем моя ошибка?