Erros, bugs, perguntas - página 342

 
Urain:

A solução mais fácil para MQ seria dar os parâmetros da função

arrays em vez de variáveis, que existem agora como parâmetros. A solução é, evidentemente, unilateral, uma vez que não há forma de transferir dados entre as AAs, mas mesmo assim é melhor do que nada.

Ainda melhor seria algo como isto

void SendData(const int handle,const long &lparam[],const double &dparam[],const string &sparam[])
void GetData(const int handle,const long &lparam[],const double &dparam[],const string &sparam[])

Poder enviar para um destinatário específico e receber de um remetente específico. E não apenas mandar buscar algum gráfico. E tornar público o cabo. Bem, algo do género.

 

Existe tal tarefa: a janela indicadora deve ser removida e restaurada do Conselheiro Especialista. Mas os dados calculados permanecem constantes.

Uma solução simples é criar um indicador para calcular dados (chamemos-lhe "Calcular") e um indicador para exibir dados numa janela separada, chamemos-lhe "Plot". O indicador "Plot" é chamado por iCustom("Calculate"), mas o Consultor Especialista também é chamado antes por iCustom("Calculate"). São chamados com os mesmos parâmetros. Mencionei algures que dois indicadores com os mesmos parâmetros não são criados num único gráfico, eles criam uma pega adicional que se refere à pega principal do processo indicador já iniciado.

Daí a questão: depois de apagar o Plot da EA e adicioná-lo novamente, o indicador Calcular lançado no Plot será calculado novamente ou apenas tomará os dados calculados do indicador Calcular lançado na EA?

 
Urain:

Mencionei algures que dois indicadores com os mesmos parâmetros não são criados num único gráfico, mas apenas é criada uma pega adicional que se refere à pega principal de um processo indicador já em curso.

Guia de Referência MQL5 / Indicadores Técnicos / Funções para trabalhar com indicadores técnicos:

"Todas as funções como iMA, iAC, iMACD, iIchimoku, etc., criam uma cópia do indicador técnico apropriado no cache global do terminal do cliente. Se já existir uma cópia do indicador com estes parâmetros, não é criada uma nova cópia, mas o contador de referências a esta cópia é incrementado.

Estas funções devolvem a pega da cópia do indicador correspondente. Usando este cabo, pode posteriormente recuperar dados calculados pelo indicador correspondente..."

"Nota. Chamadas múltiplas da função indicadora com os mesmos parâmetros dentro de um programa de mql5 não aumentarão o contador de referência muitas vezes, o contador será aumentado apenas uma vez por 1. . ..".

 
Yedelkin:

Guia de Referência MQL5 / Indicadores Técnicos / Funções para trabalhar com indicadores técnicos:

...

"Nota. O acesso múltiplo à função indicadora com os mesmos parâmetros dentro de um programa mql5 não leva a um aumento múltiplo do contador indicador, o contador será aumentado apenas uma vez em 1. ...".

Sim, é exactamente isso. Obrigado pela dica.

Não compreendo exactamente esta linha. É possível considerar o indicador lançado no Expert Advisor como um programa ou pretende-se que seja dois programas?

Se for feita a primeira suposição, então está tudo bem. Mas se o compilador os tratar como programas diferentes, então há um problema.

 
Urain:

Pode o indicador em funcionamento na EA ser considerado como um programa, ou pretende-se que seja dois programas?

1. O Manual diz:"Todas as funções como iMA, iAC, iMACD, iIchimoku, etc., criam uma cópia do indicador técnico correspondente no cache global do terminal do cliente".

Li como (referindo-se à sua pergunta):"Todas as funções, como iMA, iACD, iMACD, iIchimoku , etc.são chamadas a partir de um determinado programa mql5 ecriam uma cópia do indicador técnico apropriado no cache global do terminal do cliente". Portanto, a frase comum"EA E executa indicador I" significa que a EA E chama a função I, que cria uma cópia do indicador no cache global do terminal do cliente e faz com que a EA E receba a manipulação dessa cópia.

2. se "EA E chama a função indicadora I", então significa que chama a função indicadora "dentro de um programa mql5".

 
Descarreguei 420 build a partir daquihttps://www.mql5.com/ru/forum/23/page11 mas na realidade instala 412. Estou com algum problema ou esqueceram-se de alterar o ficheirometaquotes.net?
Список изменений в билдах MetaTrader 5 Client Terminal
Список изменений в билдах MetaTrader 5 Client Terminal
  • www.mql5.com
Автоматическое обновление доступно через систему LiveUpdate:.
 
Yedelkin:

1. O Manual de Referência diz:"Todas as funções como iMA, iAC, iMACD, iIchimoku, etc., criam uma cópia do indicador técnico relevante na cache global do terminal do cliente".

Li como (referindo-se à sua pergunta):"Todas as funções, como iMA, iACD, iMACD, iIchimoku, etc. são chamadas a partir de um determinado programa mql5 e criam uma cópia do indicador técnico apropriado no cache global do terminal do cliente". Portanto, a frase comum"EA E executa indicador I" significa que a EA E chama a função I, que cria uma cópia do indicador no cache global do terminal do cliente e faz com que a EA E receba a manipulação dessa cópia.

2) Se "EA E chama a função indicadora I", então estamos a falar de chamar a função indicadora "dentro de um único programa mql5".

Já o tenho. A frase chave aqui é"na cache global do terminal do cliente".

Se assim for, então está tudo bem. Uma outra questão foi esclarecida.

 
a483483:
Descarrego o edifício 420 daquihttps://www.mql5.com/ru/forum/23/page11 mas na realidade instala o 412º. Tenho um problema ou no ficheirometaquotes.net esqueci-me de mudar ?

Por isso, aguarde e deverá actualizar-se para a versão mais recente.

SZS apenas deixe o terminal a funcionar e meta-se na sua própria vida, após algum tempo verá na mensagem do terminal que descarregou tal e tal versão e pedirá para reiniciar o terminal.

 

Boa tarde!

Depois de actualizar para a versão 420, comecei a testar a minha EA e reparei que ela começou a "perder" por alguma razão. Analisei os meus negócios e reparei que o fim das perdas é desencadeado a preços inexistentes. Por exemplo, fixei o stop loss em 1,06520 no EURUSD, mas funciona, embora o preço máximo seja 1,05920. Quando olho mais longe, vejo muitos desses negócios. O Take Profit é desencadeado pelo mesmo princípio (a preços inexistentes) - o delta é o mesmo - 600 pontos. No verificador do gráfico, as setas para cima e para baixo "penduram" no ar, longe das barras.

Uma imagem de ecrã é anexada.

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы - Документация по MQL5
Arquivos anexados:
eurusd.jpg  235 kb
 
Kairoser:

Boa tarde!

Depois de actualizar para a versão 420, comecei a testar a minha EA e reparei que ela começou a "perder" por alguma razão. Analisei os meus negócios e reparei que o fim das perdas é desencadeado a preços inexistentes. Por exemplo, fixei o stop loss em 1,06520 no EURUSD, mas funciona, embora o preço máximo seja 1,05920. Quando olho mais longe, vejo muitos desses negócios. O Take Profit é desencadeado pelo mesmo princípio (a preços inexistentes) - o delta é o mesmo - 600 pontos. No testador do gráfico, as setas para cima e para baixo "penduram" no ar, longe das barras.

Uma imagem de ecrã é anexada.

Tente testar a sua EA no servidor MQ. Alpari pode ainda ter o velho problema com dados históricos incorrectos.
Razão: