//+------------------------------------------------------------------+ //| EALeague Free Core | //| Copyright 2019, George March | //+------------------------------------------------------------------+ /* Советник на основе одной фабрики Лиги ТС - ядро. */ // Входные параметры input ulong Magic = 0; input double RiskPercent = 0.0; // Объявляем интерфейс библиотеки #include "EALeagueI\\EALeagueTradeSystemI.mqh" // Подключаем библиотеку #ifdef __MQL5__ #import "MyLib\\EALeagueLib.ex5" CEALeagueTradeSysemI* GetTradeSystem(ulong ulMagic,double dRiskPercent,ulong ulTSCode = NULL); #import #else // __MQL5__ #import "MyLib\\EALeagueLib.ex4" CEALeagueTradeSysemI* GetTradeSystem(ulong ulMagic,double dRiskPercent,ulong ulTSCode = NULL); #import #endif // __MQL5__ // Объявляем интерфейс ТС CEALeagueTradeSysemI* ltsTradeSystem = NULL; int OnInit() { // Получаем интерфейс ТС ltsTradeSystem = GetTradeSystem(Magic,RiskPercent,NULL); // Если интерфейс получить не удалось - возвращаем признак неудачи. if(ltsTradeSystem == NULL) return(INIT_FAILED); // Если интерфейс получен успешно - вызываем обработчик события OnInit() у этого интерфейса int iRes = ltsTradeSystem.TradeSystemOnInit(); return(iRes); }; void OnDeinit(const int iReason) { // Если интерфейс торговой системы был успешно получен, // Вызовем обработчик события OnDeinit() этого интерфейса, // удалим его и приравняем нулю. if(ltsTradeSystem != NULL) { ltsTradeSystem.TradeSystemOnDeinit(iReason); delete(ltsTradeSystem); ltsTradeSystem = NULL; }; }; void OnTick() { // В функции OnTick() вызовем обработчик этого события у интерфейса ltsTradeSystem.TradeSystemOnTick(); };