- 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
CExpert
CExpert è una classe base per strategie di trading. Essa è dotata di algoritmi per lavorare con serie storiche ed indicatori e una serie di metodi virtuali per la strategia di trading.
Come usarla:
1. Preparare un algoritmo della strategia;
2. Creare la propria classe, ereditata dalla classe CExpert;
3. Sovrascrivere i metodi virtuali nella tua classe con i propri algoritmi.
Descrizione
La classe CExpert è un insieme di metodi virtuali per l'implementazione di strategie di trading.
Nota
Una posizione viene riconosciuta come appartenente ad un Expert Advisor e gestita da esso in base alla coppia delle proprietà m_symbol ed m_magic. Nella modalità "hedging", più posizioni possono essere aperte per lo stesso simbolo, quindi il valore m_magic è importante.
Dichiarazione
class CExpert : public CExpertBase |
Titolo
#include <Expert\Expert.mqh> |
Gerarchia di ereditarietàCExpert |
Metodi della Classe
Inizializzazione |
|
---|---|
Metodo di inizializzazione istanza della classe |
|
virtual InitSignal |
Inizializza oggetto Trading Signal |
virtual InitTrailing |
Inizializza oggetto Trailing Stop |
virtual InitMoney |
Inizializza oggetto Money Management |
virtual InitTrade |
Inizializza oggetto Trade |
virtual ValidationSettings |
Controlla le impostazioni |
virtual InitIndicators |
Inizializza indicatori e timeseries |
virtual InitParameters |
Metodo di inizializzazione dei parametri |
virtual Deinit |
Metodo di deinizializzazione istanza della classe |
virtual DeinitSignal |
Deinizializza l'oggetto Trading Signal |
virtual DeinitTrailing |
Deinizializza oggetto Trailing Stop |
virtual DeinitMoney |
Deinizializza oggetto Money Management |
virtual DeinitTrade |
Deinizializza oggetto Trade |
virtual DeinitIndicators |
Deinizializza Indicatori tecnici e TimeSeries |
Parametri |
|
Imposta l'ID dell'Expert Advisor |
|
Ottiene/Imposta la quantità massima di ordini ammessi |
|
Imposta un flag di procedere l'evento "onTick" |
|
Imposta un flag di procedere l'evento "OnTrade" |
|
Imposta un flag di procedere l'evento "OnTimer" |
|
Imposta un flag di procedere l'evento "OnChartEvent" |
|
Imposta un flag di procedere l'evento "OnBookEvent" |
|
Metodi di Esecuzione degli eventi (Event Processing) |
|
OnTick event handler |
|
OnTrade event handler |
|
OnTimer event handler |
|
OnChartEvent event handler |
|
OnBookEvent event handler |
|
Metodi di aggiornamento |
|
Aggiorna tutti i dati |
|
Elabora |
|
Algoritmo di elaborazione principale |
|
Metodi di Ingresso nel Mercato (Entry Methods) |
|
Controlla condizioni di apertura della posizione |
|
Controlla condizioni per aprire la posizioni long |
|
Controlla condizioni per aprire posizioni short |
|
Apre una posizione long |
|
Apre una posizione short |
|
Market Exit Methods |
|
Controlla condizioni per chiudere la posizione corrente |
|
Controlla condizioni per chiudere la posizione long |
|
Controlli condizioni per chiudere la posizione short |
|
Chiude la posizione aperta ed elimina tutti gli ordini |
|
Chiude la posizione aperta |
|
Chiude la posizione long |
|
Chiude la posizione short |
|
Metodi di Inversione della posizione |
|
Controlla condizioni per invertire la posizione aperta |
|
Controlla condizioni per invertire posizione long |
|
Controlla condizioni per invertire posizione short |
|
Esegue operazione inversione della posizione long |
|
Esegue operazione inversione della posizione short |
|
Metodi di Trailing Posizione/Ordine |
|
Controlla condizioni per modificare i parametri di posizione |
|
Controlla condizioni di Trailing Stop della posizione long |
|
Controlla condizioni di Trailing Stop della posizione short |
|
Esegue Trailing Stop per posizione long |
|
Esegue Trailing Stop per posizione short |
|
Controlla condizioni di Trailing Stop di ordine pendente Buy Limit/Stop |
|
Controlla condizioni di Trailing Stop di ordine pendente Sell Limit/Stop |
|
Esegue Trailing Stop per ordine pendente Buy Limit/Stop |
|
Esegue Trailing Stop per ordine pendente Sell Limit/Stop |
|
Metodi di Eliminazione dell' Ordine |
|
Controlla condizioni per eliminare ordine pendente Buy |
|
Controlla condizioni per eliminare ordine pendente Sell |
|
Elimina tutti gli ordini |
|
Elimina ordine pendente Stop/Limit |
|
Elimina ordine pendente Buy Stop/Limit |
|
Elimina ordine pendente Sell Stop/Limit |
|
Metodi di Volume di Trade |
|
Ottiene il volume di trade per operazione buy |
|
Ottiene il volume di trade per operazione sell |
|
Ottiene il volume trade per operazione inversione di posizione |
|
Metodi di Storico di Trade |
|
Imposta data di inizio per il monitoraggio storico di trading |
|
Crea un checkpoint dello storico di trade (salva numero di posizioni, ordini, offerte e ordini storici) |
|
Confronta lo stato attuale con quello salvato e chiama il corrispondente event handler |
|
Event flags |
|
Imposta il flag "attesa di evento" |
|
Reimposta il flag in attesa dell'evento |
|
Metodi di Esecuzione dell'evento Trade(di trading) |
|
Event handler dell'evento "Stop Loss/Take Profit della posizione innescato" |
|
Event handler dell'evento "Ordine Pendente innescato" |
|
Event handler dell'evento "Posizione Aperta" |
|
Event handler dell'evento "Volume della posizione cambiato" |
|
Event handler dell'evento "Posizione Modificata" |
|
Event handler dell'evento "Posizione Chiusa" |
|
Event handler dell'evento "Ordine Pendente Piazzato" |
|
Event handler dell'evento "Ordine Pendente Modificato" |
|
Event handler dell'evento "Ordine Pendente Eliminato" |
|
Event handler dell'evento non-identificato |
|
Metodi di servizio |
|
Aggiunge un timeframe per tracciare |
|
Ottiene il flag che indica i timeframe con una nuova barra |
|
Seleziona la posizione con cui lavorare |
Metodi ereditati dalla classe CObject |
---|
Metodi ereditati dalla classe CExpertBase InitPhase, TrendType, UsedSeries, EveryTick, Open, High, Low, Close, Spread, Time, TickVolume, RealVolume, Symbol, Period, Magic, SetMarginMode, SetPriceSeries, SetOtherSeries |