Indicatori Elite :) - pagina 157

 

Funzionerà

Potreste usare qualcosa come if (previousNumberOfBars != Bars) o if (volume[0]==1) ma l'uso del volume è sensibile (lascia molto più spazio all'errore, e quasi sicuramente alla prima esecuzione non calcolerà tutte le barre necessarie, poiché il volume sarà già > 1)

Quello che consiglierei in ogni caso è di invertire le prime due linee del ciclo, per diventare qualcosa del genere:

if(lastbar != Time[0])

{

for(int i=limit; i>=0; i--)

{[/php]You need to check that condition only once

regards

mladen

Snowski:
Quick coding question:

If I want an indicator to start its calculation on the open of a new bar, how can I code this?

I now have this - just an example, but I doubt it's correct:

[php]

datetime lastbar;

double buffer_a[];

double buffer_b[];

//+------------------------------------------------------------------+

//| Custom indicator iteration function |

//+------------------------------------------------------------------+

int start()

{

int bars_counted = IndicatorCounted();

if(bars_counted < 0)

{

return(1);

}

bars_counted--;

int limit = Bars - bars_counted;

if(limit>BarsToLoad && BarsToLoad>0)

{

limit = BarsToLoad;

}

for(int i=limit; i>=0; i--)

{

if(lastbar != Time[0])

{

buffer_a = iMA(Symbol(), 0, FastEMA, 0, MODE_EMA, PRICE_CLOSE, i);

buffer_b = iMA(Symbol(), 0, FastEMA, 0, MODE_EMA, PRICE_CLOSE, i+1);

//LONG ARROW

if(buffer_a > buffer_b)

{

ExtMapBuffer1 = Open - distance;

}

//SHORT ARROW

if(buffer_a < buffer_b)

{

ExtMapBuffer2 = Open + distance;

}

lastbar = Time[0];

}

}

//----

return(0);

}

//+------------------------------------------------------------------+
 

Sì, certo, cambiare i cicli... molto meglio.

Quale metodo ritieni sia più accurato, l'opzione if(previousNumberOfBars != Bars) o if(lastbar != Time[0])?

Personalmente non vedo alcuna differenza evidente a prima vista, ma potrei sbagliarmi. Sono d'accordo sull'opzione Volume, non va bene per l'indicatore, potrebbe funzionare bene in EA.

Grazie mille mladen, grande aiuto per le mie capacità di codifica indie piuttosto scarse...

Grazie,

San.

 
chris1010:
Mladen o Mr Tools sarebbe possibile aggiungere un pop up e un avviso via email a questo, per favore? Mi sembra che quando tutte le linee nella finestra dell'indicatore sono insieme allo stesso tempo nella parte superiore della finestra dell'indicatore o nella parte inferiore di essa, viene identificato un buon punto di acquisto o di vendita. Grazie per qualsiasi aiuto. Chris

Ecco qui Chris, dato che il mercato ora è chiuso, non sono in grado di testare l'allarme dal vivo, ma ho ottenuto l'allarme che appare sul grafico a 1 minuto, quindi si spera che vada bene, l'allarme dovrebbe scattare quando wso e wro sono entrambi a livelli di acquisto o vendita selezionabili dall'utente. E sono d'accordo con te questo indicatore quando entrambe le linee sono al massimo o al minimo sembra essere buone opportunità di vendita e di acquisto.

 

Signor Strumenti. Grazie. È bello avere grandi programmatori che mi aiutano.

 

San

Francamente, non so quale raccomandare.

Bar è una specie di variabile interna di metatrader di un grafico corrente e Time[0] è un elemento di una struttura di array che descrive ogni singola barra che ha nella sua storia per il grafico corrente. La mia ipotesi è che prima Bars venga aggiornata per riflettere la nuova dimensione dell'array, e che poi la struttura appena aggiunta all'array venga aggiornata con i dati (tempo, "volume" e prezzi) Ma se lo fanno in "modo sequenziale" (non permettendo l'esecuzione di altri thread fino a quando l'esecuzione del codice non è finita - e sono quasi sicuro al 100% che è il modo in cui viene fatto - per quanto ho capito c'è sempre un thread separato che sta scaricando i dati e gestisce tutta la cosa di cui stiamo parlando, e tutti noi abbiamo notato una "pausa" nell'esecuzione quando apriamo un nuovo grafico e altri dati vengono scaricati e aggiunti agli array e alle variabili e ai grafici che poi utilizziamo dal codice metatrader) allora entrambe le variabili saranno visibili all'utente allo stesso tempo ... Il tempo di accesso dovrebbe essere lo stesso ... Quindi: tutto uguale

saluti

mladen

Snowski:
Sì, certo, cambia i cicli... molto meglio.

Quale metodo ritieni sia più preciso, l'opzione if(previousNumberOfBars != Bars) o if(lastbar != Time[0])?

Personalmente non vedo alcuna differenza evidente a prima vista, ma potrei sbagliarmi. Sono d'accordo sull'opzione Volume, non va bene per l'indicatore, potrebbe funzionare bene in EA.

Grazie mille mladen, grande aiuto per le mie capacità di codifica indie piuttosto scarse...

Grazie,

San.
 
mladen:

Fudo, tutto bene. Ho solo avuto alcune cose che dovevano essere fatte senza indugio e il mio post su TSD ha sofferto un po' a causa di questo. Ora è risolto così il mio tempo sarà meno diviso

Augurare un grande fine settimana a tutti

saluti

mladen

ciao mladen,

Sono felice di sentire che tutto va bene

quando hai la possibilità, ho postato 2 indicatori, una MA di RSX e le Triangular MA abands.

le bande Triangolari MA possono essere applicate alla MA di RSX?

Grazie!

Fudo

Fudomyo:

mladen,

sarebbe possibile combinare la MA di RSX (o anche una semplice RSX se la MA di RSX non è possibile) con Triangular MA abands?

Grazie
 

Grazie mladen, spiegazione eccellente, non l'ho mai vista in questo modo (fili in MT4)...ho imparato di nuovo qualcosa.

Mantenendo la configurazione attuale (Time[0]).

Grazie, San.

 

...

Fudo

Qui si va

Fatto alcune modifiche (in realtà un nuovo indicatore, ma è quello che ho derivato come idea) Controlla se è quello che avevi in mente.

Il primo cambiamento è che ho rimosso i blocchi di colore e aggiunto il colore alla linea RSX così ora mostra quando è sopra o sotto la linea di segnale (così il cambiamento di colore non è la pendenza di RSX, ma la sua relazione alla linea di segnale). Il secondo è che ora è un indicatore a file singolo (non c'è bisogno di un indicatore Rsx esterno)

Riguardo a cosa si applica: puoi scegliere - se imposti TmaApplyToto 0 sarà applicato a RSX altrimenti sarà applicato alla linea di segnale (MA di RSX)
saluti

mladen

Fudomyo:
ciao mladen,

Sono felice di sentire che tutto va bene

quando hai la possibilità, ho postato 2 indicatori, un MA di RSX e il Triangular MA abands.

è possibile applicare il Triangular MA abands al MA di RSX?

Grazie!

Fudo
 

Interpolare aggiungendo

ciao mladen

mtf media mobile

mtf stohactic

interpolare aggiungendo

grazie

 

casaliss,

Quelli (e un altro paio ) si possono trovare in questo thread: https: //www.mql5.com/en/forum/178741

Non ce l'hanno come opzione, ma quegli indicatori stanno infatti applicando l'interpolazione lineare

saluti

mladen

casaliss:
ciao mladen

mtf media mobile

mtf stohactic

interpolare aggiungendo

grazie