- 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
Implementiert den Basisalgorithmus.
virtual bool Processing() |
Rückgabewert
Gibt true zurück wenn einige Operation ausgeführt ist, ansonsten gibt false zurück.
Hinweis
Die Methode der Basisklasse führt die folgende Aktionen aus:
1. Prüft ob irgendwelche Position für das Arbeitssymbol geöffnet ist. Wenn es kein Position gibt, werden die Schritte 2, 3 und 4 ausgelassen.
2. Prüft die Notwendigkeit eine Position umzukehren (Aufruf der CheckReverse()-Methode). Wenn die Position "Reverse" ist, dann verlassen.
3. Prüft die Notwendigkeit eine Position zu schließen (Aufruf der CheckClose()-Methode). Wenn die Position geschlossen ist, wird Schritt 4 ausgelassen.
4. Prüft die Notwendigkeit eine Position zu ändern (Aufruf der CheckTrailingStop()-Methode). Wenn die Position geändert war, dann verlassen.
5. Prüft ob er irgendwelche Pending-Ordern für das Arbeitssymbol geöffnet ist. Wenn es keine Ordern gibt, dann gehen wir weiter auf den Schritt .9.
6. Prüft die Notwendigkeit eine Order zu löschen (Aufruf der CheckDeleteOrderLong()-Methode für Kaufsordern und CheckDeleteOrderShort() für Verkaufsordern). Wird eine Order gelöscht, dann gehen wir weiter auf den Schritt 9.
7. Prüft die Notwendigkeit eine Order zu ändern (Aufruf der CheckTrailingOrderLong()-Methode für Kaufsordern und CheckTrailingOrderShort() für Verkaufsordern). Wenn die Order geändert war, dann verlassen.
8. Verlassen.
9. Prüft die Notwendigkeit eine Position zu eröffnen (Aufruf der CheckOpen()-Methode).
Um Ihren eigenen Algorithmus zu implementieren, überschreiben Sie Processing()-Methode in der abgeleiteten Klasse.
Implementierung:
//+------------------------------------------------------------------+ |