- 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
Algorithme principal de traitement.
virtual bool Processing() |
Valeur de retour
vrai si l'opération a été éxécutée, sinon faux.
Note
Effecute les étapes suivantes :
1. Vérifie l'existence d'une position ouverte sur le symbole. Si aucune position n'est trouvée, passe à l'étape №5.
2. Vérifie les conditions pour retourner une position ouverte (méthode CheckReverse()). Si la position a été retournée, la fonction se termine.
3. Vérifie les conditions pour fermer la position (méthode CheckClose()). Si la position a été clôturée, passe à l'étape №5.
4. Vérifie les conditions pour modifier les paramètres de la position (méthode CheckTrailingStop()). Si les paramètres de la position ont été modifiés, la fonction se termine.
5. Vérifie l'existence d'ordres en attente sur le symbole. Si aucun ordre en attente n'est trouvé, passe à l'étape №9.
6. Vérifie les conditions pour supprimer un ordre (méthode CheckDeleteOrderLong() pour les ordres en attente de type buy ou CheckDeleteOrderShort() pour les ordres en attente de type sell). Si l'ordre a été supprimé, passe à l'étape №9.
7. Vérifie les conditions pour modifier les paramètres d'un ordre en attente (CheckTrailingOrderLong() pour les ordres de type buy ou CheckTrailingOrderShort() pour les ordres de type sell). Si les paramètres de l'ordre ont été modifiés, la fonction se termine.
8. Sortie.
9. Vérifie les conditions pour ouvrir une position (méthode CheckOpen()).
Si vous voulez implémenter votre propre algorithem, vous devez surcharger la méthode Processing() de la classe dérivée.
Implémentation
//+------------------------------------------------------------------+ |