- 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
Elabora
Algoritmo di elaborazione principale.
virtual bool Processing() |
Valore di ritorno
true se è stata eseguita un'operazione di trade, altrimenti false.
Nota
Fa le seguenti operazioni:
1. Verifica la presenza della posizione aperta sul simbolo. Se non ci sono posizioni aperte, salta i passaggi №2, №3 and №4.
2. Controlli condizioni per invertire la posizione aperta (metodo CheckReverse()). Se la posizione è stata "invertita", esce.
3. Controlli condizioni per chiudere la posizione (metodo CheckClose ()). Se la posizione è stata chiusa, salta il passaggio №4.
4. Verifica le condizioni per modificare i parametri della posizione (metodo CheckTrailingStop()). Se i parametri della posizione sono stati modificati, esce.
5. Controlla la presenza di ordini pendenti sul simbolo. Se non c'è alcun ordine pendete, va al passaggio №9.
6. Controlla condizioni per eliminare ordine (CheckDeleteOrderLong() per ordini pendenti buy o CheckDeleteOrderShort() per ordini pendenti sell). Se l'ordine è stato eliminato, va al passaggio №9.
7. Controlla condizioni per modificare i parametri dell'ordine pendente (CheckTrailingOrderLong() per ordini buy oppure CheckTrailingOrderShort() per ordini sell). Se i parametri dell'ordine sono stati modificati, esce.
8. Exit.
9. Controlli condizioni per aprire posizione (metodo CheckOpen()).
Se si desidera implementare il proprio algoritmo, hai bisogno di eseguire l'override del metodo Processing() della classe erede.
Implementazione
//+------------------------------------------------------------------+ |