Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 673

 
Olá,que código devo acrescentar para que os alertas de qualquer indicador apareçam na EA?

Como detectar os alertas através do iCustom ?

Talvez conheça indicadores/conselheiros já existentes para isso ?
 
RichLux:

Estou a escrever uma EA que funciona numa base de martingale.

Como posso conseguir que feche todas as suas ordens abertas quando a perda máxima permitida em pips é atingida num par de moedas?

Se realmente precisa dele em fichas e não em dinheiro, aqui está uma função a aplicar tal como a última

//===============================================================================================
//------------------ Возвращает суммарный профит открытых позиций в пунктах --------------------+
//===============================================================================================
double GetProfitOpenPosInPoint(string symb="0", int type=-1, int mg=-1) {
double p=0, prb=0, prs=0, pr=0;
  if(symb=="0") { symb=Symbol();}
   for(int i=0; i<OrdersTotal(); i++) {
    if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
     if((OrderSymbol()==symb||symb=="")&&(type<0||OrderType()==type)&&(mg<0||OrderMagicNumber()==mg)) {
       p=MarketInfo(OrderSymbol(), MODE_POINT)*Sign;
        if(OrderType()==OP_BUY) {
          prb+=((MarketInfo(OrderSymbol(), MODE_BID)-OrderOpenPrice())/p);
        }
        if(OrderType()==OP_SELL) {
          prs+=((OrderOpenPrice()-MarketInfo(OrderSymbol(), MODE_ASK))/p);
        }
       pr=prb+prs;
     }
}}
  return(pr);
}
 
greeng2016:
Olá,que código devo acrescentar para que os alertas de qualquer indicador apareçam na EA?

Como detectar os alertas através do iCustom ?

Talvez conheça indicadores/conselheiros já existentes para isso ?
Tanto quanto sei, o aparecimento da janela de alerta não pode ser rastreado.
 
Olá. Eu queria abrir um ficheiro.ex4 com o mt4.exe e configurá-lo para utilizar em todos os ficheiros. Como recuperar a "windows general shell library" ? por alguma razão o mt4 não consegue ver este perito (robô) agora.
Arquivos anexados:
pui_mqhrx2.png  40 kb
 
VSEVPOTOLKI:
Olá. Eu queria abrir um ficheiro.ex4 com o mt4.exe e configurá-lo para utilizar em todos os ficheiros. Como posso reverter a "windows general shell library" ? por alguma razão o mt4 não vê agora esta EA (robô).

Não vão acreditar, mas todos!!! querem abrir um ficheiro .ex4, o problema é que nunca foi aberto para edição, e não vai abrir.

Os ficheiros editáveis são apenas .mq4, os ficheiros executáveis são .ex4

 

Eventos do terminal do cliente

Init

Imediatamente após o terminal do cliente carregar um programa (Expert Advisor ou indicador personalizado) e iniciar a inicialização de variáveis globais, será enviado um Init (), se disponível, para o caso de ser tratado usando o OnInit(). Este evento também é gerado após uma mudança de segurança e/ou de período gráfico, após recompilar o programa no MetaEditor, após uma mudança dos parâmetros de entrada de um Expert Advisor ou uma janela de definição de indicadores personalizada. O Conselheiro Especialista também é inicializado após a conta ter sido alterada. O evento Init não é gerado para scripts.


E se não estiver "fora da janela"? Por exemplo, durante o modo de optimização no Strategy Tester ? Onde ler sobre o assunto ?

 
Leo59:

Eventos do terminal do cliente

Init

Imediatamente após o terminal do cliente carregar um programa (Expert Advisor ou indicador personalizado) e iniciar a inicialização de variáveis globais, será enviado um Init (), se disponível, para o caso de ser tratado usando o OnInit(). Este evento também é gerado após uma mudança de segurança e/ou de período gráfico, após recompilar o programa no MetaEditor, após uma mudança dos parâmetros de entrada de um Expert Advisor ou uma janela de definição de indicadores personalizada. O Conselheiro Especialista também é inicializado após a conta ter sido alterada. O evento Init não é gerado para scripts.


E se não estiver "fora da janela"? Por exemplo, durante o modo de optimização no Strategy Tester ? Onde ler sobre o assunto ?

No modo de optimização, cada passagem com novos parâmetros não é mais do que um novo início de programa. O evento OnInit() é executado em conformidade após o início.
 
Vladimir Karputov:
No modo de optimização, cada passe com novos parâmetros não é mais do que um novo programa executado. Assim, após o início do evento, o OnInit() passa.
(Obrigado, Vladimir! Compreendo-o)). Mas onde é que está escrito na documentação? Se eu colocar Impressão, Alerta e Comentário no init(), nada é mostrado no registo ou no ecrã. Como podemos ter a certeza do que sabemos?
 
Leo59:
Obrigado Vladimir! Compreendo-o))). Mas em que parte da documentação está escrito? Se eu colocar Imprimir, Alertar, Comentar no init(), nada é escrito nem para a revista nem para o ecrã. Como podemos ter a certeza do que sabemos?

E para ter a certeza - começar a depuração da história e definir o ponto de ruptura no OnInit().

 

Não consigo obter algo para imprimir() no diário de bordo do testador. Como se faz isto?

Razão: