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

 
Qualquer pessoa pode aconselhar como abrir o MT4 (a partir de uma conta demo, em um computador) várias vezes ao mesmo tempo, para que se possa testar o Expert Advisor em vários pares simultaneamente. Para não esperar até que um par termine e depois ajustar manualmente o teste no outro?
 
paladin80:
Qualquer pessoa pode aconselhar como abrir o MT4 (a partir de uma conta demo, em um computador) várias vezes ao mesmo tempo, para que se possa testar o Expert Advisor em vários pares simultaneamente. Para não esperar até que um par termine e depois ajustar manualmente o teste no outro?
Copie a pasta várias vezes.
 
paladin80:
Qualquer pessoa pode aconselhar como abrir o MT4 (a partir de uma conta demo, em um computador) várias vezes ao mesmo tempo, para que se possa testar simultaneamente o Expert Advisor em vários pares. Para não esperar até que um par termine e depois ajustar manualmente o teste no outro?

O cantuper pode resistir a este tipo de crueldade? Dois testadores estão carregando a CPU 100% em paralelo, o computador não é de modo algum da categoria "Internet e máquina de escrever".
 

Boa tarde!

Por que o tempo do iTime e o tempo do testador (na foto) não coincidem?

Aqui está um esboço rudimentar do código:

int start()
  {
   int counted_bars=IndicatorCounted();
   if(counted_bars<0) return(-1);
   if(counted_bars>0) counted_bars--;
    
   int  limit = Bars - counted_bars;
     
     for (int i=limit; i>=0; i--)
     {
       
    tm1=iTime(NULL,PERIOD_D1,i);           //--- Определяю время (Выводит текущую дату. Не совпадает с временем в тестере.)
    int shift=iBarShift(NULL,PERIOD_H4,tm1,false);  //---По этому времени ищем бар
   
    hgh = iHigh(NULL,PERIOD_H4,shift);   //---High бара
    lwo = iLow(NULL,PERIOD_H4,shift);    //---Low бара
          
     flatline("Lev_Up",tm1,hgh,tm2,lwo,Green,1);
     flatline("Lev_Dn",tm1,hgh,tm2,lwo,Green,1);
     }
     
     SetText("Tm1","Tm2",TimeToStr(tm1),TimeToStr(tm1),Red,Blue,12);
     SetText2("Shift",shift,Red,12);
     SetText5("High","Low", hgh,lwo,Red,Blue,12);
           
     //----
   return(0);
  }

 

Boa tarde.

Você pode me dizer por que este código não é comercial?

E o alerta não funciona.

O tronco é completamente silencioso...

Na imagem da tela, você pode ver que as condições correspondem.

int start()
  {
  double ma= iMA(Symbol(), 0, PerMa, 0, 0, 0, 0);
//----
//GetLot(1, 0.1, 100, 0.1, 10, Symbol());
if (Filtre()=="S" && NormalizeDouble(Bid, Digits*pip)==NormalizeDouble(ma, Digits*pip)) OrderSend(Symbol(),OP_SELL,0.1,Bid,2,Ask+SL*pip*Digits,Ask-TP*pip*Digits,0,0,0,CLR_NONE);
if (Filtre()=="B" && NormalizeDouble(Bid, Digits*pip)==NormalizeDouble(ma, Digits*pip)) OrderSend(Symbol(),OP_BUY,0.1,Ask,2,Bid-SL*pip*Digits,Bid+TP*pip*Digits,0,0,0,CLR_NONE);
Comment (Filtre(),"  ",NormalizeDouble(ma, Digits*pip),"  ",NormalizeDouble(Bid, Digits*pip));
if (NormalizeDouble(Bid, Digits*pip)==NormalizeDouble(ma, Digits*pip)) Alert("!!!!!!!!!!!");


//----
   return(0);
  }
 
MarkTrade:

Boa tarde.

Você pode me dizer por que este código não é comercial?

E o alerta não funciona.

O tronco é completamente silencioso...

Na imagem da tela, você pode ver que as condições correspondem.

Verifique o que é igual a tubulação. O segundo parâmetro na função NormalizeDouble deve ser igual ao número de casas decimais (que é um número inteiro), geralmente escrito simplesmente como Dígitos se comparar preços.
 
atztek:

Há um arquivo na pasta "especialistas" que precisa ser copiado cada vez que o Indicador Personalizado é iniciado.

- É possível copiar arquivos do código e, em caso afirmativo, como?

Obrigado!


Se utilizar MQL, somente dentro da pasta de arquivos de especialistas
 
Fox_RM:

Boa tarde!

Por que o tempo do iTime e o tempo do testador (na foto) não coincidem?

Aqui está um esboço de código bruto:

Sua função iTime tira a i-ésima barra de um arquivo (para cada tamframe separadamente) na pasta de história do testador, talvez os arquivos de história para D1 e H1, onde a última barra corresponde a 13 de janeiro, estejam lá deitados de alguma antiga execução.
 
alsu:
Verifique a que é igual a tubulação. O segundo parâmetro na função NormalizeDouble deve ser igual ao número de dígitos após o ponto decimal (que é um número inteiro). Normalmente escrevemos apenas dígitos se estivermos comparando preços.

se (Dígitos == 3||Dígitos===5) pip=10; ou pip=1;

isto é para normalizar a 4 ou 2 dígitos. (se as aspas forem de 5 dígitos)

Os valores normalizados são exibidos em comentários e na captura de tela podemos ver que eles são iguais. Então, a condição foi cumprida, mas a ordem ainda não se abre...

Oh! Um alerta apareceu no registro, mas a ordem não foi aberta.

 
MarkTrade:

se (Dígitos == 3||Dígitos===5) pip=10; ou pip=1;

isto é para normalizar a 4 ou 2 dígitos. (se as aspas forem de 5 dígitos)

Os valores normalizados são exibidos em comentários e na captura de tela podemos ver que eles são iguais. Então, a condição foi cumprida, mas a ordem ainda não se abre...

Oh! O alerta apareceu no registro, mas a ordem não foi aberta.


Posso perguntar por que "normalizar para 4 ou 2 dígitos"?(se as aspas forem de 5 dígitos)"? 5 e 3 dígitos também devem funcionar, por assim dizer.