Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Вся история MQL5.community в одном месте!
Alexandr Balasyan
501
Alexandr Balasyan 2015.03.27 16:18 

Всем привет. После обновления на версию 784 в функции OnCalculate в Bid и Ask стали попадать текущие значения. То есть прогоняя индикатор в тестере, Print(Ask)  на каждом тике выводит сегодняшний Ask.

Кто-нибудь может это прокомментировать, или я в чем-то ошибся?

Boris
3881
Boris 2015.03.27 17:24  
Ortex:

Всем привет. После обновления на версию 784 в функции OnCalculate в Bid и Ask стали попадать текущие значения. То есть прогоняя индикатор в тестере, Print(Ask)  на каждом тике выводит сегодняшний Ask.

Кто-нибудь может это прокомментировать, или я в чем-то ошибься?

Конечно, мягкий знак лишний! Правда, всегда можно выводить в Print всё, что захочешь! И Ask в том числе! 
Alexandr Balasyan
501
Alexandr Balasyan 2015.03.27 17:50  
Выводит СЕГОДНЯШНИЙ ASK, а не тот, что был на нужном баре в момент тестирования.
Boris
3881
Boris 2015.03.27 19:43  
Ortex:
Выводит СЕГОДНЯШНИЙ ASK, а не тот, что был на нужном баре в момент тестирования.
Конечно, в зависимости от спреда, указанного в настройках. Я имел ввиду в реале или на демо.
Ihor Herasko
8423
Ihor Herasko 2015.03.27 20:06  
Ortex:

Всем привет. После обновления на версию 784 в функции OnCalculate в Bid и Ask стали попадать текущие значения. То есть прогоняя индикатор в тестере, Print(Ask)  на каждом тике выводит сегодняшний Ask.

Кто-нибудь может это прокомментировать, или я в чем-то ошибся?

Новый билд не виноват. Так было всегда - индикаторы при визуализации находятся вне окружения тестера стратегий. Для этого необходимо вызывать индикатор в советнике через iCustom. В таких случаях используйте iClose вместо Bid и iClose + спред вместо Ask.
Алексей Тарабанов
7220
Алексей Тарабанов 2015.03.27 21:12  

Ну, отчего же именно iClose? Не подумайте, что я к Вам цепляюсь,- я использую все, кроме Close: 

 // Закрытие позиций:
      if( LongStop-Low[i] > -Zero ){               // Касание сверху уровня LongStop
         if( IsLastLong ){                         // Есть открытая Long
            if( Open[i]-LongStop > Zero )          // Выбор худшей цены
                 CloseLong[i]=LongStop;
            else CloseLong[i]=Open[i];
            IsLastLong =false;                     // Закрыть Long, увеличить профит
            LongProfit+=CloseLong[i];
            LongsLost--;
         }
      }
      if( ShortStop > Zero                         // ShortStop активна
       && High[i]-ShortStop > -Zero ){             // Касание снизу уровня ShortStop
         if( IsLastShort ){                        // Есть открытая Short
            if( ShortStop-Open[i] > Zero )         // Выбор худшей цены
                 CloseShort[i]=ShortStop;
            else CloseShort[i]=Open[i];
            IsLastShort =false;                    // Закрыть Short, уменьшить профит
            ShortProfit-=(CloseShort[i]+Spread);
            ShortsLost--;
         }
      }
Alexandr Balasyan
501
Alexandr Balasyan 2015.03.28 05:32  
Scriptong:
Новый билд не виноват. Так было всегда - индикаторы при визуализации находятся вне окружения тестера стратегий. Для этого необходимо вызывать индикатор в советнике через iCustom. В таких случаях используйте iClose вместо Bid и iClose + спред вместо Ask.
Дело в том, что до обновления, в версии 765, при использовании iCustom, Bid и Ask соотетствовали барам в прошлом, каждый тик. Но, в любом случаи, всем спасибо, решение найдено.
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий