Обновление горизонтальной линии в советнике в не тика MQL5

 

Здравствуйте. Помогите пожалуйста. Хочу написать советник который рисует линию по горячей клавиши


void OnChartEvent(const int id, const long& lparam, const double& dparam, const string& sparam)
  {

//--- подготовим переменные
   int x = (int)lparam;
   int y = (int)dparam;
   int window = 0;


   if(id == CHARTEVENT_MOUSE_MOVE)   // Событие перемещение курсора
     {
      // Print(dparam);
      ChartXYToTimePrice(0, x, y, window, dt, priceMouse);
     }
   if(id == CHARTEVENT_KEYDOWN)   // Событие нажатие клавиши
     {
      short sym = TranslateKey((int)lparam);
      //--- если введённый символ успешно преобразован в Юникод
      if(sym > 0)
        {
         if(sym == (int)keyPrice)
            SetLevelPrice(); // Линия отложенного ордера
         else
            if(sym == (int)keyStop)
               SetLevelStop(); //  Линия Stop ордера
            else
               if(sym == (int)keyProfit)
                  SetLevelProfit(); // Линия Profit ордера
               else
                  if(sym == (int)openOrder)
                     SetOpenOrder(); // устаноdка Открытия ордера
                  else
                     if(sym == 27)
                        SetCancel(); // Отмена всего
                     else
                        Print(sym, "'", ShortToString(sym), "'");
        }
      else
        {
         Print("Error in TranslateKey for key=", lparam);
        }
     }
  }
//+---------------

Проблема в том что линии появляются при обновлении тика в графике.. Можно ли рисовать вне тиковых обновлений

 
Alexander Martynov:

Здравствуйте. Помогите пожалуйста. Хочу написать советник который рисует линию по горячей клавиши


Проблема в том что линии появляются при обновлении тика в графике.. Можно ли рисовать вне тиковых обновлений

После создания линии напишите ChartRedraw();

 
Alexey Viktorov #:

После создания линии напишите ChartRedraw();

Спасибо огромное...

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