Perguntas de Iniciantes MQL4 MT4 MetaTrader 4 - página 228

 

Eu mesmo o procurei e não encontrei nada.

Não sei por que tive tal falha, talvez alguém já tenha lidado com ela.

 
darirunu1:

Tenho procurado por um, mas não sei como resolver este problema.

Quero saber por que talvez alguém tenha se deparado com este problema.

é mais provável que ninguém tenha encontrado problemas como o seu, é por isso que não há respostas.

 
Olá a todos, é possível chamar o indicador em uma janela separada no testador mt4 ao testar um EA?
 
Aleksandr Egorov:
Olá a todos, é possível chamar o indicador em uma janela separada no testador mt4 ao testar um EA?

sim

 
Iurii Tokman:

sim

como ?

 

Salve o modelo com o indicador sob o nome tester.tpl

E quando você inicia o testador na visualização, você receberá um gráfico com o indicador.

 
Aleksei Stepanenko:

Salve o modelo com o indicador sob o nome tester.tpl

E quando você inicia o testador, você receberá um gráfico com o indicador na visualização.

eu sei que pode ser chamado de um EA ?

 

Somente um modelo preparado pode ser chamado.

bool  ChartApplyTemplate(
   long          chart_id,     // идентификатор графика
   const string  filename      // имя файла с шаблоном
   );

O indicador não é.


Ou eu não sei nada sobre tal possibilidade. Também uma opção possível, mas improvável.

Com o WinAPI, você poderia tentar procurar na lista Navigator, suponho. Mas isso é muito divertido.
 

Por favor, informe o que está errado neste código, antes que este deslize não estivesse tudo funcionando bem.

Eu especifiquei 2 libras como lucro, assim que a variável op exceder 2 libras a EA deve esperar por 10 segundos e depois fechar. Quero que a EA espere por mais de 2 libras e não a feche imediatamente após ver 2 libras.

double op = CalculateProfit();
if (op >= Profit)
{
Sleep(10000);
CloseAll();

}


Agora, após a função de escorregamento, o EA não fecha.

 
input int Second=10;
ulong LastTime=ULONG_MAX;

void OnTick()
   {
   if(op>=Profit) LastTime=GetMicrosecondCount();
   if(GetMicrosecondCount()-LastTime>Second*1000000) {CloseAll(); LastTime=ULONG_MAX;}
   }
    
Razão: