Мой индикатор не правильно работает.

 

Добрый день.

Просматривая Yuotube, услышал про скальперскую стратегию. 

Если на Н1, М30, М15, М5 бар вверх, купить.

Написал индикатор и советник, но они врут.

В процессе поиска ошибки, создал Comment и увидел, что значения Open и Close на  М30, М15, М5 почему-то одинаковые.

Укажите, пожалуйста, где ошибка.

Спасибо. 

Файлы:
 
PanzerNik:

Добрый день.

Просматривая Yuotube, услышал про скальперскую стратегию. 

Если на Н1, М30, М15, М5 бар вверх, купить.

Написал индикатор и советник, но они врут.

В процессе поиска ошибки, создал Comment и увидел, что значения Open и Close на  М30, М15, М5 почему-то одинаковые.

Укажите, пожалуйста, где ошибка.

Спасибо. 

Так у вас в комменте так и написано, вы вероятно закопипастили 3 нижних строчки

                Comment("H1 " + iOpen(sy, PERIOD_H1, i + 1) + "  " + iClose(sy, PERIOD_H1, i + 1)
                        + "\n M30 " + iClose(sy, PERIOD_M30, i + 1) + "  " + iClose(sy, PERIOD_M30, i + 1)
                        + "\n M15 " + iClose(sy, PERIOD_M15, i + 1) + "  " + iClose(sy, PERIOD_M15, i + 1)
                        + "\n M5 " + iClose(sy, PERIOD_M5, i + 1) + "  " + iClose(sy, PERIOD_M5, i + 1));
 
От балбес точно закопипастил, но все равно он не правильно выдает сигналы. Т.е. если на часовом баре свеча вверх, но на меньших ТФ по определению уже не должно быть сигналов вниз. 
 
PanzerNik:
От балбес точно закопипастил, но все равно он не правильно выдает сигналы. Т.е. если на часовом баре свеча вверх, но на меньших ТФ по определению уже не должно быть сигналов вниз. 
Почему это? Внутри часовой свечи может твориться что угодно на меньших ТФ.
 
Alexey Volchanskiy:
Почему это? Внутри часовой свечи может твориться что угодно на меньших ТФ.

Вы лучше принтами повыводите, даже в тестере можно. Например, в начале свечки М1 делайте принты всех других свечек. Начало свечи можно определить так. Лучше конечно в файл, если умеете,, а то в принтах запутаешься

/// Определяет начало нового бара
bool NewBar()
{
    static datetime lastbar = 0;
    datetime curbar = iTime(Symbol(), PERIOD_M1, 0);
    if(lastbar!=curbar)
    {
        lastbar=curbar;
        return (true);
    }
    return(false);
}
 
Alexey Volchanskiy:
Почему это? Внутри часовой свечи может твориться что угодно на меньших ТФ.

??? Я же не беру нулевую свечу, а первую. Повторюсь: Т.е. если на часовом баре оконченная свеча вверх, но на меньших ТФ по определению уже не должно быть сигналов вниз. 

Если сейчас например 15:01 и если свеча на Н1 в 14:59 закрылась например вверх (OPEN < CLOSE), то по моему пониманию на промежутке 15:00 - 15:59 не должно быть сигналов вниз. ???

 
Не знаю у кого как, а у меня на 4-ке, (950 бильд) в тестере нормально получит параметры свечи с другого таймфрейма не получается. Выдаёт только значение, которое было на момент запуска теста.
 
PanzerNik:

??? Я же не беру нулевую свечу, а первую. Повторюсь: Т.е. если на часовом баре оконченная свеча вверх, но на меньших ТФ по определению уже не должно быть сигналов вниз. 

Если сейчас например 15:01 и если свеча на Н1 в 14:59 закрылась например вверх (OPEN < CLOSE), то по моему пониманию на промежутке 15:00 - 15:59 не должно быть сигналов вниз. ???

Да почему же?? Внутри часовой свечи может быть куча свечей М1, к примеру, с самыми разными параметрами. Да сами посмотрите на реальной истории, чего гадать-то.
 
PanzerNik:

??? Я же не беру нулевую свечу, а первую. Повторюсь: Т.е. если на часовом баре оконченная свеча вверх, но на меньших ТФ по определению уже не должно быть сигналов вниз. 

Если сейчас например 15:01 и если свеча на Н1 в 14:59 закрылась например вверх (OPEN < CLOSE), то по моему пониманию на промежутке 15:00 - 15:59 не должно быть сигналов вниз. ???

Вот смотрите:

0-бар к примеру время 15:00

    Н1 - 15:00; М30 - 15:00; М15 - 15:00; М5 - 15:00; М1 - 15:00 

1 - бар (предыдущий)

   Н1 - 14:00; М30- 14:30;М15 - 14:45;М5 - 14:55;М1 - 14:59

2 - бар

  Н1 - 13:00; М30 - 14:00;М15 - 14:30;М5 - 14:50;М1 - 14:58

И так далее. Внутри часовой свечи, к примеру бычьей свечи,  могут быть как бычьи так и медвежьи свечи меньшего таймфрейма.  

Причина обращения: