Скачать MetaTrader 5

Как транслировать в реальном времени значение пары переменных при работе советника на окно графика ?

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Justinas Shimkus
179
Justinas Shimkus  
Добрый день.

Есть работающий советник, в нем у двух глобальных переменных типа uint периодически меняются значения. Есть ли возможность текущие значения этих переменных выводить в окно графика ? Например, вверху слева. Не важно какие значения были раньше, важно только какие они сейчас. При смене значений при работе советника надо бы чтоб цифры на графике тоже изменились.

Заранее благодарен.
Ihor Herasko
13773
Ihor Herasko  
ArkFatalist:
Добрый день.

Есть работающий советник, в нем у двух глобальных переменных типа uint периодически меняются значения. Есть ли возможность текущие значения этих переменных выводить в окно графика ? Например, вверху слева. Не важно какие значения были раньше, важно только какие они сейчас. При смене значений при работе советника надо бы чтоб цифры на графике тоже изменились.

Заранее благодарен.

Да, конечно. Именно это делает функция Comment. Самый простой вариант.

Если нужно покрасивее, но сложнее, то - при помощи графических объектов. Например, при помощи текстовой метки или кнопки. 

Justinas Shimkus
179
Justinas Shimkus  

Чудно ) Comment - как раз то, что нужно.

Спасибо,  Ihor Herasko.

Alexey Volchanskiy
23012
Alexey Volchanskiy  
Ihor Herasko:

Да, конечно. Именно это делает функция Comment. Самый простой вариант.

Если нужно покрасивее, но сложнее, то - при помощи графических объектов. Например, при помощи текстовой метки или кнопки. 

Например, так

int OnInit()
{
    ObjectDelete(0, ShortName);
    //LogFile = FileOpen("Order-Manager.log", FILE_CSV | FILE_WRITE, ',');
    ObjectCreate(0, ShortName, OBJ_LABEL, 0, 0, 0);
    ObjectSetInteger(0, ShortName, OBJPROP_ANCHOR, ANCHOR_RIGHT_LOWER);
    ObjectSetInteger(0, ShortName, OBJPROP_CORNER, CORNER_RIGHT_LOWER);
    ObjectSetInteger(0, ShortName, OBJPROP_XDISTANCE, 32);
    ObjectSetInteger(0, ShortName, OBJPROP_YDISTANCE, 18);
    ObjectSetInteger(0, ShortName, OBJPROP_FONTSIZE, 11);
    ObjectSetInteger(0, ShortName, OBJPROP_COLOR, color_text);
    ObjectSetInteger(0, ShortName, OBJPROP_SELECTABLE, true);
    ObjectSetString(0, ShortName, OBJPROP_FONT, "Tahoma");
    ArrOrders.FreeMode(true);

    EventSetMillisecondTimer(timer_period_ms);
    return(INIT_SUCCEEDED);
}

void OnDeinit(const int reason)
{
    ObjectDelete(0, ShortName);
}

// где-то в программе вывод строки
    ObjectSetString(0, ShortName, OBJPROP_TEXT, msg);
    ChartRedraw();
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий