Funzione ICustom - pagina 3

 

Principalmente per test/verifica

Sviluppo le mie strategie con un indicatore, e voglio verificare che l'EA funzioni come l'indicatore. Se avrò un po' più di esperienza con MT4, forse potrò rendere la carne della logica dell'indicatore una subroutine o una DLL e poi chiamarla sia dal mio indicatore che dall'EA.

Quando usi il tester, puoi aprire un grafico. Se potessi sovrascrivere quella logica potrei mettere oggetti anche su quel grafico.

Qualcuno conosce qualche EA che ti mostra graficamente cosa sta facendo?

 

Ho fatto il mio primo ICustom usando Fisher m11 come custom. Mostra l'indicatore nel tester che è un bel grafico ma è un perdente la maggior parte del tempo. Fisher m11 è un indicatore e deve essere in quella cartella. Fisher Auto EA m11 deve essere nella cartella experts. Ecco il modo in cui l'ho inserito nell'EA:

iCustom(NULL,0, "Fisher_m11",Fisher_Period, IndexSmoothing,PriceSmoothing,0);

Ecco il formato per usarlo: double iCustom( string symbol, int timeframe, string name, ..., int mode, int shift)

Può essere utile per coloro che stanno lavorando alla creazione dei propri EA.

 

Ho una domanda simile.

Qualcuno sa come usare

SHI_SilverTrendSigAlert

e

SilverTrend_Signal con allarme v3

in un EA?

Ho bisogno di un aiuto professionale.

 

SilverTrend è bello per il trading ma il segnale va avanti e indietro fino alla chiusura della barra, il che può essere difficile per fare un EA. Ho incluso uno zip di 12 EAs d'argento da guardare.

File:
 

Volevo solo chiarire nella mia testa i valori finali della linea iCustom.

Linea e Shift

Quindi, se ho un indicatore come VQ che ha solo una linea grafica e voglio scoprire, sulla candela chiusa precedente, se ha segnalato una freccia verso l'alto per una condizione di acquisto o se ha segnalato una condizione di vendita scendendo con la freccia, avrei bisogno di impostare due condizioni come;

double VQ0 = iCustom(NULL, 0, "VQ", false,0,5,3,1,5,true,false,true,true,false,true,1485, 1,1);

double VQ1 = iCustom(NULL, 0, "VQ", false,0,5,3,1,5,true,false,true,true,false,true,1485, 2,1);

[/code]

So the above is going to check for an up condition (up) or sell (down) condition on the closed bar, correct?

Then my Buy and Sell code should be; correct?

//Buy

if (VQ0>VQ1 && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount))))

//Sell

if (VQ0<VQ1 && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount))))

[/code]

Now if I wanted to add a second indicator so that TWO conditions need to be met at the same time to trigger a trade, it has two graphical lines (Don't know if it matters by how many lines it has, the indicator knows what it's Buy and Sell conditions are, correct?) My code would change to;

[code]

double VQ0 = iCustom(NULL, 0, "VQ", false,0,5,3,1,5,true,false,true,true,false,true,1485, 1,1);

double VQ1 = iCustom(NULL, 0, "VQ", false,0,5,3,1,5,true,false,true,true,false,true,1485, 2,1);

double QQEA0 = iCustom(NULL, 0, "QQEA",5,14,4.236, 1, 1);

double QQEA1 = iCustom(NULL, 0, "QQEA",5,14,4.236, 2, 1);

and Buy and Sell code should be

[code]

//Buy

if (VQ0>VQ1 && QQEA0>QQEA1 && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount))))

//Sell

if (VQ0<VQ1 && QQEA0<QQEA1 && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount))))

Edit: Ho appena fatto un back test e sembra fare trading come ogni M30 (Chart TF). Voglio solo che inizi il commercio SOLO alla prima condizione di segnale e poi aspetti fino alla prossima condizione di segnale opposta. Sembra che quando entrambi gli indicatori sono d'accordo su un acquisto, allora fa trading, poi quando quel trade è chiuso, continua un altro trade di acquisto sulla prossima candela se le condizioni sono ancora soddisfatte. Non è quello che voglio Voglio solo una compravendita per ogni segnale di acquisto/vendita. Grazie

In allegato ci sono due EA uno chiamato My First EA che qualcuno ha modificato per me perché pensava che le condizioni fossero sbagliate e uno che ho fatto io usando un modello chiamato YourExpertAdvisor. Sono entrambi corretti?

Grazie.

 

Se ho capito bene, vuoi che il tuo EA tratti una serie ininterrotta di accordi di indicatori come "un segnale", piuttosto che ogni occasione di accordo sia un segnale.

Un modo per farlo, è quello di renderlo un EA stateful e usare un design come il seguente:

static int last_signal = 0;

int signal = 0;

if ( ) signal = 1;

if ( ) signal = -1;

if ( signal != 0 && signal != last_signal ) {

// New signal series...

}

last_signal = signal;

 
ralph.ronnquist:
Se ho capito bene, vuoi che il tuo EA tratti una serie ininterrotta di indicatori di accordo come "un segnale", piuttosto che ogni occasione di accordo sia un segnale.

Un modo per farlo, è quello di renderlo un EA stateful e utilizzare un design come il seguente:

static int last_signal = 0;

int signal = 0;

if ( ) signal = 1;

if ( ) signal = -1;

if ( signal != 0 && signal != last_signal ) {

// New signal series...

}

last_signal = signal;

Ciao Ralph, forse questo thread che ho iniziato sarà più chiaro;

https://www.mql5.com/en/forum/178432

Grazie

 
codersguru:
omicida,

Mi dispiace molto per il ritardo.

In allegato trovate la versione modificata di LSMA e iCustom_Demo.

Ho aggiunto un nuovo buffer a LSMA per tenere il colore corrente (1=rosso, 2=verde e 3=giallo).

Dov'è (1=downtrend , 2=uptrend e 3=no trend).

Per utilizzare iCustomfunction per ottenere il valore di questo buffer, potete scrivere:

double clr = iCustom(NULL,0,"LSMA in Color",14,1500,5,0);

Grazie Codersguru!

Sono riuscito a creare una versione della mia Bussola Digitale da utilizzare con gli indicatori a disco.

 

Sarebbe bello se tu, TheRumpledOne, imparassi anche ad allegare le immagini piuttosto che farle in linea; con la spazzatura che ci incolli, spreca solo molto spazio.

 
ralph.ronnquist:
Sarebbe bello se tu, TheRumpledOne, imparassi anche ad allegare le immagini piuttosto che farle in linea; con la spazzatura che incolli, spreca solo molto spazio.

Se è "spazzatura", allora perché postarla?

Motivazione: