Assista a como baixar robôs de negociação gratuitos

Roteiro interessante?
Então poste um link sobre isto -
deixe que outros avaliem

Você gostou do roteiro? Experimente no terminal MetaTrader 5

Visualizações:
786
Classificação:
votos: 42
Publicado:
2014.01.14 12:39
Atualizado:
2016.11.22 07:34

O script contém vários métodos de classificação para ordenar a array double[]

Existem 2 funções - ordenação ascendente (Up) e descendente (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[]).

O script tem várias funções auxiliares:

  • Check(double & aAr[]) - verifica se a array já está classificada (ascendente). Se a array não é ordenada, aparecerá a mensagem "Erro".
  • ArrayAlertR(double & aAr[],int aDigits=0,string aHeader="") - imprime array como uma linha. Argumentos: double & aAr[] - array para impressão, int aDigits - precisão (dígitos), string aHeader - string adicional no início da linha. Esta função pode ser útil para verificar as mudanças da array durante o processo de ordenação.
  • ArrayAlertC(double & aAr[],int aDigits=0,string aHeader="") - imprime array como uma coluna. Argumentos: double & aAr[] - array para impressão, int aDigits - precisão (dígitos) na derivação de valores de uma array,  string aHeader - string adicional no início da linha.

Ordenando a execução dos algoritmos:

  • Hoare - 8 ms;
  • Shell - 78 ms;
  • SelectFst - 126 ms;
  • Selection - 582 ms;
  • Insertion - 702 ms;
  • Bubble - 1558 ms;

Fig. 1. Ordenando a execução dos algoritmos

Fig. 1. Ordenando a execução dos algoritmos

O método de ordenação mais rápida é Hoar sort (tipo rápido), mas é recursiva e precisa ser usada com cuidado.

Traduzido do russo por MetaQuotes Software Corp
código original: https://www.mql5.com/ru/code/904

BB_3HTF BB_3HTF

Três bandas de Bollinger com períodos de tempo diferentes e com os mesmos parâmetros em um gráfico.

Ticks_Volume_Indicator Ticks_Volume_Indicator

Um indicador que utiliza volume de tick para os cálculos.

RSI_3HTF RSI_3HTF

Três osciladores de RSI, com três períodos de tempo diferentes em um gráfico.

i-GAP i-GAP

Um indicador de semáforo de sinal que forma sinais quando os gaps nos preços aparecem.