Смотри, как бесплатно скачать роботов
Find us on Telegram!
Join our fan page
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Библиотеки

MT4Orders - библиотека для MetaTrader 5

Просмотров:
28312
Рейтинг:
(128)
Опубликован:
2016.08.05 15:50
Обновлен:
2023.07.21 22:58

Данная библиотека позволяет работать с ордерами в MQL5 (MT5-hedge) точно так же, как в MQL4.

Т.е. ордерная языковая система (ОЯС) становится идентичной MQL4. При этом сохраняется возможность параллельно использовать MQL5-ордерную систему. В частности, стандартная MQL5-библиотека будет продолжать полноценно работать.

Выбор между ордерными системами делать не нужно. Используйте их параллельно! При переводе MQL4 -> MQL5 ордерную систему трогать совсем не требуется.

Достаточно внести только одну строчку в начале:

#include <MT4Orders.mqh> // если есть #include <Trade/Trade.mqh>, вставить эту строчку ПОСЛЕ

Аналогично действуя (добавление одной строки) в своих MQL5-кодах, можно добавить к MT5-ОЯС еще и MT4-ОЯС, либо полностью заменить ее.

Автор создавал такую возможность для себя, поэтому намеренно не проводил подобную же идею перехода "одной строкой" для таймсерий, графических объектов, индикаторов и т.д.

Данная работа затрагивает только ордерную систему.

Вопрос возможности создания подобной полной библиотеки, когда MQL4-код может работать в MetaTrader 5 без изменений, не решался.

Внимание!

Библиотека содержится только в одном файле - MT4Orders.mqh. Все остальные файлы приложены для примеров использования библиотеки. Для работы с библиотекой эти файлы не нужны.

В качестве примера использования было взято (из кодобазы) несколько MT4/5-советников различных типов: пипсовщики, новостники, мартины, мультивалютники и т.д.

Вот так (параллельность MT4 и MT5-ОЯС) можно попробовать их использовать в том же MT5-тестере (или демо):

// MQL4&5-code

#define OnTick MTstart
#define start  MTstart

#ifdef __MQL5__

// Выберите интересуемый MT5-советник
// #include "Lucky.mq5"               // https://www.mql5.com/ru/code/1107
// #include "Puria.mq5"               // https://www.mql5.com/ru/code/138
// #include "Ilan_1_6_Dynamic_HT.mq5" // https://www.mql5.com/ru/code/12220
// #include "Multik.mq5"              // https://www.mql5.com/ru/code/158
// #include "VLT_Trader.mq5"          // https://www.mql5.com/ru/code/1163
// #include "Exp_PFE_Extr.mq5"        // https://www.mql5.com/ru/code/16044

#endif // __MQL5__

#include <MT4Orders.mqh> // если есть #include <Trade/Trade.mqh>, вставить эту строчку ПОСЛЕ

#include <MQL4_to_MQL5.mqh> // ТОЛЬКО для данного примера

// Выберите интересуемый MT4-советник
// #include "Lucky.mq4"          // https://www.mql5.com/ru/code/7464
// #include "E-news-lucky6.mq4"  // https://www.mql5.com/ru/code/7672
// #include "cm_ea_news.mq4"     // https://www.mql5.com/ru/code/10511
// #include "Spreader_v2.mq4"    // https://www.mql5.com/ru/code/14500
#include "Ilan1_4_strict.mq4" // #property strict (MQL5), original - https://www.mql5.com/ru/code/8492

#include "OrdersToString.mqh"

#undef OnTick

void OnTick( void )
{
  ::MTstart();

  if (MQLInfoInteger(MQL_VISUAL_MODE))
    Comment("Trade:" + OrdersToString() + "\nHistory:" + OrdersToString(MODE_HISTORY)); // в визуальном режиме тестера можно посмотреть

  return;
}

Если раньше возможно было проверить MT4-советники по реальным тикам в MT4-тестере, то теперь в MT5-тестере к этому прибавляется еще и мультивалютность. Т.е. мультивалютные MT4-советники можно проверять прямо в тестере!

Дополнительным примером служит статистический скрипт, собранный из нескольких MT4-вариантов:

// MQL4&5-code

#include <MT4Orders.mqh> // если есть #include <Trade/Trade.mqh>, вставить эту строчку ПОСЛЕ

#include <MQL4_to_MQL5.mqh> // ТОЛЬКО для данного примера

#ifdef __MQL5__
  #property script_show_inputs

  void OnStart( void )
  {
    ::OnStartScript();  // TradingSystemRating_Script_Ad.mq4

    ::WriteDealsInfo(); // b-SharingDoW.mqh

    // Report_strict.mq4
    ::init();
    ::start();
    ::deinit();

    MessageBox("Загляните в MQL5\\Files");

    return;
  }
#endif // __MQL5__

#define OnStart OnStartScript

#include "TradingSystemRating_Script_Ad.mq4" // https://www.mql5.com/ru/code/12040

#include <b-SharingDoW.mqh> // https://www.mql5.com/ru/code/8090
sinput int MAGIC = 0;       // MagicNumber оцениваемых ордеров (b-SharingDoW.mqh)

// Не обращайте внимание на Warnings - скрипт написан в 2006 году...
#define i ii // избегаем часть Warnings
#include "Report_strict.mq4" // #property strict (MQL5), original - https://www.mql5.com/ru/code/8126
i-SpectrAnalysis_OsMA i-SpectrAnalysis_OsMA

Индикатор является примером сглаживания временного ряда индикатора OsMA путем фильтрации гармоник большего порядка.

i-SpectrAnalysis_RVI i-SpectrAnalysis_RVI

Индикатор является примером сглаживания временного ряда индикатора RVI путем фильтрации гармоник большего порядка.

RAVI_HTF RAVI_HTF

Индикатор RAVI с возможностью изменения таймфрейма индикатора во входных параметрах.

Exp_CandlesticksBW Exp_CandlesticksBW

Эксперт Exp_CandlesticksBW построен на основе сигналов индикатора CandlesticksBW.