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à

  CObject

      CExpertBase

          CExpert

Metodi della Classe

Inizializzazione

 

Init

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

 

Magic

Imposta l'ID dell'Expert Advisor

MaxOrders

Ottiene/Imposta la quantità massima di ordini ammessi

OnTickProcess

Imposta un flag di procedere l'evento "onTick"

OnTradeProcess

Imposta un flag di procedere l'evento "OnTrade"

OnTimerProcess

Imposta un flag di procedere l'evento "OnTimer"

OnChartEventProcess

Imposta un flag di procedere l'evento "OnChartEvent"

OnBookEventProcess

Imposta un flag di procedere l'evento "OnBookEvent"

Metodi di Esecuzione degli eventi (Event Processing)

 

OnTick

OnTick event handler

OnTrade

OnTrade event handler

OnTimer

OnTimer event handler

OnChartEvent

OnChartEvent event handler

OnBookEvent

OnBookEvent event handler

Metodi di aggiornamento

 

Refresh

Aggiorna tutti i dati

Elabora

 

Elabora

Algoritmo di elaborazione principale

Metodi di Ingresso nel Mercato (Entry Methods)

 

CheckOpen

Controlla condizioni di apertura della posizione

CheckOpenLong

Controlla condizioni per aprire la posizioni long

CheckOpenShort

Controlla condizioni per aprire posizioni short

OpenLong

Apre una posizione long

OpenShort

Apre una posizione short

Market Exit Methods

 

CheckClose

Controlla condizioni per chiudere la posizione corrente

CheckCloseLong

Controlla condizioni per chiudere la posizione long

CheckCloseShort

Controlli condizioni per chiudere la posizione short

CloseAll

Chiude la posizione aperta ed elimina tutti gli ordini

Close

Chiude la posizione aperta

CloseLong

Chiude la posizione long

CloseShort

Chiude la posizione short

Metodi di Inversione della posizione

 

CheckReverse

Controlla condizioni per invertire la posizione aperta

CheckReverseLong

Controlla condizioni per invertire posizione long

CheckReverseShort

Controlla condizioni per invertire posizione short

ReverseLong

Esegue operazione inversione della posizione long

ReverseShort

Esegue operazione inversione della posizione short

Metodi di Trailing Posizione/Ordine

 

CheckTrailingStop

Controlla condizioni per modificare i parametri di posizione

CheckTrailingStopLong

Controlla condizioni di Trailing Stop della posizione long

CheckTrailingStopShort

Controlla condizioni di Trailing Stop della posizione short

TrailingStopLong

Esegue Trailing Stop per posizione long

TrailingStopShort

Esegue Trailing Stop per posizione short

CheckTrailingOrderLong

Controlla condizioni di Trailing Stop di ordine pendente Buy Limit/Stop

CheckTrailingOrderShort

Controlla condizioni di Trailing Stop di ordine pendente Sell Limit/Stop

TrailingOrderLong

Esegue Trailing Stop per ordine pendente Buy Limit/Stop

TrailingOrderShort

Esegue Trailing Stop per ordine pendente Sell Limit/Stop

Metodi di Eliminazione dell' Ordine

 

CheckDeleteOrderLong

Controlla condizioni per eliminare ordine pendente Buy

CheckDeleteOrderShort

Controlla condizioni per eliminare ordine pendente Sell

DeleteOrders

Elimina tutti gli ordini

DeleteOrder

Elimina ordine pendente Stop/Limit

DeleteOrderLong

Elimina ordine pendente Buy Stop/Limit

DeleteOrderShort

Elimina ordine pendente Sell Stop/Limit

Metodi di Volume di Trade

 

LotOpenLong

Ottiene il volume di trade per operazione buy

LotOpenShort

Ottiene il volume di trade per operazione sell

LotReverse

Ottiene il volume trade per operazione inversione di posizione

Metodi di Storico di Trade

 

PrepareHistoryDate

Imposta data di inizio per il monitoraggio storico di trading

HistoryPoint

Crea un checkpoint dello storico di trade (salva numero di posizioni, ordini, offerte e ordini storici)

CheckTradeState

Confronta lo stato attuale con quello salvato e chiama il corrispondente event handler

Event flags

 

WaitEvent

Imposta il flag "attesa di evento"

NoWaitEvent

Reimposta il flag in attesa dell'evento

Metodi di Esecuzione dell'evento Trade(di trading)

 

TradeEventPositionStopTake

Event handler dell'evento "Stop Loss/Take Profit della posizione innescato"

TradeEventOrderTriggered

Event handler dell'evento "Ordine Pendente innescato"

TradeEventPositionOpened

Event handler dell'evento "Posizione Aperta"

TradeEventPositionVolumeChanged

Event handler dell'evento "Volume della posizione cambiato"

TradeEventPositionModified

Event handler dell'evento "Posizione Modificata"

TradeEventPositionClosed

Event handler dell'evento "Posizione Chiusa"

TradeEventOrderPlaced

Event handler dell'evento "Ordine Pendente Piazzato"

TradeEventOrderModified

Event handler dell'evento "Ordine Pendente Modificato"

TradeEventOrderDeleted

Event handler dell'evento "Ordine Pendente Eliminato"

TradeEventNotIdentified

Event handler dell'evento non-identificato

Metodi di servizio

 

TimeframeAdd

Aggiunge un timeframe per tracciare

TimeframesFlags

Ottiene il flag che indica i timeframe con una nuova barra

SelectPosition

Seleziona la posizione con cui lavorare

Metodi ereditati dalla classe CObject

Prev, Prev, Next, Next, Save, Load, Type, Compare

Metodi ereditati dalla classe CExpertBase

InitPhase, TrendType, UsedSeries, EveryTick, Open, High, Low, Close, Spread, Time, TickVolume, RealVolume, Symbol, Period, Magic, SetMarginMode, SetPriceSeries, SetOtherSeries