N�o quero pisar em ningu�m aqui (especialmente porque ele tem mais c�lulas cerebrais do que o meu 1 e faz um �timo trabalho para todos aqui), mas o que h� de errado com a ideia original ... certamente isso classificar� cinco n�meros igualmente bem?
N�o quero pisar em ningu�m aqui (especialmente porque ele tem mais c�lulas cerebrais do que o meu 1 e faz um �timo trabalho para todos aqui), mas o que h� de errado com a ideia original ... certamente isso classificar� cinco n�meros igualmente bem?
obrigado vou jogar
Para classificar n�meros negativos, eu adicionaria um n�mero adequadamente grande (por exemplo, 999999) para converter todos os n�meros em valores positivos, na chave de classifica��o e usaria NumberToStr() para format�-los. Ent�o eu incluiria o pr�prio n�mero como um item na extremidade direita da string. No exemplo abaixo, permiti que n�meros com at� 2 casas decimais fossem classificados: array_to_sort[i] = NumberToStr(999999 RSI_value[i],Z8.2) pair_symbol[i] NumberToStr(RSI_value[i], Z-3.2) ; Portanto, um valor de -17,83 para AUDUSD seria formatado da seguinte forma: 00999981.17AUDUSD-017,83 Em seguida, voc� classifica e, finalmente, usa StringSubstr() do MQL4 para extrair o par e o valor RSI da string. Para obter mais informa��es sobre a fun��o NumberToStr(), consulte o link em meu post anterior.
Obrigado, mais uma vez, pela sua contribui��o
Uau, obrigado por isso, certamente darei uma boa olhada nas fun��es adicionais. Um pedido de dica adicional de voc� - se eu usar um indior que produza valores -ve e ve, qual pr�-processamento de adi��o seria necess�rio para que o classifica��o de string pode ocorrer Obrigado novamente
2 Anexo(s)
Lucklogic, boa pergunta. Supondo que eu tenha entendido voc� corretamente......... Se eu tiver que classificar v�rios itens, construo uma string que consiste em: chave de classifica��o, item1, item2, item3, etc. No entanto, voc� n�o pode use ArraySort() do MQL4 para classificar arrays de strings. Adicionei mais de 70 novas fun��es � linguagem MQL4, que compartilhei livremente aqui. Entre elas est�o as fun��es de classifica��o de array e as fun��es de formata��o de n�mero para string e de string para n�mero. O RSI � sempre um n�mero positivo entre 0 e 100, o que facilita as coisas; item1 (RSI) e item2 (s�mbolo de par) podem ser incorporados e extra�dos da chave de classifica��o. Portanto, eu construiria uma matriz de strings a partir do RSI e das matrizes de s�mbolos de par, que consistem em NumberToStr(RSI) e, em seguida, no s�mbolo de par. Em seguida, simplesmente usaria minha pr�pria fun��o ShellsortStringArray() para classificar a matriz em sequ�ncia descendente e, finalmente, desconstruir a string para extrair os itens. Aqui est� um exemplo de script: C�digo inserido/ --------------------------------------- --------------------------- /| x.mq4 |/ ---------------------------------------------------- ------------------- #include lt;#91;color=Verde#93; --- cabe�alho da fun��o.mqh#91;/color#93;gt;/ ---------------------------------------------------- ------------------- int start() {/ ---------------------- --------------------------------------------- #91;cor= Azul#93; #91;color=Gray#93;//carrega matrizes de amostra com 10 IDs de s�mbolo de par e 10 valores RSI correspondentes.......#91;/color#93; #91;/cor#93; string pair_symbol#91;10#93; = {EURUSD,USDCAD,NZDJPY,GBPJPY,GBPCHF,AUDUSD,USDJPY, USDCHF,EURAUD,AUDCAD}; duplo RSI_value#91;10#93; = {46,10,55,79,28,93,12,66,51,8}; #91;cor=Azul#93; #91;color=Gray#93;//build sort array: os primeiros 3 caracteres s�o o RSI, depois o s�mbolo do par correspondente......#91;/color#93; #91;/cor#93; string array_for_sorting#91;10#93;; for (int i=0; ilt;ArraySize(pair_symbol); i ) array_for_sorting#91;i#93; = #91;color=Verde#93;NumberToStr(RSI_value#91;i#93;, Z3)#91;/color#93; pair_symbol#91;i#93;; #91;color=Gray#93;//Z3 alinha o RSI � direita com 3 caracteres com zeros � esquerda e, em seguida, acrescenta o s�mbolo#91;/color#93; #91;cor=Azul#93;#91;cor=Cinza#93;/realiza a ordena��o....... #91;/color#93; #91;/cor#93; #91;color=Verde#93;ShellsortStringArray(array_for_ sorting,true);#91;/color#93; #91;color=Gray#93;//true classifica em ordem decrescente#91;/color#93; #91;cor=Azul#93; #91;cor=Cinza#93;/agora desconstruir os valores classificados de volta aos arrays originais...... #91;/color#93; #91;/cor#93; for (i=0; ilt;ArraySize(pair_symbol); i ) { pair_symbol#91;i#93; = StringSubstr(array_for_sorting#91;i#93;,3); #91;color=Gray#93;//par � armazenado na posi��o 3 em diante#91;/color#93; RSI_value#91;i#93; = StrToDouble(StringSubstr(array_for_sorting#91;i#93 ;,0,3)); #91;color=Gray#93;//RSI � armazenado nas posi��es de caracteres de 0 a 2#91;/color#93; } #91;cor=Azul#93;#91;color=Gray#93;//exibe o resultado......#91;/color#93; #91;/cor#93; MessageBox(#91;color=Green#93;StringArrayToStr(pai r_symbol,T6)#91;/color#93; \n #91;color=Green#93;DoubleArrayToStr(RSI_value,T3)# 91;/color# 93; retornar(0); }/ ---------------------------------------------- -------------------- #include lt;#91;color=Verde#93; --- fun��es extens�veis.mqh#91;/color#93;gt; No resultado, voc� pode ver como os valores do RSI est�o em ordem decrescente, com seus pares de s�mbolos nos elementos correspondentes: AUDUSD,GBPJPY,USDCHF,NZDJPY,EURAUD,EURUSD,GBPCHF,U SDJPY,USDCAD,AUDCAD 93,79,66, 55,51,46,28,12,10,8 Os elementos no array array_to_sort[] s�o assim: 093AUDUSD,079GBPJPY,066USDCHF,055NZDJPY,051EURAUD, 046EURUSD,028GBPCHF,012USDJPY,010USDCAD,008AUDCAD Eu trapaceei usando alguns dos minhas pr�prias fun��es #8212; Destaquei-os em fonte verde. Mas todo o resto � MQL4 direto. Todo o processo construct#8212;sort#8212;deconstruct requer apenas 8 linhas de c�digo. De qualquer forma, � assim que eu abordaria sua pergunta. Espero que lhe d� algumas ideias para trabalhar. Boa sorte,
David [EDIT] Esqueci de mencionar: voc� precisa copiar os arquivos anexados para sua pasta ..../experts/include.
https://www.tradingintuitivo.com/gen...analytics.html
https://www.tradingintuitivo.com/tra...92-trades.html
[/quote] Hayseed se n�o, e voc� ainda est� interessado nisso, grite de volta ..... vou postar algo raro ....... todos n�s, amadores, temos que ficar juntos ...... h[/cita��o] Eu gostaria de ter sua opini�o
1 Anexo(s)
Anexei todo o EA para sua divers�o, mas a parte relevante est� em meu primeiro post. Este � um EA ativo em desenvolvimento, mas acho que precisa seguir uma dire��o diferente - da� meu pedido de assist�ncia
https://www.tradingintuitivo.com/att...284078891.23_2
//--- ei, sorte..... � dif�cil para n�s pegar peda�os de c�digo e mescl�-los sem ver o c�digo inteiro de tudo envolvido.... h� muitas inc�gnitas..... . vou postar algo mais tarde.....h