- Init
- Magic
- InitSignal
- InitTrailing
- InitMoney
- InitTrade
- Deinit
- OnTickProcess
- OnTradeProcess
- OnTimerProcess
- OnChartEventProcess
- OnBookEventProcess
- MaxOrders
- Signal
- ValidationSettings
- InitIndicators
- OnTick
- OnTrade
- OnTimer
- OnChartEvent
- OnBookEvent
- InitParameters
- DeinitTrade
- DeinitSignal
- DeinitTrailing
- DeinitMoney
- DeinitIndicators
- Refresh
- Processing
- SelectPosition
- CheckOpen
- CheckOpenLong
- CheckOpenShort
- OpenLong
- OpenShort
- CheckReverse
- CheckReverseLong
- CheckReverseShort
- ReverseLong
- ReverseShort
- CheckClose
- CheckCloseLong
- CheckCloseShort
- CloseAll
- Close
- CloseLong
- CloseShort
- CheckTrailingStop
- CheckTrailingStopLong
- CheckTrailingStopShort
- TrailingStopLong
- TrailingStopShort
- CheckTrailingOrderLong
- CheckTrailingOrderShort
- TrailingOrderLong
- TrailingOrderShort
- CheckDeleteOrderLong
- CheckDeleteOrderShort
- DeleteOrders
- DeleteOrder
- DeleteOrderLong
- DeleteOrderShort
- LotOpenLong
- LotOpenShort
- LotReverse
- PrepareHistoryDate
- HistoryPoint
- CheckTradeState
- WaitEvent
- NoWaitEvent
- TradeEventPositionStopTake
- TradeEventOrderTriggered
- TradeEventPositionOpened
- TradeEventPositionVolumeChanged
- TradeEventPositionModified
- TradeEventPositionClosed
- TradeEventOrderPlaced
- TradeEventOrderModified
- TradeEventOrderDeleted
- TradeEventNotIdentified
- TimeframeAdd
- TimeframesFlags
Класс CExpert
Класс CExpert является базовым классом для реализации торговых стратегий.
В него уже заложены элементарные "навыки" торговли. Класс имеет встроенные механизмы для работы с таймсериями и индикаторами и набор виртуальных методов, определяющих торговую стратегию.
Для того чтобы ваш эксперт заработал по-другому, нужно:
1. Определиться с алгоритмами стратегии;
2. Создать свой класс, унаследовав его от CExpert;
3. Переопределить в своем классе виртуальные методы базового, заложив в них соответствующие алгоритмы.
Описание
Класс CExpert предоставляет набор виртуальных методов для реализации торговых стратегий.
Примечание
Позиция определяется принадлежащей эксперту и управляемой экспертом по паре свойств m_symbol и m_magic. В режиме "хеджинга" на счете одновременно может существовать несколько позиций по одному и тому же символу, поэтому особое внимание следует уделять значению m_magic.
Декларация
class CExpert : public CExpertBase |
Заголовок
#include <Expert\Expert.mqh> |
Иерархия наследованияCExpert |
Методы класса по группам
Инициализация |
|
---|---|
Инициализирует экземпляр класса |
|
virtual InitSignal |
Инициализирует объект торговых сигналов |
virtual InitTrailing |
Инициализирует объект трейлинга |
virtual InitMoney |
Инициализирует объект управления капиталом |
virtual InitTrade |
Инициализирует объект торговли |
virtual ValidationSettings |
Проверяет корректность настроек |
virtual InitIndicators |
Инициализирует необходимые индикаторы и таймсерии |
virtual InitParameters |
Инициализирует параметры эксперта |
virtual Deinit |
Деинициализирует экземпляр класса |
virtual DeinitSignal |
Деинициализирует объект торговых сигналов |
virtual DeinitTrailing |
Деинициализирует объект трейлинга |
virtual DeinitMoney |
Деинициализирует объект управления капиталом |
virtual DeinitTrade |
Деинициализирует объект торговли |
virtual DeinitIndicators |
Деинициализирует индикаторы и таймсерии |
Установка параметров |
|
Устанавливает идентификатор эксперта |
|
Получает/Устанавливает максимально допустимое количество ордеров |
|
Устанавливает флаг обработки события "OnTick" |
|
Устанавливает флаг обработки события "OnTrade" |
|
Устанавливает флаг обработки события "OnTimer" |
|
Устанавливает флаг обработки события "OnChartEvent" |
|
Устанавливает флаг обработки события "OnBookEvent" |
|
Обработчики событий |
|
Обработчик события OnTick |
|
Обработчик события OnTrade |
|
Обработчик события OnTimer |
|
Обработчик события OnChartEvent |
|
Обработчик события OnBookEvent |
|
Обновление |
|
Обновляет все необходимые данные |
|
Основной метод обработки |
|
Реализует основной алгоритм |
|
Методы входа в рынок |
|
Проверяет необходимость и возможность входа в рынок |
|
Проверяет необходимость и возможность входа в длинную позицию |
|
Проверяет необходимость и возможность входа в короткую позицию |
|
Выполняет операции для открытия длинной позиции |
|
Выполняет операции для открытия короткой позиции |
|
Методы выхода из рынка |
|
Проверяет необходимость выхода из рынка |
|
Проверяет необходимость выхода из длинной позиции |
|
Проверяет необходимость выхода из короткой позиции |
|
Выходит из рынка полностью |
|
Выходит из рынка |
|
Выходит из длинной позиции |
|
Выходит из короткой позиции |
|
Методы разворота позиции |
|
Проверяет необходимость разворота позиции |
|
Проверяет необходимость разворота длинной позиции |
|
Проверяет необходимость разворота короткой позиции |
|
Производит разворот длинной позиции |
|
Производит разворот короткой позиции |
|
Методы сопровождения позиций/ордеров |
|
Проверяет необходимость модификации параметров позиции |
|
Проверяет необходимость модификации параметров длинной позиции |
|
Проверяет необходимость модификации параметров короткой позиции |
|
Модифицирует параметры длинной позиции |
|
Модифицирует параметры короткой позиции |
|
Проверяет необходимость модификации параметров ордера на покупку |
|
Проверяет необходимость модификации параметров ордера на продажу |
|
Модифицирует параметры ордера на покупку |
|
Модифицирует параметры ордера на продажу |
|
Методы удаления ордеров |
|
Проверяет необходимость удаления ордеров на покупку |
|
Проверяет необходимость удаления ордеров на продажу |
|
Удаляет все ордеры |
|
Удаляет ордер |
|
Удаляет ордер на покупку |
|
Удаляет ордер на продажу |
|
Методы определения объема |
|
Определяет объем торговой операции на покупку |
|
Определяет объем торговой операции на продажу |
|
Определяет объем торговой операции разворота позиции |
|
Методы работы с торговой историей |
|
Устанавливает начальную дату контролируемой истории торговли |
|
Создает контрольную точку истории торговли |
|
Обрабатывает изменение истории торговли |
|
Методы работы с флагами торговых событий |
|
Устанавливает флаг ожидания торгового события |
|
Сбрасывает флаг ожидания торгового события |
|
Методы обработки торговых событий |
|
Обработчик события "Срабатывание Stop Loss/Take Profit" |
|
Обработчик события "Отложенный ордер сработал" |
|
Обработчик события "Открытие позиции" |
|
Обработчик события "Добавление/уменьшение позиции" |
|
Обработчик события "Модификация параметров позиции" |
|
Обработчик события "Закрытие позиции" |
|
Обработчик события "Отложенный ордер установлен" |
|
Обработчик события "Отложенный ордер модифицирован" |
|
Обработчик события "Отложенный ордер удален" |
|
Обработчик неидентифицированного события |
|
Служебные методы |
|
Добавляет таймфрейм для контроля |
|
Формирует флаги таймфреймов |
|
Выбор позиции для последующей работы с ней. |
Методы унаследованные от CObject |
---|
Методы унаследованные от CExpertBase InitPhase, TrendType, UsedSeries, EveryTick, Open, High, Low, Close, Spread, Time, TickVolume, RealVolume, Symbol, Period, Magic, SetMarginMode, SetPriceSeries, SetOtherSeries |