Home Trading Sistematico Post

exp_iCustom_v1: Expert Advisor per MetaTrader 4

Allegato
7632.zip (41.38 KB, Scarica 2 volte)

Scopo dell'EA

Questo EA è progettato per lavorare con qualsiasi Custom che disegni frecce di acquisto/vendita, eccetto gli indicatori con parametri di tipo stringa.

Il nome dell'indicatore personalizzato è specificato nei parametri dell'EA, così come l'elenco dei parametri dell'indicatore e i numeri dei buffer per il disegno delle frecce di acquisto/vendita.

Nonostante l'uso di un elenco di parametri di tipo stringa, è possibile ottimizzare fino a cinque parametri dell'indicatore. Invece di una delle variabili della lista di parametri iCustomParam, è possibile utilizzare il valore di una delle variabili Opt_1_Value - Opt_5_Value.

Parametri dell'Expert Advisor

  • TimeFrame - timeframe di lavoro dell'EA: 0 - timeframe del grafico su cui l'EA è in esecuzione, o che è stato selezionato nel tester. Oppure un valore specifico 1,5,15,30,60,240,1440...
  • iCustomName - nome dell'indicatore Custom.
  • iCustomParam - l'elenco dei parametri delimitati da "/". Per le variabili booleane, usa 1 invece di true, 0 invece di false. Se i parametri dell'indicatore contengono variabili stringa, l'EA non funzionerà!
  • iBuyBufIndex - indice del buffer con le frecce di acquisto.
  • iSellBufIndex - indice del buffer con le frecce di vendita.
  • iShift - offset dell'indicatore. 1 - lavora sulle barre formate, 0 - sulla barra in formazione (non raccomandato). È anche possibile inserire un valore 2,3,4...
  • Opt_1_Use - abilita l'uso della variabile 1 da ottimizzare. Quando la variabile da ottimizzare è attivata, invece del valore dalla stringa iCustomParam, definito dalla variabile Opt_X_Index, verrà utilizzato il valore della variabile Opt_X_Value.
  • Opt_1_Index - indice della variabile 1 da ottimizzare nell'array dei parametri (nella stringa iCustomParam). La numerazione inizia da zero.
  • Opt_1_Value - valore della variabile 1 da ottimizzare.
  • Opt_2_Use - abilita l'uso della variabile 2 da ottimizzare.
  • Opt_2_Index - indice della variabile 2 da ottimizzare nell'array dei parametri (nella stringa iCustomParam). La numerazione inizia da zero.
  • Opt_2_Value - valore della variabile 2 da ottimizzare.
  • Opt_3_Use - abilita l'uso della variabile 3 da ottimizzare.
  • Opt_3_Index - indice della variabile 3 da ottimizzare nell'array dei parametri (nella stringa iCustomParam). La numerazione inizia da zero.
  • Opt_3_Value - valore della variabile 3 da ottimizzare.
  • Opt_4_Use - abilita l'uso della variabile 4 da ottimizzare.
  • Opt_4_Index - indice della variabile 4 da ottimizzare nell'array dei parametri (nella stringa iCustomParam). La numerazione inizia da zero.
  • Opt_4_Value - valore della variabile 4 da ottimizzare.
  • Opt_5_Use - abilita l'uso della variabile 5 da ottimizzare.
  • Opt_5_Index - indice della variabile 5 da ottimizzare nell'array dei parametri (nella stringa iCustomParam). La numerazione inizia da zero.
  • Opt_5_Value - valore della variabile 5 da ottimizzare.
  • MMMethod - Metodo di MM: 0-Lots, 1-parte (Rischio) del margine libero, 2-parte (Rischio) del margine libero normalizzato dal MeansStep.
  • Lots - numero di lotti quando MMMethod=0.
  • Risk - rischio. Valore basato sui fondi con FixedLot=false.
  • MeansType - tipo di fondi utilizzati nel calcolo dei lotti. 1 - Balance, 2 - Equity, 3 - FreeMargin.
  • MeansStep - passo dei fondi. Usato con MMMethod=2.
  • LotsDigits - numero di decimali nel valore del lotto.
  • Slippage - deviazione consentita dal prezzo richiesto.
  • StopLoss - stop loss.
  • TakeProfit - take profit.
  • Magic_N - numero magico.
  • MaxOrdersCount - numero massimo totale di ordini aperti. -1 - non limitato.
  • MaxBuyCount - numero massimo di ordini di acquisto aperti. -1 - non limitato.
  • MaxSellCount - numero massimo di ordini di vendita aperti. -1 - non limitato.
  • SleepBars - timeout dopo l'apertura di un ordine in numero di barre del timeframe di lavoro.
  • CancelSleeping - attivazione della cancellazione del timeout quando si apre un ordine nella direzione opposta.
  • CloseOnRev - chiudi ordini nella direzione opposta prima di aprire.
  • TrailingStop_Use - attivazione della funzione di trailing stop.
  • TrailingStopStart - profitto dell'ordine per attivare il trailing stop.
  • TrailingStop - il livello di trailing stop.
  • BreakEven_Use - attivazione della funzione breakeven.
  • BreakEvenStart - profitto dell'ordine per attivare il breakeven.
  • BreakEvenLevel - livello per posizionare lo stop loss dal prezzo di attivazione del breakeven.

Nota

L'archivio con l'expert contiene il file test_example.set con un esempio di impostazioni per l'uso dell'indicatore ind_Test (incrocio di due МАs) e le variabili da ottimizzare. L'indicatore ind_Test è allegato.

Versione 2

1. Aggiunta la possibilità di utilizzare indicatori diversi per i segnali di apertura e chiusura. I parametri per l'indicatore di apertura iniziano con il prefisso _O_, per l'indicatore di chiusura - con il prefisso _C_.

Ci sono tre modalità possibili per utilizzare gli indicatori di apertura e chiusura (definiti dalla variabile _OС_Mode):

  • Modalità 1 - l'indicatore non viene usato per la chiusura. La chiusura è possibile solo tramite stop loss e take profit.
  • Modalità 2 - l'indicatore di chiusura non viene usato. Oltre alla chiusura tramite stop loss e take profit, la chiusura degli ordini opposti viene eseguita tramite i segnali di apertura. Lo stop loss e il take profit possono essere disabilitati - impostare il valore 0 nelle variabili StopLoss e/o TakeProfit (si applica a tutte le modalità).
  • Modalità 3 - segnali di chiusura separati basati sull'indicatore di chiusura (_C_) vengono utilizzati. In questa modalità è possibile utilizzare una modalità aggiuntiva per copiare i parametri dell'indicatore di apertura ai parametri dell'indicatore di chiusura (variabile C_UseOpenParam), e contemporaneamente il nome dell'indicatore e i suoi parametri vengono copiati. Questa modalità è stata creata per gli indicatori che generano segnali di apertura e chiusura per aumentare la velocità di ottimizzazione (anche i parametri ottimizzati vengono copiati).

2. È possibile utilizzare non solo indicatori con frecce, ma anche indicatori con linee. È possibile utilizzare due linee (incrocio della linea principale e della linea di segnale) e una linea - il suo incrocio con i livelli. Usa la variabile _O_Mode (e _С_Mode nel blocco di chiusura) per selezionare il tipo di indicatore.

  • Modalità 1 - l'indicatore disegna frecce. Le variabili _O_M1_iBuyBufIndex e _O_M1_iSellBufIndex vengono utilizzate per specificare i numeri dei buffer, e nel blocco di chiusura - _C_M1_iCloseBuyBufIndex e _C_M1_iCloseSellBufIndex.
  • Modalità 2 - vengono utilizzate la linea principale e la linea di segnale dell'indicatore. Se la linea principale incrocia la linea di segnale dal basso - segnale per aprire Buy o chiudere Sell. Le variabili _O_M2_iMainBufIndex, _O_M2_iSignalBufIndex e _C_M2_iMainBufIndex, _C_M2_iSignalBufIndex vengono utilizzate per specificare i buffer.
  • Modalità 3 - viene utilizzata una linea dell'indicatore. Il numero del buffer è specificato nella variabile _O_M3_iBufIndex (o _С_M3_iBufIndex nel blocco di chiusura). Le variabili _O_M3_BuyLevel e _O_M3_SellLevel (_O_M3_CloseBuyLevel e _C_M3_CloseSellLevel nel blocco di chiusura) vengono utilizzate per specificare i valori dei livelli. L'incrocio del livello Buy dal basso - acquisto, incrocio del livello Sell dall'alto - vendita.

Versione 3

Aggiunto un'altra modalità _O_Mode (e _S_Mode)

Modalità 4 - Estremo da tre punti. Utilizza una linea dell'indicatore. Il numero del buffer è specificato nella variabile _O_M4_iBufIndex (o _С_M4_iBufIndex nel blocco di chiusura).

Versione 4

1. Aggiunto il supporto per ordini pendenti.
2. Aggiunta la sezione separatori nella finestra delle proprietà (da variabili stringa).

La selezione del tipo di ordine viene eseguita dalla variabile OrdType: 0 - mercato, 1 - stop, 2 - limite (la variabile è nella sezione "Ordine").

La sezione variabili "Ordini Pendenti" per gestire il funzionamento degli ordini pendenti:

  • PendLevel - il livello dal prezzo di mercato attuale per posizionare l'ordine pendente.
  • PendPromPrice - il prezzo per posizionare l'ordine pendente calcolato dal prezzo della barra zero, con PendPromPrice=0 - dal prezzo di chiusura (corrisponde al prezzo di mercato attuale), 1 - dal prezzo di apertura della barra.
  • PendNewSigMode - metodo di controllo dell'ordine pendente su un nuovo segnale di trading: 0 - se un ordine è già stato posizionato, non vengono effettuate azioni quando appare un nuovo segnale di trading, 1 - sostituisci l'ordine su un nuovo segnale, 2 - su un nuovo segnale l'ordine viene sostituito solo a un "livello migliore" - buy-stop solo in giù, buy-limit solo in alto, sell-stop solo in alto, sell-limit solo in giù.
  • PendPriceFollow - modalità di follow price. L'ordine viene modificato ad ogni cambiamento di un certo valore PendPromPrice, l'ordine viene sostituito solo a un "prezzo migliore" (vedi la descrizione della variabile PendNewSigMode).
  • PendDelete - elimina l'ordine pendente su un segnale di trading opposto. Se il valore è falso, è possibile avere due ordini pendenti in direzioni diverse contemporaneamente.
  • PendExpiration - tempo di scadenza dell'ordine in minuti (il valore minimo è di 11 minuti).

Post correlati

Commento (0)