Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 812

 
Pomid:
Obrigado, aprendi, consertei.
Que tiro, você conseguiu! Mas eu não posso aprender, há sempre muita coisa que ainda não sei, e ela continua se atualizando. Então, "viver e aprender"!
 
barabashkakvn:
E quando os testes (sem a otimização permitida), por que devemos carregar todos os núcleos? Afinal, se testar com visualização, não há pressa, enquanto que se testar sem visualização, os computadores modernos podem fazer isso como um girassol em um único núcleo.

Bem, eu acho que se todos os núcleos funcionassem em testes sem visualização seria ainda mais rápido, eu apenas sinto que funciona silenciosamente mesmo com processador moderno me falta velocidade, talvez muito depende da exatidão do código, se ele for bem otimizado então tudo é rápido, se não longo.

Você pode me dizer por favor, oOpenCL para GPU ou placa de vídeo afeta a velocidade dos testes ou é apenas para escrever código, se o código for escrito paraOpenCL então ele funcionará muito mais rápido no modo de teste, e se o código for apenas código.

 
7Konstantin7:


Você pode me dizer seo OpenCL tem algum efeito sobre a velocidade de teste ou se é apenas para escrever código, se o código é escrito emOpenCL então ele funcionará muito mais rápido no modo de teste, e se o código é apenas código.

Até onde entendo OpenCL no MT5 ajuda no trabalho com gráficos "pesados", uma placa de vídeo não está envolvida em testes e otimização, caso contrário, há muito tempo todos estariam minerando no serviço de agente, como em bitcoins.
 
evillive:
Até onde eu entendoOpenCL no MT5 ajuda no trabalho com gráficos "pesados", a placa de vídeo não está envolvida em testes e otimização, caso contrário, todos estariam minerando no serviço de agente como em bitcoins há muito tempo atrás.

É uma pena se assim for, eu gostaria que tudo estivesse envolvido)

Eu acabei de ver um código robô naquele site mt5, baixei-o, fiz o teste e demorou tanto tempo, especialmente em todos os carrapatos, que seria melhor usar todos os núcleos em vez de um, mas é provável que a maioria dos códigos postados naquele site estejam erroneamente escritos, é por isso que o teste é tão longo, minha CPU certamente não é uma Intel, mas 8 núcleos de 4.000GHz devem voar, mas eu sento no testador em um notebook, seria triste se o mt5 é culpado disso, por que é assim.

 
tara:

A variável deve estar lá, e não algo mais:

Variável? Mm-hmm. Obrigado.
 
Diga-me onde está o erro. Minha cabeça já está doendo. (
Arquivos anexados:
 
martovskiy_tigr:
Diga-me onde está o erro. Minha cabeça já está doendo. (
Vamos conversar? O que está lhe incomodando?
 

a janela indicadora fica pendurada de -99999... para +99999...99

 
martovskiy_tigr:

a janela indicadora fica pendurada de -99999... para +99999...99

O valor de i é contado errado, o loop nunca será calculado, e também haverá saída fora da matriz em vários lugares (os motivos são destacados em vermelho).

Isto é melhor:

   indx = rates_total-prev_calculated; //было indx = rates_total-prev_calculated-1; - что чаще всего < 0
   if(prev_calculated<1) indx=rates_total-2; //было if(indx<0) indx=0; - то есть всегда i=0 а цикл-то до 1, на i=0 цикл никогда не просчитается
   sm_bar = (Close[1] - Open[rates_total-1])/rates_total; //индекс не может быть [rates_total]
   i = indx;
   k = 0;
   ekviti[rates_total-1] = 0; //индекс не может быть [rates_total]
   while(i >= 0)
   {
    if(bar_n == TimeDayOfWeek(iTime(NULL,0,i)))
    {
     ekviti[i] = ekviti[i+1] + close[i] - open[i] - sm_bar;
     k++;
    }
    else ekviti[i] = ekviti[i + 1];
    i--;
   }
 
Obrigado. Eu certamente não teria descoberto por conta própria. Eu simplesmente não sabia.