Всем известно, что советник работает в зависимости от изменения цены, а точнее от тика. Так вот я столкнулся с проблемкой: у меня советник тестируется нормально, но после установки работает только на первом тике каждого часа, а последующие тики игнорирует, кроме тех случаев когда устанавливаю советник - срабатывает при установке не в начале часа, но опять только на первом тике.
Что посоветуете ? Может логику сбора советника подскажете?
И, если не трудно, скажите можно ли вставить функцию подсчёта баров из индикатора в советник, если да то в какой последовательности ?
Пример :
int start()
{
int counted_bars=IndicatorCounted(); int limit; if (counted_bars==0) limit=Bars-1; if (counted_bars>0) limit=Bars-counted_bars-1;
for(int i=limit;i>=0;i--)
{
Во первых это код четвёрошный, спрашивать лучше на профильном форуме.
Во вторых это участок кода индикатора а не советника.
Ну а по факту, чтоб последний бар пересчитывался на каждом тике нужно отступить limit на один бар от правого края.
например вот так: limit=(Bars-1)-(counted_bars-1); ну можно лишнее убрать -> limit=Bars-counted_bars;
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Всем известно, что советник работает в зависимости от изменения цены, а точнее от тика. Так вот я столкнулся с проблемкой: у меня советник тестируется нормально, но после установки работает только на первом тике каждого часа, а последующие тики игнорирует, кроме тех случаев когда устанавливаю советник - срабатывает при установке не в начале часа, но опять только на первом тике.
Что посоветуете ? Может логику сбора советника подскажете?
И, если не трудно, скажите можно ли вставить функцию подсчёта баров из индикатора в советник, если да то в какой последовательности ?
Пример :
int start()
{
int counted_bars=IndicatorCounted(); int limit; if (counted_bars==0) limit=Bars-1; if (counted_bars>0) limit=Bars-counted_bars-1;
for(int i=limit;i>=0;i--)
{