Obter o número de casas decimais de quaisquer números (não apenas citações) contornando Dígitos() em MQL4 e MQL5 - página 19

 
Obrigado, vou testá-lo amanhã.
 
Ótimo, em mql5 eles removeram a direção de classificação da função ArraySort, no artigo sobre migração de mql4 eles aconselham o uso do ArraySetAsSeries em seu lugar... Não funciona com arrays multidimensionais =)))) Ontem eu modelava ArraySort do nada para fazer))))
 
Dmitry Fedoseev:

Eu escolho a conversão para a opção string.

afinou ligeiramente sua opção

int ds(double v){
   string s=(string)v;
   int l=StringLen(s);
   int p=StringFind(s,".",0);
   return((p>0)?l-p-1:0);
}
 
Igor Makanu:

Obrigado, já o tenho, vou testá-lo amanhã.

Esqueci um esclarecimento importante :)

#define    test(M,S,EX)        {uint mss=GetTickCount();int nn=(int)pow(10,M);for(int tst=0;tst<nn&&!_StopFlag;tst++){EX;} \
                                printf("%s: loops=%i ms=%u",S,nn,GetTickCount()-mss);}

Caso contrário, você pode ser enforcado por um longo tempo se falhar)

Taras Slobodyanik:

Ajustou um pouco a sua versão.

Opção excelente, mas funciona 10 vezes mais lentamente do que as já propostas abaixo

 
fxsaber:

Posso fazer um brainstorming sobre uma rápida implementação da tradução de uma série de estruturas (comprimento múltiplo de tamanho do(int)) de e para a série int[]?

A aplicação prática é a troca rápida de dados através de recursos. Minha variante é muito universal, por isso é mais lenta.


Estas funções apareceram no MT5

Eles não existem no MT4 e provavelmente não existirão. Portanto, temos que resolver o problema com e sem estas funções (se elas forem úteis).

O resultado será útil para um grande número de usuários do fórum aqui.


Escrevi um modelo muito simples de brainstorming com minha solução para este problema.


Resultado

A estrutura é um fio. Seu comprimento não pode ser um múltiplo de int ou não int.

 
Ilya Malev:
É ótimo, o mql5 removeu a direção de classificação da função ArraySort. Parece que no artigo sobre migração do mql4 eles recomendam o uso do ArraySetAsSeries em vez... Mas não funciona com arrays multidimensionais =)))) Ontem eu modelava ArraySort do nada para fazer))))

Artigos

Métodos de classificação e sua visualização usando MQL5

Dmitrii Troshin, 2017.05.26 09:44

A biblioteca especial Graphic.mqh foi criada para trabalhar com gráficos em MQL5. Este artigo descreve um exemplo de seu uso prático e explica a essência do marshalling. Para cada triagem, há pelo menos um artigo separado, e estudos inteiros foram publicados sobre alguns deles, portanto, apenas a idéia geral é descrita aqui.

 
Andrey Khatimlianskii:

Há alguma comparação da velocidade de classificação com a habitual ArraySort integrada na amostragem aleatória? Há algum método que classifique os dados aleatórios mais rapidamente, em média...

Ou não mais rápido, mas pelo menos o mesmo. Ou não tão rápido, mas pelo menos não mais do que o dobro do tempo. Sem nenhuma Dll e outras coisas como multithreading
 
Алексей Тарабанов:

A estrutura é um fio. Seu comprimento não pode ser um múltiplo de int, ou não int.

A multiplicidade é a condição do problema.

 
Não consigo superar isso.
Terei a certeza de participar quando chegar ao computador.
Após uma rápida olhada, já tenho idéias de como melhorar o resultado em 10-20%.

 
Nikolai Semko:
Não consigo superar isso.
Terei a certeza de participar quando chegar ao computador.
Já temos algumas idéias sobre como melhorar o resultado em 10-20%.

O resultado de quê?

Razão: