Как изменить во время торговли входной параметр в кастомном индикаторе и применить изменения?
Допустим была ма 25 , теперь мне нужна ма 33.
Насколько я понимаю входные параметры выставляются только во время инициализации. Но мне нужно изменить индикатор во время торгов
Ну так вроде при изменении значений во входных параметрах советника срабатывает OnInit(), значит при этом применяются новые значения параметров. Или Я ошибаюсь?
Ну так вроде при изменении значений во входных параметрах советника срабатывает OnInit(), значит при этом применяются новые значения параметров. Или Я ошибаюсь?
Я пробывал вот так.
Не получается
inputint InpMA_ma_period = 25; // Параметры МА inputint InpMA_ma_shift = 0; // MA PRICE_HIGH and PRICE_LOW: horizontal shift inputENUM_MA_METHOD InpMA_ma_method = MODE_SMA; // MA PRICE_HIGH: smoothing type double ExtInpMA_ma_period=InpMA_ma_period;
int handle_MA;
intOnInit()
{
handle_MA=iCustom(m_symbol.Name(),Period(),"MA",ExtInpMA_ma_period,InpMA_ma_shift,InpMA_ma_method,PRICE_CLOSE);
}
voidOnTick()
{
// Ставим новый параметр индикатора и делаем пересчет с новым параметром ???
ExtInpMA_ma_period = 33;
}
Создавайте заранее ДВА индикатора.
Нет , мне не нужны два индикатора. Мне нужно этот менять во время торгов.
Динамика чтобы была , так сказать.
Может его как то выгрузить и загрузить с новыми параметрами?
Нет , мне не нужны два индикатора. Мне нужно этот менять во время торгов.
Динамика чтобы была , так сказать.
Может его как то выгрузить и загрузить с новыми параметрами?
Создайте три индикатора :).
В общем сначала нужно думать, создавать окружение и только потом получать данные.
Создайте три индикатора :).
В общем сначала нужно думать, создавать окружение и только потом получать данные.
Допустим-
При старте советника параметр МА=25;
С каждым новым тиком я меняю параметр МА = +1.
Т.е МА =26;
Я же не создам 500хэндлов для разных условий)
Как изменить во время торговли входной параметр в кастомном индикаторе и применить изменения?
Допустим была ма 25 , теперь мне нужна ма 33.
Насколько я понимаю входные параметры выставляются только во время инициализации. Но мне нужно изменить индикатор во время торгов
Ну так вроде при изменении значений во входных параметрах советника срабатывает OnInit(), значит при этом применяются новые значения параметров. Или Я ошибаюсь?
Ну так вроде при изменении значений во входных параметрах советника срабатывает OnInit(), значит при этом применяются новые значения параметров. Или Я ошибаюсь?
Я пробывал вот так.
Не получается
Я пробывал вот так.
Не получается
Ну так и не получится, нужно вызывать OnInit для переинициализации индикатора.
Как часто меняете параметры в процессе работы?
Ну так и не получится, нужно вызывать OnInit для переинициализации индикатора.
Как часто меняете параметры в процессе работы?
Собираюсь менять часто.
Т.е код должен выглядеть так?
Собираюсь менять часто.
Т.е код должен выглядеть так?
Вы должны ставить флаг на проверку изменения значения, чтобы не дёргать OnInit на каждом тике
Как-то так:
Вы должны ставить флаг на проверку изменения значения, чтобы не дёргать OnInit на каждом тике
Как-то так:
Спасибо заработало.
Насколько я понял нужно будет ещё выполнить IndicatorRelease
Потому как старый расчет так и висит на графике? По крайне мере в тестере.
Тогда код такой?
Спасибо заработало.
Насколько я понял нужно будет ещё выполнить IndicatorRelease
Потому как старый расчет так и висит на графике? По крайне мере в тестере.
Тогда код такой?
И добавьте в код: