una strategia di trading basata sulla teoria dell'onda di Elliott - pagina 45

 
if((H[k-1]<H[k])&&(H[k]>H[k+1])&&(H[k]>curHi)) для минимума аналогично.

Resta solo da giustificare la scelta di un'area sufficiente intorno all'Alto per prenderlo come l'Alto del campione dato. Immagino che questo High debba essere un punto massimo entro un raggio di +-30% della lunghezza del campione? Se non è così, il campione deve essere aumentato per determinare due cose insieme - l'estremo e la lunghezza del campione? Quali sono i vostri pensieri su questo?

Se si seleziona semplicemente un estremo su un dato intervallo (cioè il massimo più alto (il minimo più basso)) su tre barre e si seleziona il massimo (il minimo), si dovrebbe ottenere fondamentalmente ciò di cui si ha bisogno. Anche se probabilmente avrebbe senso verificare che la lunghezza del campione da un tale estremo sia sufficiente, cioè tutti i criteri dovrebbero funzionare. Sperimenterò

Vladislav, credi che correggerai il codice dell'indicatore Murray alla luce delle nuove informazioni? Stiamo aspettando la nuova versione ;o)!


Sì, non è difficile da raddrizzare. Tuttavia, se necessario, lo aggiusterò.

Buona fortuna e in bocca al lupo per il superamento delle tendenze.
 
Se selezioniamo semplicemente un estremo (cioè il massimo più alto (minimo più basso)) su tre barre di un dato intervallo e scegliamo il massimo (minimo), dovremmo, in linea di principio, ottenere quello che ci serve.


Trovare ciò che vi serve può essere fatto molto semplicemente ordinando un array bidimensionale.
Ci sono 2 colonne nell'array: 1° = Alto, e nel 2° si scrive il numero della barra.
L'ordinamento (in MQL, viene eseguito sulla prima colonna) mette il massimo sulla prima e il minimo sull'ultima (o viceversa),
e il minimo sull'ultima posizione (o viceversa, a seconda della modalità di ordinamento).
Il numero della barra viene letto dalla seconda colonna.

Non so però quanto tempo ci vorrà.
 
Saluti a tutti i pochi membri attivi di questo thread molto interessante :-)
Al momento sto cercando di capire il metodo che Vladislav ci ha generosamente dato, il che significa cercare in tutte le 23 pagine. Durante la ricerca, sto ovviamente esaminando i pezzi di codice che i panelisti hanno scelto di pubblicare. Capisco che il codice a pg. Ma comunque, per sicurezza, voglio attirare la vostra attenzione sul fatto che penso che la funzione di calcolo della dispersione degli errori contenga un errore che fa sì che il calcolo non sia coerente con la formula e causa possibili errori di divisione per zero in runtime.
double dispercia_oshibok(double data[], double centr) { int k,size; double disper=0; size=ArraySize(data); for(k=size-1;k>=0;k--) disper=disper+MathPow((data[k]-centr),2); if(size>1) disper=disper/(size-2); return(disper); }



Forse la linea if(size>1) disper=disper/(size-2); sarebbe più correttamente scritta come if(size>1) disper=disper/(size-1);

Per favore confermate o confutate la mia conclusione, perché io, purtroppo, non posso andare avanti senza scoprire i più piccoli dettagli. :-) Grazie in anticipo.

 
Continuate a leggere - risponderà alla domanda.
 
Oh... signori. Tutto quello che dovete fare è dire "così" o "non così". :-) Ho letto tutto il thread. Probabilmente l'ho perso, quindi lo cercherò di nuovo. Durante la ricerca ho trovato un sito interessante con vari algoritmi: http: //alglib.sources.ru/ Spero di non considerarla una pubblicità. :-)
 
Nel nostro caso size>=30 e la formula è disper=disper/(size)

ZS Questo è meglio? :)
 
Nel nostro caso size>=30 e la formula sarebbe disper=disper/(size)<br / translate="no">
SZZ che meglio? :)


Niente affatto. :-) Ora ho bisogno di riparare urgentemente il "tetto", perché Bulashev a lungo sofferente in "4.3 Stima della dispersione e della deviazione standard" nella formula per calcolare la dispersione nel divisore è presente N-1.
Da dove viene il legno, Rosh? :-)
 
ee. :-) Ora ho bisogno di riparare urgentemente il "tetto", perché il Bulashev, che soffre da tempo, in "4.3. Stima della varianza e della deviazione standard" ha N-1 nella formula per il calcolo della varianza nel divisore. <br / translate="no"> Da dove viene il legno, Rosh? :-)

Infatti quando stiamo stimando la varianza degli errori di approssimazione, piuttosto che il campione di dati stesso, il denominatore dovrebbe ovviamente essere N-2. https://c.mql5.com/mql4/forum/2006/06/disp_oshibok.zip
Bulashev dà anche un esempio concreto nel suo libro su questo punto.
 
<br / translate="no"> In realtà quando stiamo stimando la varianza degli errori di approssimazione, non il campione di dati stesso, il denominatore dovrebbe essere ovviamente N-2.


Sì, grazie. Ora ce l'ho. Leggerò questo pezzo più attentamente.
In questo caso è meglio scrivere la condizione come "if(size>2)" per non tentare la sorte. Il codice deve essere stabile :-)
 
In questo caso, la condizione dovrebbe essere scritta come "if(size>2)", per non tentare la sorte. Il codice deve essere stabile :-)

È chiaro come il giorno!:o)))
Quella sceneggiatura su commissione è stata pubblicata come una domanda per Valadislav e non per un uso pratico.
Nel codice che ho al momento la varianza viene calcolata senza chiamare una funzione speciale per risparmiare il tempo di calcolo e vengono eseguiti i seguenti controlli
if(size-2!=0) disper=disper/(size-2);
in generale penso che tali banalità di programmazione non siano affatto degne di essere discusse in questo thread.