Counted_bars=IndicatorCounted(); // Количество просчитанных баров
i=Bars-Counted_bars; // Индекс первого непосчитанного
if (i>1) i=i-1; else return(0);
while(i>=0) // Цикл по непосчитанным барам
{
}
Если я правильно понял - это имеется в виду
Растолкуйте, пожалуйста, подробнее!
Я не могу понять самостоятельно.
В моём понимании это исправление приведёт лишь к тому, что индикатор не будет пересчитываться на каждом тике - только и всего.
Он пересчитатся только с приходом нового бара.
Но как это может повлиять на проблему связанную с тем, что эксперт от индикатора не получает свежего результата?
Или (скорее всего) я по-крупному чего-то не понимаю.
Индикатор должен обрабатывать не до конца обработанный первый бар и нулевой. В вашем варианте обрабатывался только нулевой, Но если результат зависел от предыдущего расчета, то возникала погрешность вычисления, так как не был до конца обработан первый бар
Индикатор должен обрабатывать не до конца обработанный первый бар и нулевой. В вашем варианте обрабатывался только нулевой, Но если результат зависел от предыдущего расчета, то возникала погрешность вычисления, так как не был до конца обработан первый бар
Обычно
где period - период расчета индикатора
Хотя можно использовать и другие варианты
А вот такой вариант:
int i, // Индекс бара
Counted_bars=IndicatorCounted(); // Количество просчитанных баров
i=Bars-Counted_bars; // Индекс первого непосчитанного
Советник у меня и так тестируется по приходу нового бара,
Если выложенный Вами текст функции распознавания нового бара полон, то Ваш советник не распознает новый бар, а работает на каждом тике. Следствие - зависимость от перерисовки индикатора, будь он внешним,или встроенным в Вашу программу.
tara:
Если выложенный Вами текст функции распознавания нового бара полон, то Ваш советник не распознает новый бар, а работает на каждом тике. Следствие - зависимость от перерисовки индикатора, будь он внешним,или встроенным в Вашу программу.
Чего не хватает в моём тексте распознавания нового бара?
Как вариант, индюк рассчитывается по Close советник тестируется по Open
Советник у меня и так тестируется по приходу нового бара,
а как привязать "индюка" к Close - подскажите, пожалуйста!
int i, // Индекс бара
Counted_bars=IndicatorCounted(); // Количество просчитанных баровi=Bars-Counted_bars; // Индекс первого непосчитанного
if (i>1) i=i-1; else return(0);
while(i>=0) // Цикл по непосчитанным барам
{
}
Если я правильно понял - это имеется в виду
Растолкуйте, пожалуйста, подробнее!
Я не могу понять самостоятельно.
В моём понимании это исправление приведёт лишь к тому, что индикатор не будет пересчитываться на каждом тике - только и всего.
Он пересчитатся только с приходом нового бара.
Но как это может повлиять на проблему связанную с тем, что эксперт от индикатора не получает свежего результата?
Или (скорее всего) я по-крупному чего-то не понимаю.
Индикатор должен обрабатывать не до конца обработанный первый бар и нулевой. В вашем варианте обрабатывался только нулевой, Но если результат зависел от предыдущего расчета, то возникала погрешность вычисления, так как не был до конца обработан первый бар
Обычно
где period - период расчета индикатора
Хотя можно использовать и другие варианты
Индикатор должен обрабатывать не до конца обработанный первый бар и нулевой. В вашем варианте обрабатывался только нулевой, Но если результат зависел от предыдущего расчета, то возникала погрешность вычисления, так как не был до конца обработан первый бар
Обычно
где period - период расчета индикатора
Хотя можно использовать и другие варианты
А вот такой вариант:
int i, // Индекс бара
Counted_bars=IndicatorCounted(); // Количество просчитанных баров
i=Bars-Counted_bars; // Индекс первого непосчитанного
if (i>0) i=i-1; else return(0);
while(i>=0) // Цикл по непосчитанным барам
{
}
А вот так, с нулём?
Нормально?
Советник у меня и так тестируется по приходу нового бара,
Если выложенный Вами текст функции распознавания нового бара полон, то Ваш советник не распознает новый бар, а работает на каждом тике. Следствие - зависимость от перерисовки индикатора, будь он внешним,или встроенным в Вашу программу.
Чего не хватает в моём тексте распознавания нового бара?
Разве что объявления переменной хранящей время прихода прежнего бара статической?
Это объявление есть.
Что ещё исправить, чтобы работал по новым барам?