Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 245
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
No guião, eu fiz isto:
tempo=0
SymbolInfoTick na segunda-feira.
Pode verificá-lo com este código:
Mas é preciso carraças por símbolo.
Pode verificá-lo com este código:
Mas é preciso carraças por símbolo.
Sim,"SymbolInfoTick", sem verificação hoje.
Experimentei-o, não vai funcionar até que os carrapatos cheguem.
iask=0Sim, SymbolInfoTick, sem verificação hoje.
Experimentei-o, até os carrapatos dispararem nada vai funcionar.
iask=0Esta função é demasiado rápida.
Para medir o desempenho, é necessário aplicar várias chamadas num loop com um grande número de iterações e medir o tempo total de execução.
Tanto mais interessante, existe um código de exemplo. Estamos à espera do resultado.
Para verificar uma nova barra na EA utilizei funções baseadas em "CopyTime", "CopyRates", que encontrei nos fóruns. Cheguei à conclusão de que os seus cálculos levam muito tempo.
Aqui estão os dados de verificação (é digno de nota que a chamada do indicador leva 171 ms):
E aqui tenho uma ideia, e se eu tentar outra coisa. Por exemplo, "TimeCurrent".
Fez o seguinte código para optimização:
Fez o seguinte código para optimização no Expert Advisor:
Resultado em execução única sem verificação de uma nova barra, quando são recebidos valores indicadores a cada tick: 817,196 ms
Com verificação de um novo bar: 735 904 ms
A diferença não é particularmente impressionante, há algumas melhorias, mas não é suficiente.
Recebo o indicador da seguinte forma:
Tentei colocar código com chamadas de puxadores no bloco onde ocorre a verificação de nova barra, aparece um erro se eu
Coloco retorno não devolve nada, nenhum erro, mas a EA não funciona.
Suponho que a chamada hendle, se for possível e em geral todo o código principal excepto a variável estática deve ser colocada dentro da declaração condicional, verificando a existência de uma nova barra.
Se não me engano, li algures que mesmo que chamemos uma pega mas não solicitemos um indicador em amortecedores, ainda assim é calculado.
Quem pode sugerir como fazer um indicador que exibe os resultados de um buffer de fórmula única[i] = (1,3747-(MarketInfo("EURUSD", MODE_BID))+0,8835-(MarketInfo("USDCHF", MODE_BID)))*10000;
É necessário escrever um indicador personalizado. Para facilitar o processo - pegar num dos indicadores mais simples -iMa e reescrever um pouco. Aqui está outro tópico, onde se fala de MarketInfo. Escreva o código, pergunte, se algo não funcionar.
O que aconteceu às variáveis estáticas? Actualizou-se hoje a velha construção do terminal e agora há erros na compilação:
Os dados estáticos dos membros da classe devem agora ser colocados: