Unisciti alla nostra fan page
- Visualizzazioni:
- 32
- Valutazioni:
- Pubblicato:
-
Hai bisogno di un robot o indicatore basato su questo codice? Ordinalo su Freelance Vai a Freelance
Lo script funziona per ordinare una matrice di tipo double utilizzando diversi metodi:
- Ordinamento a bolle;
- Ordinamento per selezione;
- Ordinamento per inserimento;
- Ordinamento a conchiglia;
- metodoHoar sort/Quick sort;
- metodo di selezione che utilizza le funzioni ArrayMinimum() e ArrayMaximum().
Esistono due funzioni per ciascun metodo, per l'ordinamento ascendente (Up) e discendente (Dn):
- SortBubbleUp(double & aAr[]);
- SortBubbleDn(double & aAr[]);
- SortSelectUp(double & aAr[]);
- SortSelectDn(double & aAr[]);
- SortInsertUp(double & aAr[]);
- SortInsertDn(double & aAr[]);
- SortShellUp(double & aAr[]);
- SortShellDn(double & aAr[]);
- SortHoareUp(double & aAr[]);
- SortHoareDn(double & aAr[]);
- SortSelectUpFst(double & aAr[]);
- SortSelectDnFst(double & aAr[]).
Lo script contiene anche diverse funzioni ausiliarie:
- Check(double & aAr[]) - verifica se l'array è ordinato in ordine crescente. Se l'array non è ordinato, viene visualizzato il messaggio "Error" nella finestra di avviso.
- ArrayAlertR(double & aAr[],int aDigits=0,stringa aHeader="") - emette l'array nell'avviso tramite una stringa. Parametri: double & aAr[] - array, int aDigits - numero di cifre decimali quando si emettono i valori dell'array, stringa aHeader - messaggio aggiuntivo all'inizio della stringa. La funzione può essere utile per coloro che desiderano comprendere i diversi metodi di ordinamento in modo più dettagliato, per osservare visivamente i cambiamenti nell'array a ogni passo di ordinamento.
- ArrayAlertC(double & aAr[],int aDigits=0,stringa aHeader="") - produce l'output dell'array in una colonna di avviso. Parametri: double & aAr[] - array, int aDigits - numero di cifre decimali per l'output dei valori dell'array, string aHeader - messaggio da cui parte l'output dell'array, per comodità.
In base ai risultati della misurazione delle prestazioni (Fig. 1), le funzioni sono disposte nel seguente ordine:
- Hoare - 15 ms;
- Shell - 318 ms;
- SelectFst - 451 ms;
- Seleziona - 1318;
- Insert - 1751;
- Bolla - 4513;

Figura 1. Risultati della misurazione delle prestazioni delle diverse funzioni di ordinamento degli array
Il leader più ovvio è il metodo di Hoare, tuttavia questo metodo è ricorsivo e bisogna fare attenzione quando lo si utilizza.
Tradotto dal russo da MetaQuotes Ltd.
Codice originale https://www.mql5.com/ru/code/904
Funzione per il calcolo della dimensione del lotto dal rischio per deposito
La funzione calcola la dimensione del lotto di una posizione aperta. Come parametri vengono passati il prezzo di apertura di una transazione, il prezzo del livello di stop loss e il rischio per transazione in percentuale del deposito.
ATR Cycles
Un filtro di volatilità basato su 3 ATR: un ATR veloce, un ATR medio e un ATR lento.
EMA_STD_VA
Media esponenziale adattiva in funzione del valore della deviazione standard.
EMA_ATR_VA
Adaptive Exponential Moving Average - ATR Volatilità corretta da Jose Silva in base all'indicatore ATR.