EALeague_Free/EALeagueI/EALeagueTradeSystemI.mqh
super.admin a031ec6c24 convert
2025-05-30 14:50:52 +02:00

28 lines
4 KiB
MQL5

/*
CEALeagueTradeSysemI - интерфейс,
предоставляющий функции для работы с библиотекой Лиги ТС
Пользователь, получив указатель на данный класс - должен сохранить этот указатель,
и в обработчиках событий OnInit(), OnDeinit(), OnTick() - вызвать у этого указателя его соответствующие функции.
*/
class CEALeagueTradeSysemI
{
public:
// Виртуальные функции-обработчики событий.
// При получении интерфейса из библиотеки - эти функции должны вызываться в соответствующих обработчиках событий
// В классе-интерфейсе объявляются функции-заглушки, которые в реальной работе вызваны не будут.
// (В идеале они должны быть чисто виртуальными, приравненными нулю, но такие функции не экспортируются из библиотеки)
virtual int TradeSystemOnInit() { Print("Function CEALeagueTradeSysemI::TradeSystemOnInit() must be defined in EALeagueLib !"); ExpertRemove(); return(INIT_FAILED); };
virtual void TradeSystemOnDeinit(const int iReason) { Print("Function CEALeagueTradeSysemI::TradeSystemOnDeinit() must be defined in EALeagueLib !"); ExpertRemove(); };
virtual void TradeSystemOnTick() { Print("Function CEALeagueTradeSysemI::TradeSystemOnTick() must be defined in EALeagueLib !"); ExpertRemove(); };
// Функция, возвращающая список магиков, работающих в Лиге ТС.
// aulMagics - ccылка на массив, который заполняется найденными магиками.
// iLeagueDivision - номер дивизиона, магики которого должны быть возвращены. (1 - Низший, 2 - Средний, 3 - Высший, любое другое значение - возвращаются все магики)
// strSymbol - символ, магики которого должны быть возвращены (если NULL или неизвестный Лиге ТС - возвращаются все магики)
// Возвращает число найденных магиков, или WRONG_VALUE в случае ошибок
virtual int GetMagics(ulong & aulMagics[],int iLeagueDivision = 3,string strSymbol = NULL) { Print("Function CEALeagueTradeSysemI::GetMagics() must be defined in EALeagueLib !"); ExpertRemove(); return(false); };
};