|
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() в классе-наследнике.
Реализация:
//+------------------------------------------------------------------+ |