Guarda come scaricare robot di trading gratuitamente
Ci trovi su Twitter!
Unisciti alla nostra fan page
Script interessante?
Pubblica il link!
lasciare che altri lo valutino
Ti è piaciuto lo script? Provalo nel Terminale MetaTrader 5
Visualizzazioni:
32
Valutazioni:
(45)
Pubblicato:
Freelance MQL5 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:

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;

Fig. 1. Prestazioni degli algoritmi di ordinamento

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 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 ATR Cycles

Un filtro di volatilità basato su 3 ATR: un ATR veloce, un ATR medio e un ATR lento.

EMA_STD_VA EMA_STD_VA

Media esponenziale adattiva in funzione del valore della deviazione standard.

EMA_ATR_VA EMA_ATR_VA

Adaptive Exponential Moving Average - ATR Volatilità corretta da Jose Silva in base all'indicatore ATR.