Ajuda na codificação - página 350

 
apprentice coder:
Como posso testar a partir do código se a conexão com o corretor está ligada ou desligada?

Você pode usar a função IsConnected() para isso, mas ...

Essa função nunca será alcançada se não houver novos tiquetaques entrando.

Portanto, você tem que mantê-la em um loop infinito (o que é inaceitável para uma EA) ou você tem que usar eventos temporizados para verificar isso (nesse caso, se for uma EA, ela poderia adverti-lo de que não há conexão. Presumo que todos nós consideramos os indicadores como menos críticos de conexão - sem operações com pedidos e assim por diante - por isso a solução do temporizador pode ser aplicada aos indicadores também, mas provavelmente são menos importantes de serem verificados a partir daí do que a partir da EA) . Caso contrário, seu código não saberá que a conexão foi perdida.

 
mladen:
Você pode usar a função IsConnected() para isso, mas ...

Essa função nunca será alcançada se não houver novos carrapatos entrando.

Portanto, você tem que mantê-la em um loop infinito (o que é inaceitável para uma EA) ou você tem que usar eventos temporizados para verificar isso (nesse caso, se for uma EA, ela poderia avisá-lo de que não há conexão. Presumo que todos nós consideramos os indicadores como menos críticos de conexão - sem operações com pedidos e assim por diante - por isso a solução do temporizador pode ser aplicada aos indicadores também, mas provavelmente são menos importantes de serem verificados a partir daí do que a partir da EA) . Caso contrário, seu código não saberá que a conexão foi perdida.

você pode postar algum exemplo de código que faria isso, por favor?

 
apprentice coder:
Você pode postar algum exemplo de código que faça isso, por favor?

Publicaremos um exemplo amanhã. OK?

 
mladen:
Publicaremos um exemplo amanhã. OK?

OK. Vamos descansar um pouco

 
apprentice coder:
você pode postar algum exemplo de código que faria isso, por favor?

codificador aprendiz

Aqui está um indicador simples (mas da maneira como é usado, você pode fazer exatamente o mesmo na EA) que verifica o status da conexão do corretor em um intervalo de tempo desejado : _check_connection.mq4

#property indicator_chart_window

extern int CheckStatusEveryNMilliseconds = 250;

int init() { EventSetMillisecondTimer(CheckStatusEveryNMilliseconds); return(0); }

int deinit() { EventKillTimer(); return(0); }

int start() { return(0); }

void OnTimer()

{

static bool previouslyConnected = true;

bool currentlyConnected = IsConnected();

if (previouslyConnected != currentlyConnected)

{

previouslyConnected = currentlyConnected;

string cdescription = "disconnected"; if (currentlyConnected) cdescription = "connected";

Comment("connection status changed.\nterminal is now : "+cdescription);

}

Como você pode ver, é um exemplo simples de como isso pode ser feito

Arquivos anexados:
 
mladen:
codificador aprendiz

Aqui está um indicador simples (mas da maneira como é usado, você pode fazer exatamente o mesmo na EA) que verifica o status da conexão do corretor em um intervalo de tempo desejado : _check_connection.mq4

#property indicator_chart_window

extern int CheckStatusEveryNMilliseconds = 250;

int init() { EventSetMillisecondTimer(CheckStatusEveryNMilliseconds); return(0); }

int deinit() { EventKillTimer(); return(0); }

int start() { return(0); }

void OnTimer()

{

static bool previouslyConnected = true;

bool currentlyConnected = IsConnected();

if (previouslyConnected != currentlyConnected)

{

previouslyConnected = currentlyConnected;

string cdescription = "disconnected"; if (currentlyConnected) cdescription = "connected";

Comment("connection status changed.\nterminal is now : "+cdescription);

}

Como você pode ver, é um exemplo simples de como isso pode ser feito

obrigado :0

Vejo que funciona ainda hoje (sem carrapatos). interessante. aprender, aprender

 
mladen:
Mude o nome do fxpreislevelsv5.ex4 ou fxpreislevelsv5.dll (metatrader não reconhece extensões neste caso - você tem que ter um nome diferente do arquivo independentemente da extensão)

Obrigado pela ajuda!!!

Mas encontrei um problema diferente depois de compilar não houve erros, mas ele não funciona e continua a remover

"2014.09.20 19:56:40.262Indicador de Tendência_Imperador_V2e GBPUSDe,M5: removido

2014.09.20 19:56:38.901Indicador de Tendência_Imperador_V2e GBPUSDe,M5: carregado com sucesso".

sempre acontece eu tenho que atualizar códigos?

 
forexeaexpert:
Obrigado pela ajuda!!!

Mas encontrei um problema diferente depois de compilar não houve erros, mas ele não funciona e continua a remover

"2014.09.20 19:56:40.262 Indicador personalizado Trend_Imperator_V2e GBPUSDe,M5: removido

2014.09.20 19:56:38.901 Indicador personalizado Trend_Imperator_V2e GBPUSDe,M5: carregado com sucesso".

sempre acontece eu tenho que atualizar códigos?

forexeaexpert

Esse erro geralmente acontece quando o indicador é chamado com parâmetros errados

Verifique os parâmetros no iCustom() chamada a esse indicador

 

Hello mladen ,

Eu estava tentando inserir este indicador na minha ea .

Mas depois de testar, estava apenas recebendo um sinal de compra.

Por favor, ajude-me a ver que um código correto que eu inseri

MACD = iCustom(NULL,0,"MACD_ColorHist_Alert_EMA 2",FastEMA,SlowEMA,SignalEMA,true,true,true,false,false,false,false,false,false,false,false,0);

E eu sei que macd>0 e macd<0 é o sinal que atravessa a linha zero.

Mas como posso obter outro sinal da direção da encosta?

Eu estava muito confuso, depois de tentar tanto tempo

Arquivos anexados:
 
stevenpun:
Hello mladen ,

Eu estava tentando inserir este indicador na minha ea .

Mas depois de testar, estava apenas recebendo um sinal de compra.

Por favor, ajude-me a ver que um código correto que eu inseri

MACD = iCustom(NULL,0,"MACD_ColorHist_Alert_EMA 2",FastEMA,SlowEMA,SignalEMA,true,true,true,false,false,false,false,false,false,false,false,0);

E eu sei que macd>0 e macd<0 é o sinal que atravessa a linha zero.

Mas como posso obter outro sinal da direção da encosta?

Eu estava muito confuso, depois de tentar tantas vezes

stevenpun

Para isso seria mais fácil adicionar algum buffer de "direção de inclinação" a esse indicador ou usar algum outro MACD que já tenha essa inclinação resolvida em um buffer

Razão: