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
Ecco l'indicatore test.mq4
Ecco lo script che misura la velocità di calcolo dell'algoritmo di prova
attraverso iCustom() e attraverso la chiamata test().
P.S. Nel mio esempio non c'è una differenza così essenziale nel numero di operazioni per due varianti - il "codice di servizio" funziona una volta sola, e i cicli sono gli stessi.
E perché dovreste lavorare con gli array in una funzione integrata? Stiamo parlando della differenza nel costo della chiamata di una funzione personalizzata incorporata nel codice e una funzione esterna chiamata attraverso iCustom().
1. Lo stile di programmazione procedurale è secondo solo alla programmazione modulare e orientata agli oggetti. Quindi, mettere l'algoritmo di calcolo in una funzione separata è un passo logico.
E perché dovreste lavorare con gli array in una funzione integrata? Stiamo parlando della differenza nel costo della chiamata di una funzione personalizzata incorporata nel codice e una funzione esterna chiamata attraverso iCustom().
2. Allo stesso modo. È l'efficienza finale che mi interessa. In caso di MQL, di solito è il tempo necessario per lo sviluppo più il tempo necessario per i test nel tester. Anche se i secondi extra di attesa del terminale per caricare il conto reale possono essere molto costosi. Voglio dire che i nervi, non tutti hanno la giusta visione del trading :)
Ed ecco i risultati dello script.
Come potete vedere, l'uso di una funzione separata è giustificato - la differenza di tempo per un ciclo di miliardi di passaggi è solo un secondo. Ma è molto più facile sviluppare il codice!
Qui c'è di più su come trovare i parametri di una regressione lineare. Preso da qui - Canale di regressione lineare
Ed ecco una funzione che implementa l'algoritmo descritto (forse qualcuno può usarla):
La funzione si chiama così:
C'èqualcosa che non va nel regno danese.
Ho dovuto cancellare il mio post precedente. C'è un errore nell'algoritmo.
So che molte persone usano questa procedura ma .... non riesce a trovare il motivo dell'errore AIUTATEMI.
Ecco lo script. I coefficienti A e B sono calcolati due volte.
Il risultato è il seguente
intercetta = -3.33333333 pendenza = 5.00000000
intercetta = -1102.16914108 pendenza = 0.00000091
Ed ecco lo stesso, ma calcolato in MathCad. In blu i risultati corrispondono, in rosso no (.
In Mathcad queste sono funzioni integrate, quindi molto probabilmente un errore in MT4, ma dove?
C'èqualcosa che non va nel regno danese.
Ho dovuto cancellare il mio post precedente. C'è un errore nell'algoritmo.
So che molte persone usano questa procedura ma .... non riesce a trovare il motivo dell'errore AIUTATEMI.
Ecco lo script. I coefficienti A e B sono calcolati due volte.
Il risultato è il seguente
intercetta = -3.33333333 pendenza = 5.00000000
intercetta = -1102.16914108 pendenza = 0.00000091
Ed ecco lo stesso, ma calcolato in MathCad. In blu i risultati corrispondono, in rosso no (.
Questa è una funzione integrata in Mathcad, quindi molto probabilmente un errore in MT4, ma dove?
Ecco cosa mostra Excel 2007
Quindi, potrebbe essere necessario controllare Matcad.
Una delle implementazioni di regressione lineare, il grado del polinomio è 20, il numero di punti di calcolo e l'offset del punto di partenza è impostato...
l'uscita è fatta usando un canale la cui profondità è impostata in punti... ad una profondità di 0 viene emessa solo la curva di regressione stessa