![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Sembra logico - agendo in modo ottimale ad ogni passo, andiamo fino in fondo in modo ottimale.
Sì, è per questo che non l'ho notato subito, ma solo dopo un po'. Beh, non può essere così semplice.
--------------------------------
Parliamo di questo.
Quando ero studente, mi sono occupato di regressione, in generale, ho fatto un lavoro scientifico legato al clustering.
Ho dovuto trovare tutti i tipi di corpi in modo bello e rappresentarli come semplici forme geometriche il più vicino possibile.
Il materiale di partenza era un articolo sui cerchi di regressione, le ellissi per essere esatti, scritto nella nostra newsletter universitaria.
Nell'articolo c'era una formula incredibilmente bella, con la quale si ricavava il suddetto cerchio di regressione.
Così ho iniziato a scrivere un programma e l'ho trovato tutto fresco e testato, ma mi ha dato un output schifoso, una schifezza totale.
Ho iniziato a controllare tutto, compreso il lavoro delle funzioni matematiche - standard.
Così sono arrivato alla proverbiale formula, con le buone o con le cattive, e l'ho controllata.
Si è scoperto che l'autore aveva fatto una cosa del genere.
Tutto è stato abbreviato e pubblicato. E ci avevo dedicato tre giorni del mio studente.
Senza offesa. Mi dispiace se mi sono sbagliato.
Ebbene, che dire di un MA che anticipa il mercato e predice - come fare? .....))))
Anche i percettori addestrati elementari sono in grado di disegnare il "MA" per N barre avanti e abbastanza facilmente senza alcun ridisegno. Non è un "waving", ma il cosiddetto "fair price" o il valore equo dell'oscillatore calcolato per N barre avanti.
Non ricordo in quale thread ho postato un oscillatore in cui erano tracciati due valori: l'AC standard in tempo reale e il valore equo per esso 7 barre avanti.
In linea di principio, la matematica non è complicata.
Quando si calcolano i primi valori, Mashka si comporta in modo instabile. Ho implementato la variante con un numero limitato di barre da calcolare e il computer si blocca. Ho rimosso la limitazione e tutto è a posto. Se qualcuno ha scaricato l'indicatore dal post cancellato. Mi dispiace per questo.
Vinin , dai un'altra occhiata al lavoro a due parametri. Sembra che in questo caso si possano mettere a punto i parametri di muving.
Vinin , dai un'altra occhiata al lavoro a due parametri. Sembra che in questo caso si possano mettere a punto i parametri del muving.
Sensibilità molto alta ai coefficienti.
Almeno è più vicino alla serie. In altre parole, dovremmo aggiustare i coefficienti.
In questo caso w1=0,05, w2=0,0001
Potrebbe esserci un errore nella formula? Dovrebbe entrare nella fila... Fatemi ricontrollare l'espressione ricorsiva. Non ha senso.
il punto di partenza è molto importante per i rapporti di ricorrenza, se il minimo errore = imprecisione, questo errore si accumula. Vinin questo è il motivo per cui ho scritto la mia inizializzazione piuttosto complicata in Kalman.
Potete controllare se tutto è corretto confrontando i valori attuali in diversi punti di partenza.
il punto di partenza è molto importante per i rapporti di ricorrenza, se il minimo errore = imprecisione, questo errore si accumula. Vinin questo è il motivo per cui ho scritto la mia inizializzazione piuttosto complicata in Kalman.
Ho controllato la relazione di ricorrenza, è senza errori - tutto dovrebbe funzionare! Credo, Vinin, che tu abbia un'imprecisione nel tuo codice. Non mi sono preoccupato di indagare, ho solo gettato il mio codice. Ecco il risultato:
Come potete vedere, non c'è deriva, tutto è OK, il muving è incollato alla citazione e non va alla deriva.
Prival, non ho fatto nessun legame "fine" al punto di partenza, ho solo messo i primi due valori uguali al prezzo quotato in questi conteggi. Il filtro è stabile e non c'è sensibilità anomala ai valori dei coefficienti. Gamma della loro variazione, da 0 a 1. Inoltre, w1 è responsabile della scorrevolezza di MAsha, w2 - della redditività del TS basato su di esso.
Il codice è allegato. Si può sperimentare.
P.S. Vinin, hai codificato questa ricorsione?
Nella mia formula, che due pagine prima, ho un errore nei miei calcoli. Potete correggerlo se è sbagliato.
Ho controllato il rapporto di ricorrenza, è senza errori - tutto dovrebbe funzionare! Credo, Vinin, che tu abbia un'imprecisione nel tuo codice. Non mi sono informato, ho solo gettato il mio codice. Ecco il risultato:
Come potete vedere, non c'è deriva, tutto è OK, il muving è incollato alla citazione e non va alla deriva.
Prival, non ho fatto nessun legame "fine" al punto di partenza, ho solo messo i primi due valori uguali al prezzo quotato in questi conteggi. Il filtro è stabile e non c'è sensibilità anomala ai valori dei coefficienti. Gamma della loro variazione, da 0 a 1. Inoltre, w1 è responsabile della scorrevolezza di MAsha, w2 - della redditività del TS basato su di esso.
Il codice è allegato. Si può sperimentare.
Ecco un'immagine che spiega l'errore di inizializzazione
Il codice suggerito da Neutron, la differenza è che uno inizia con 5000 barre, l'altro con 50.
Neutron la differenza nei codici (di Vinin) è che il tuo indicatore ridisegna (credo). Rendetelo non ridisegnabile e si vedrà (soprattutto l'offset sarà visibile).
Ecco un'immagine che spiega l'errore di inizializzazione che si verifica
Il codice che Neutron ha suggerito, la differenza è che uno inizia a 5000 bar, l'altro a 50.
Neutron la differenza nei codici è che il tuo indicatore ridisegna (credo). Fate in modo che non si ridisegni e si vedrà.
Sì, da quando si ridisegna? Guarda l'espressione ricorsiva nel codice. Ci sono prezzi di apertura ovunque e se non cambiano (e non possono cambiare), allora il filtro non può fisicamente ridisegnarsi con l'arrivo di una nuova barra!
Per quanto riguarda la differenza di resa a seconda del punto di partenza, deve essere così perché il filtro è ricorsivo e quindi ha un impulso infinito qualcosa lì (KIH, o qualcosa del genere), cioè tutti i valori passati di muv sono presi in considerazione, e a N=50 e 5000, sono diversi.
Sì, da quando sarà ridisegnato? Guarda l'espressione ricorsiva nel codice. Ci sono prezzi di apertura ovunque e se non cambiano (e non possono), allora il filtro non può ridisegnarsi con una nuova barra!
Basta farlo e programmarlo come ha fatto Vinin. Hai ragione a non prendere per buona la tua parola. Fatelo e vedrete. Forse ti libererai di un'altra illusione.