- 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
Processing
Реализует основной алгоритм.
virtual bool Processing() |
Возвращаемое значение
true - выполнена какая-либо торговая операция, иначе - false.
Примечание
Метод базового класса выполняет следующие действия:
1. Проверяется наличие открытой позиции по рабочему символу. Если позиции нет, то шаги 2, 3 и 4 пропускаются.
2. Проверяется необходимость переворота позиции (вызов метода CheckReverse()). Если позиция "перевернута", то уходим.
3. Проверяется необходимость закрытия позиции (вызов метода CheckClose()). Если позиция закрыта, то шаг 4 пропускается.
4. Проверяется необходимость модификации позиции (вызов метода CheckTrailingStop()). Если позиция модифицирована, то уходим.
5. Проверяется наличие отложенных ордеров по рабочему символу. Если ордеров нет, то переходим к п.9.
6. Проверяется необходимость удалить ордер (вызов метода CheckDeleteOrderLong() для ордеров на покупку или метода CheckDeleteOrderShort() для ордеров на продажу). Если ордер удален, то переходим к п.9.
7. Проверяется необходимость модифицировать ордер (вызов метода CheckTrailingOrderLong() для ордеров на покупку или метода CheckTrailingOrderShort() для ордеров на продажу). Если ордер модифицирован, то уходим.
8. Уходим.
9. Проверяется необходимость входа в рынок (вызов метода CheckOpen()).
Для реализации собственного алгоритма следует переопределить метод Processing() в классе-наследнике.
Реализация:
//+------------------------------------------------------------------+ |