Cтатьи

Советы профессионального программиста (Часть III): Логирование. Подключение к системе сбора и анализа логов Seq для MetaTrader 5

Реализация класса Logger для унификации (структурирования) сообщений, выводимых в журнал эксперта. Подключение к системе сбора и анализа логов Seq. Наблюдение за сообщениями в онлайн режиме

Советы профессионального программиста (Часть II): Организация хранения и обмена параметров между экспертом, скриптами и внешними программами для MetaTrader 5

Советы профессионального программиста о методах, приемах и вспомогательных инструментах, облегчающих программирование. Речь пойдет о параметрах, которые можно восстанавливать после перезапуска (закрытия) терминала. Все примеры — реально работающие куски кода из моего проекта Cayman

Советы профессионального программиста (Часть I): Хранение, отладка и компиляция кодов. Работа с проектами и логами для MetaTrader 5

Советы профессионального программиста о методах, приемах и вспомогательных инструментах, облегчающих программирование

Форум

ChartScreenShot - как сделать серию снимков через скрипт?

Проблема в асинхронности функции ChartSetSymbolPeriod . Получаются снимки одного и того же графика. Кто решил(ал) это, поделитесь секретом, плз. void SwitchChart( string symbol, ENUM_TIMEFRAMES period) { ResetLastError (); if (! ChartSetSymbolPeriod ( 0 , symbol, period)) { Print (

Не сохраняются кириллица в файл с CP_UTF8

void OnStart () { uint numSavedBytes = 0 ; string path = "temp.txt" ; string text = "раз два три" ; // не сохраняет //string text = "one two three"; // сохраняет int file = FileOpen (path, FILE_WRITE | FILE_ANSI , '\t' , CP_UTF8 ); if (file != INVALID_HANDLE ) {

Что с координатами прямоугольника?

datetime dt0 = ( datetime ) ObjectGetInteger ( 0 , m_nameObj, OBJPROP_TIME , 0 ); datetime dt1 = ( datetime ) ObjectGetInteger ( 0 , m_nameObj, OBJPROP_TIME , 1 ); datetime dt2 = ( datetime ) ObjectGetInteger ( 0 , m_nameObj, OBJPROP_TIME , 2 ); Print ( "dt0=" , TimeToString (dt0), "

Передача произвольной структуры в качестве параметра

Смотрю на описание функции bool DatabaseReadBind ( int request, // хендл запроса, созданного в DatabasePrepare void & struct_object // ссылка на структуру для чтения записи ); Однако сам такого сделать не могу. Очень надо передать произвольную структуру в функцию void

Имитация исключений

Как известно, в MQL5 нет исключений и конструкций try...catch У меня есть класс. При создании объекта, в конструкторе проверяется некое условие (например, наличие файла). Хочу чтобы скрипт убился бы по моему приказу или сгенерировал ошибку. Тогда терминал прекратит его исполнение. С экспертом

Предложение по OBJPROP_TOOLTIP

Как известно, после перезапуска терминала значение OBJPROP_TOOLTIP стирается, но OBJPROP_TEXT остается. Почему разработчикам не реализовать функционал: если OBJPROP_TOOLTIP не пустой, то показать инес OBJPROP_TEXT не пустой, то показать иначе показать Имя+цену

Котировки DXY. Откуда можно закачать?

Можно конечно самому рассчитать по известной формуле. Но у моего провайдера нет символа USDSEK . Я пропорционально перераспределил степень USDSEK между остальными символами. Вывел последовательность значений OHLC DXY. Хочу сравнить их с реальными значениями DXY. Где их взять(закачать)

Можно ли использовать MQL5 Cloud Protector из командной строки?

Как известно, из командной строки можно скомпилировать любой *.mq5 Есть ли ключик для Cloud Protector

ChartScreenShot - что не так?

void OnStart () { // отключаем смещение и авто прокрутку графика ChartSetInteger ( 0 , CHART_SHIFT , 0 ); ChartSetInteger ( 0 , CHART_AUTOSCROLL , 0 ); // размер снимка int width = 800 ; int height = 600 ; // сдвигаем график влево // чтобы не был виден самый