Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 781

 
Mikhail Sobolev:

Salve. Sto scrivendo una funzione - non posso passare un array come parametro insieme a qualsiasi altro parametro. Esempi:

Da lì, la mia immaginazione si esaurisce.
Una funzione deve in qualche modo guardare attraverso un array - e per questo, credo, deve essere passato questo array. O non lo è?
Grazie in anticipo.

Vitaly sopra ha già scritto l'ordine di passaggio degli argomenti a una funzione.

Dovrei aggiungere: se avete specificato un valore predefinito per uno degli argomenti nei parametri della funzione, allora anche tutti gli argomenti successivi devono avere valori predefiniti.

 
Artyom Trishkin:

Vitaly sopra ha già scritto l'ordine in cui gli argomenti vengono passati alla funzione.

Dovrei aggiungere: se avete un valore predefinito assegnato a uno degli argomenti nei parametri della funzione, allora anche tutti gli argomenti successivi devono avere valori predefiniti.

Giusto, come al solito mi è sfuggito qualcosa di ovvio. E l'ho letto più di una volta.

Grazie, Vitaly.

 

Voglio scrivere un indicatore legato all'ATR, solo che a volte appaiono candele anormalmente grandi sul grafico, come nel caso del 3 gennaio.

Questa non è una finzione del broker, ma rompono tutti i calcoli, qual è il modo migliore per escluderli dai calcoli?


E la seconda domanda: consigliatemi su quale periodo è ottimale per calcolare l'ATR per il grafico giornaliero e orario, ci sono tali valori?

 
psyman:

Voglio scrivere un indicatore legato all'ATR, solo che a volte appaiono candele anormalmente grandi sul grafico, come nel caso del 3 gennaio.

Questa non è una finzione del broker, ma rompono tutti i calcoli, qual è il modo migliore per escluderli dai calcoli?


E la seconda domanda: consigliatemi su quale periodo è ottimale per calcolare l'ATR per il grafico giornaliero e orario, ci sono tali valori?

Prima di tutto dobbiamo rispondere alla domanda "Cos'è l'ATR, cosa mostra questo indicatore? Allora si può ottenere una comprensione dell'ottimalità e se qualcosa deve essere escluso dai calcoli.

 

Ho un'idea per scrivere una funzione che prenda e sposti un array. La domanda è come rendere questa funzione in modo che essa stessa determini quale tipo di array sia unidimensionale o bidimensionale, in modo da non dover specificare negli argomenti ogni volta che l'array è bidimensionale o regolare. Allo stesso tempo, voglio applicare un modello, in modo da non dover specificare il tipo di array.

template<typename T>
void MoveArray(T &array1[][])в скобках указано что массив 2 ух мерный.
{
тело
}

Come posso fare in modo da non dover specificare quale tipo di array?

 
Alexey Viktorov:

Prima dobbiamo rispondere alla domanda "Cos'è l'ATR, cosa mostra questo indicatore?


L'indicatore dovrebbe confrontare l'High-Low della candela corrente con qualche valore medio per il periodo, che sembra essere il compito più facile.

 
psyman:

E la seconda domanda: consigliare su quale periodo è ottimale per calcolare l'ATR per il giornaliero e l'orario, ci sono tali valori?

periodo 3, turno 1 - lavorare sull'ATR all'inizio del periodo.

 
Aleksey Vyazmikin:

periodo 3, turno 1 - lavorare sull'ATR all'inizio del periodo.

Non capisco, perché hai bisogno di un turno?

Ho chiesto dei periodi diversi per i diversi timeframe perché durante la notte i movimenti sono di solito molto lenti, e dovremmo ignorarli o aumentare il periodo per appianare le letture.

 
psyman:


L'indicatore dovrebbe confrontare l'High-Low della candela corrente con un valore medio per il periodo, un compito apparentemente semplice.

Questa è la risposta a una domanda completamente diversa. A quanto ho capito è il tuo desiderio, e la comprensione di ciò che l'indicatore ATR mostra non è evidente.

L'indicatore tecnico Average True Range (ATR) èuna misura della volatilità del mercato.


Calcolo

Il True Range è il maggiore dei seguenti tre valori:

  • differenza tra l'alto e il basso corrente;
  • differenza tra il prezzo di chiusura precedente e il massimo attuale;
  • la differenza tra il prezzo di chiusura precedente e il minimo attuale.

L'Average True Range ( ATR) è una media mobile dei valori dell'intervallo reale.

Pertanto, se si esclude qualsiasi indicatore dal calcolo, non sarà ATR, ma qualcosa e qualcosa...

E la seconda risposta: tutto dipende dall'obiettivo. Se lavorate intraday su H1, secondo me, è più ragionevole prendere il valore medio per diversi giorni. Cioè, possiamo assumere che il cambiamento di prezzo previsto per il giorno corrente sia di xxx punti. Rispettivamente, se la strategia implica il mantenimento di una posizione aperta +/-1 ora, allora l'ATR dovrebbe essere guardato su diverse barre del periodo H1.

 
psyman:

Non capisco, perché hai bisogno di un turno?

Ho chiesto dei periodi diversi per i diversi TF perché durante la notte i movimenti sono di solito molto lenti, e si dovrebbe ignorarli o aumentare il periodo per appianare le letture.

Lo spostamento dovrebbe essere fatto in modo che da ogni nuovo estremo sul TF stimato l'ATR non cambi.

I movimenti svaniscono gradualmente, quindi ATR(3) andrà bene.

Comunque non uso incrementi inutili, uso solo il delta dall'apertura all'estremo.

Motivazione: