Funzione ICustom - pagina 5

 

Ok, grazie, dovrò leggere e rileggere questo un po' di volte per capirlo e sì, voglio che segnali solo quando ENTRAMBE le linee diventano blu o rosse allo stesso tempo. Quale sarebbe allora il codice 'place Buy trade'?

 
matrixebiz:
Ok, grazie, dovrò leggere e rileggere questo un paio di volte per capirlo e sì, voglio che segnali solo quando ENTRAMBE le linee diventano blu o rosse allo stesso tempo. Quale sarebbe allora il codice 'place Buy trade'?

Il termine che si riferisce a questo indicatore sarebbe semplicemente menzionare la variabile booleana, per esempio "both_go_blue" come termine nella condizione di acquisto, e "both_go_red" come termine nella condizione di vendita. Per illustrare sarebbe come:

if ( .... && both_go_blue && ... ) ....

Notate che ho fatto delle supposizioni riguardo all'indicatore, cioè che il buffer di ogni indicazione o ha un "valore vuoto" o un valore costante, che è lo stesso per le indicazioni blu e rosse sulla stessa linea. Se questa supposizione è sbagliata, il codice attuale deve essere un po' più contorto, ma prenderemo quel bus quando verrà.

 

Ok, grazie per le tue chiare spiegazioni. Dovrei essere in grado di capirlo ora Un'ultima cosa, come potrei codificarlo se non volessi solo confrontare le barre attuali e precedenti ma volessi dire "se i segnali concordano entro le ultime 2-4 barre allora crea ancora la condizione BUY" non più di 4 barre di differenza di quando gli indicatori concordano tra loro? Questo cambierebbe l'intera logica di codifica dell'EA, giusto?

EDIT: inoltre, cosa ho fatto per creare una condizione in cui l'EA attivava un BUY quando un indicatore segnalava e l'altro indicatore non segnalava ma era almeno in accordo e andava nella stessa direzione, il trade BUY veniva comunque attivato?

 
matrixebiz:
Ok, grazie per le tue chiare spiegazioni. Dovrei essere in grado di capirlo ora

Un'ultima cosa, come potrei codificarlo se non volessi solo confrontare le barre attuali e precedenti ma volessi dire "se i segnali sono d'accordo entro le ultime 2-4 barre allora crea ancora la condizione BUY" non più di 4 barre di differenza di quando gli indicatori sono d'accordo tra loro? Questo cambierebbe l'intera logica di codifica dell'EA, giusto?

Esatto; si può procedere in due modi: 1) con un EA stateful, che mantiene le letture passate per confrontarle con quelle presenti, o 2) leggere l'indicatore più avanti nel suo passato. Penso che il secondo approccio sia migliore, in quanto rende un EA più robusto che può essere riavviato senza preoccupazioni. E dal punto di vista delle prestazioni gli approcci sono più o meno gli stessi.

Per (2), tu o io useremmo uno snippet di codice per scansionare all'indietro le transizioni, per esempio come (in linea di principio):

bool top_went_blue_in_5 = false;

for ( int i = 1; i < 6; i++ ) {

if ( iCustom( ...., 0, i ) != EMPTY_VALUE ) continue; // is blue

if ( iCustom( ...., 1, i ) != EMPTY_VALUE ) {

top_went_blue_in_5 = ( i > 1 ); // Red at i, and blue after

break;

}

}[/PHP]

EDIT: also, what did I do to create a condition where the EA triggered a BUY when One indicator signaled and the other indicator didn't signal but was at least in agreement and going in the same direction, BUY trade was still triggered ??

You are getting fancy ...

It involves a) to represent the "right direction" concept, and then have a disjunctive condition of the form:

if ( ( buy_signal_A && buy_direction_B ) || ( buy_signal_B && buy_direction_A ) ) ...

or, you might prefer a nested condition structure:

[PHP]if ( buy_signal_A || buy_signal_B ) {

if ( buy_direction_A && buy_direction_B ) {

...

}

}
 

Inviandoti un'e-mail

 

Matrix, potresti aiutarmi dove posso trovare l'indi MTF CI? Sai dove posso trovare gli indi Stealth? Grazie

matrixebiz:
Ok, ho capito Shift, dovrò fare altre letture su Mode.

Codifichi? Ho questo indicatore che chiamo dal mio EA ma non so come impostarlo correttamente. Vedi foto.

ha solo due linee e quando il blu cambia e si allinea con l'altra linea, viene generato il segnale Long (stessa idea con il rosso)

Ho provato alcuni codici diversi come quello che ho usato con l'indicatore VQ;

double Entry1 = iCustom(NULL, 0, "VQ", 24, 30....., 0, 1);

double Entry2 = iCustom(NULL, 0, "VQ", 24, 30....., 0, 2);

double Up2 = iCustom(NULL, 0, "VQ", 24, 30....., 1, 2);

double Down2 = iCustom(NULL, 0, "VQ", 24, 30....., 2, 2);

Solo che non è un trading corretto.

Grazie
 

Matrixebiz e Ralph,

Se vuoi usare VQ per un EA, ha un ritardo di 2 barre. Ti consiglio vivamente di vedere il mio lavoro pubblicato qui:

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

vedi post 319.

Ralph, puoi aiutarmi con i miei problemi? Lo apprezzerò molto!

Uno qui: https://www.mql5.com/en/forum/173219

Post 702.

Un altro qui:

https://www.mql5.com/en/forum/173060 Post 986

Grazie,

Big Be

 

Indicatori personalizzati

un leasson su come fare un indicatore sexy di bell'aspetto

Linguaggio MQL4 per i neofiti. Indicatori personalizzati (Parte 2) - Articoli MQL4

 

Come ottenere valori multipli da indicatori personalizzati?

Ciao gente,

Ho bisogno di ottenere valori da indicatori personalizzati usando la funzione iCustom, ma sembra che iCustom possa ottenere solo un valore di ritorno.

Se un indicatore personalizzato restituisce più di un valore, come posso ottenere un certo valore di cui ho bisogno?

Per esempio, un indicatore pivot restituirà 2 o più valori di Supporto, Resistenza ... quindi, come posso ottenere ogni valore in un indicatore?

Grazie in anticipo

 

Normalmente leggere la quantità di buffer nell'indicatore. Se ci sono due buffer, allora usando iCustom indirizzare ogni buffer.

Esempio:

double Buff0=iCustom(NULL, 0, "Pivot",13,0,0);

double Buff1=iCustom(NULL, 0, "Pivot",13,1,0);

double Buff2=iCustom(NULL, 0, "Pivot",13,2,0);

Se ci sono solo due buffer nell'indicatore, il buffer 0 normale si riferisce al colore dell'indicatore che rappresenta il salire. Il buffer 1 normale si riferisce al buffer dell'indicatore che va verso il basso.

Inoltre, se l'indicatore graficizza vari colori, è possibile aprire la finestra di impostazione dell'indicatore sulla piattaforma e selezionare l'impostazione del colore. A volte il buffer e il colore saranno elencati in ordine in modo da poter vedere quale buffer (e colore) fa cosa. L'ordine può elencare #1, che è il buffer 0, colore verde (o lime). e poi #2, che è il buffer 1, colore rosso, e così via.

Spero che questo aiuti!

Motivazione: