Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 851

 
evillive:
Просто уберите условие для контроля нового бара, а OnTick() исполняется на каждом тике всегда.

Вместо time[0] поставить ontick ?
 
с какого бара индикатор обрабатывает значения при старте (и как изменить)? можно ли в инит посчитать все кроме 0го?
 
mitanq:

Вместо time[0] поставить ontick ?
Я код советника не видел и как там реализован контроль нового бара неизвестно.
 
eddy:
с какого бара индикатор обрабатывает значения при старте (и как изменить)?можно ли в инит посчитать все кроме 0го?
Практически каждый индикатор содержит цикл расчёта, в котором происходит перебор заданного количества баров от Х до У, в некоторых в порядке возрастания, в некоторых наоборот. Так вот в том цикле и задаётся, с которого бара начинать.
 
http://www.admiralmarkets.com.ua/media/Image/MQLabs/39_ag/Complex_Expert_V2.mq4
evillive:
Я код советника не видел и как там реализован контроль нового бара неизвестно.

ссылка на советник. Советник кстати классный.

http://www.admiralmarkets.com.ua/media/Image/MQLabs/39_ag/Complex_Expert_V2.mq4

и ссылка на присоединяемые индикаторы.

http://www.admiralmarkets.com.ua/media/Image/MQLabs/39_ag/indicators.zip


Индикатор CrossMA.


В принципе код советника простой, все подписано что да как. 


А вот чтобы торговал на каждый тик не могу сделать.


Может все таки в индикаторе? 


Там есть такая строка:


// - 3 - ======================= Выдача сигналов ========================================
   if (LastBar != Time[0])                                        // Один раз за один бар
     {

 

Ребят, вопрос по тестеру. Можно ли более плавно настраивать скорость тестирования советника в режиме визуализации через самого советника? Зарание спасибо.

 Мож есть какая-нибудь функция , которую можно прописать.

 
mitanq:

// - 3 - ======================= Выдача сигналов ========================================
   if (LastBar != Time[0])                                        // Один раз за один бар
     {

        ...

      }

Да, эти строчки надо закомментировать и проверить поведение советника на тиках.

И в индикаторе тоже

// - 3 - ======================= Выдача сигналов ======================================== 
   if (LastBar != Time[0])                                        // Один раз за один бар
     { 
      if (FastMA[1] > SlowMA[1])
        GlobalVariableSet(Signal, 1);
       else 
        if (FastMA[1] < SlowMA[1])
          GlobalVariableSet(Signal, -1);                                          // Sell
         else
          GlobalVariableSet(Signal, 0);                                    // Нет сигнала
      GlobalVariableSet(STime, Time[0]);                   // Время последнего обновления
      LastBar = Time[0];     
     }   
// - 3 - ============================ Окончание блока ===================================
    
 
evillive:

Да, эти строчки надо закомментировать и проверить поведение советника на тиках.

И в индикаторе тоже


Пробовал. Не фига
 
mitanq:

Пробовал. Не фига
Так там во всех индикаторах надо править, а не только в кросма.
 
evillive:
Так там во всех индикаторах надо править, а не только в кросма.

Я использую только кросс. Чтобы понять. Потом в остальных если получиться с эти.

Все пробовал. Все равно открывает на следующей свече (

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