Смотри, как бесплатно скачать роботов
Ищи нас в Twitter!
Ставь лайки и следи за новостями
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Оцени его работу в терминале MetaTrader 5
Event_Message - библиотека для MetaTrader 5
- Просмотров:
- 2425
- Рейтинг:
- Опубликован:
- 2020.04.19 13:12
- Обновлен:
- 2024.03.16 06:36
- Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
ChartEvent-события содержат информацию в виде string-переменной длинной до 63-х символов.
Данная библиотека позволяет удобно передавать/принимать информацию любой длины через тот же механизм за счет разбивки ее на соответствующие куски.
Пример со строкой.
Отправка.
// Пример отправки строки любой длины через ChartEvent-механизм. #include <fxsaber\Event_Message\Event_Message.mqh> // Отправка/получение информации через ChartEvent-события #include <TypeToBytes.mqh> // https://www.mql5.com/ru/code/16280 bool Send( const string Str ) { long chartID = 0; _W(chartID) = GlobalVariableGet("Event_Message"); // Получили ChartID-чарта, где запущен приемник. return(chartID && EVENT_MESSAGE::Send(Str, chartID)); // Удалось ли успешно отправить? } void OnStart() { string Str = "1234567890"; // Строка любой длины. for (int i = 0; i < 10; i++) if (!Send(Str)) // Отправили строку. Print("Error send!"); Print("Sended: " + EVENT_MESSAGE::StatSended()); // Статистика отправленных сообщений. }
Получение.
// Пример приема строки любой длины через ChartEvent-механизм. #include <fxsaber\Event_Message\Event_Message.mqh> // Отправка/получение информации через ChartEvent-события #include <TypeToBytes.mqh> // https://www.mql5.com/ru/code/16280 #define GLOBALNAME "Event_Message" // Название глобальной переменной, где будем хранить ChartID int OnInit() { double chartID = 0; _W(chartID) = ChartID(); return(!GlobalVariableSet(GLOBALNAME, chartID)); // Сохранили свой ChartID. } void OnDeinit( const int ) { GlobalVariableDel(GLOBALNAME); } void OnChartEvent(const int id,const long& lparam,const double& dparam,const string& sparam) { if (id == CHARTEVENT_CLICK) // По щелчку мыши Print("Received: " + EVENT_MESSAGE::StatReceived()); // показываем статистику принятых сообщений. if (EVENT_MESSAGE::OnChartEvent(id, lparam, dparam, sparam)) // Если переданная строка полностью пришла, Print(EVENT_MESSAGE::Receive(lparam)); // распечатываем ее. }
Пример с массивом.
Отправка.
// Пример отправки массива тиков через ChartEvent. #include <fxsaber\HistoryTicks\Data_String.mqh> // https://www.mql5.com/ru/code/20298 #include <fxsaber\Event_Message\Event_Message.mqh> // Отправка/получение информации через ChartEvent-события void OnStart() { MqlTick Ticks[]; if (CopyTicks(_Symbol, Ticks, COPY_TICKS_ALL, 0, 10) > 0) // Заполнили массив тиков Send(DATA_STRING::ToString(Ticks)); // и отправили его }
Получение.
// Пример приема массива тиков через ChartEvent. #include <fxsaber\HistoryTicks\Data_String.mqh> // https://www.mql5.com/ru/code/20298 #include <fxsaber\Event_Message\Event_Message.mqh> // Отправка/получение информации через ChartEvent-события void OnChartEvent(const int id,const long& lparam,const double& dparam,const string& sparam) { if (EVENT_MESSAGE::OnChartEvent(id, lparam, dparam, sparam)) // Если переданная информация полностью пришла. { MqlTick Ticks[]; DATA_STRING::FromString(EVENT_MESSAGE::Receive(lparam), Ticks); // Преобразовали информацию в массив ArrayPrint(Ticks); // и распечатали его. } }
Сценарии использования.
- Обмен информацией. Например, написание асинхронных торговых приказов в MT4.
- Взаимодействие с Маркет-продуктами, работающими через сторонние Web-API: криптобиржы, мессенджеры и т.д.
Особенности.
- Библиотека кроссплатформенная - MT4/5.
- Не нарушается работа, если идет одновременная отправка сообщений из нескольких параллельно запущенных MQL-программ.
Dual Candlestick Strategy EA
Торговая стратегия по мотивам ветки https://www.mql5.com/en/forum/337446 Работа отложенными Stop ордерами
AlliHeik 2Торговля по индикатору индикатор Heiken Ashi Smoothed Oscillator. Развитие первой версии
Two_Symbols_iRSI_EA
Мультисимвольная торговая система. Описание берёт в теме https://www.mql5.com/ru/forum/233860/15876097#comment_15876097
PowerLine (Сила котировок)Берем котировку и подсчитываем сколько раз цена(бары) пересекала её. На основе полученных данных строим вертикальную гистограмму.