Не могу найти пример решения задачи

 

Есть ли тут пример решения задачи: Советник обновляет данные индикатора например 1 раз в 2 секунды, а значения трейлинг стопа 1 раз в 23 секунды.

Если кто видел пример - скиньте плиз. Поиск тут просто треш)))))))))))) Как я понимаю 2 таймера????????

 

Таймеры не нужны.

Должны быть две переменные - время обновления индикатора, и время обновления трейлинг-стопа. Перед обновлением того и другого - смотришь на прошлое значение. Если уже прошло время обновление индикатора - устанавливаешь это время на текущее, и обновляешь индикатор. Потом глядишь, если с прошлого трейлинга прошло 23 секунды - то тоже самое с временем трейлинга, устанавливаешь его на текущее, и производишь трейлинг.

 
Georgiy Merts:

Таймеры не нужны.

Должны быть две переменные - время обновления индикатора, и время обновления трейлинг-стопа. Перед обновлением того и другого - смотришь на прошлое значение. Если уже прошло время обновление индикатора - устанавливаешь это время на текущее, и обновляешь индикатор. Потом глядишь, если с прошлого трейлинга прошло 23 секунды - то тоже самое с временем трейлинга, устанавливаешь его на текущее, и производишь трейлинг.

Жорж, я тут нечасто появляюсь, ты еще не сошел с ума? )))) Жорж, у меня еще сложнее вопрос: папа, а скока будет 2=3

 
Alexey Volchanskiy:

Жорж, я тут нечасто появляюсь, ты еще не сошел с ума? )))) Жорж, у меня еще сложнее вопрос: папа, а скока будет 2=3

Вроде не сошел. Мне казалось, будет false.

Возражения ?

 
Georgiy Merts:

Вроде не сошел. Мне казалось, будет false.

Возражения ?

Ну там же присваивание. )) Вот если бы было "2 == 3", то false.

 

примерно так

#property copyright "IgorM"
#property link      "https://www.mql5.com/ru/users/igorm"
#property version   "1.00"
#property strict
input int PauseInTick = 20;
input int PauseInSec  = 23;
//+------------------------------------------------------------------+
int OnInit()
  {
//--- create timer
   EventSetTimer(1);
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//--- destroy timer
   EventKillTimer();

  }
//+------------------------------------------------------------------+
void OnTick()
  {
   int static count=1;
   if((count++)%PauseInTick==0)
     {
      PrintFormat("Прошло %d тиков",PauseInTick);
      count=1;
     }

  }
//+------------------------------------------------------------------+
void OnTimer()
  {
   int static count=1;
   if((count++)%PauseInSec==0)
     {
      PrintFormat("Прошло %d секунд",PauseInSec);
      count=1;
     }
  }
//+------------------------------------------------------------------
Причина обращения: