Erros, bugs, perguntas - página 2652
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
Porque é que estás a lutar? Porque não fazemos algo útil juntos?
Stanislav publicou um guião fantasticamente útil em KB. Cria facilmente arquivos com ficheiros MQL e recursos.
Tenho um EA com centenas de ficheiros mqh. Usando o script posso agora facilmente transferir a minha EA para o código fonte, controlar as versões e partilhar com outros.
Obrigado. Vou tentar decompor e verificar as opções com os eventos do gráfico.
Dê uma vista de olhos ao tópico, tratado recentemente em pormenor -https://www.mql5.com/ru/forum/327888
Anton Shpilyuk: 2) Циклом-перебором до тех пор пока дата не будет совпадать(минус - скорость работы) это так?
Sobre o tema "obter índice de barras por copiratos do tempo".
Horror, é mesmo! A tarefa era obter as barras de tempo M1 no indicador, embora o indicador em si funcione no período de tempo M5.
1. tivemos de inicializar o prazo desejado em OnCalculate() para carregá-lo antes do início do indicador (após a inicialização o FirstStartFlag = falso;). Lembre-se, nos indicadores, se não estiver carregada, dará -1 ou não totalmente carregada, por isso verificamos quanto está carregada, se não for suficiente, vamos para o início doregresso(0);
declarar taxas MqlRates de array[]; no início, ondecnt_bars*5; - recalcular o número de barras M5 em M1
Depois disso, actualizamos os dados históricos sobre M1 no corpo da função requerida sempre que efectuamos cálculos:
Além disso, no laço de barras M5, fazemos um laço embutido de procura do índice da barra M1 correspondente,sendo o tempo[s] a barra M5 actual do intervalo de tempo em cálculo:
E depois usamos este índice para encontrar os dados necessários da barra M1, no meu caso são taxas[IndexRates-5].tempo e taxas[IndexRates-k-4].fechar
Graças a Deus, este loop aninhado atravessa as barras rapidamente, mesmo numa história de 90 dias. Mas gostaria de poder pesquisar o índice de barras nas taxas de matriz[].tempo usando a função de pesquisa binária ArrayBsearch
Breve síntese do insecto:
Quando há herança de classe A <= B <= C <= D
e duas funções de sobrecarga são implementadas, por exemplo, uma com o parâmetro A* e outra com o parâmetro B*,
Ao passar um objecto C* ou D* para tal função, o MQL causa um erro de compilação de "chamada ambígua para função sobrecarregada".
Pergunta: Haverá uma solução mais sensata para este insecto idiota do que a apresentada acima?
Aqui vamos com mais "Porquê MQL != C++"...
Porquê comentar algo se não se chegou ao fundo da questão?
Porquê comentar algo se não se chegou ao fundo da questão?
Porque há muito tempo abri um tópico para tais esclarecimentos (porque ninguém como vós o poderia fazer sozinho).
E depois que a diferença de línguas não tem nada a ver com erros ou bugs!
O MQL está a desmoralizar-se pouco a pouco:
Breve síntese do insecto:
Quando há herança de classe A <= B <= C <= D
e duas funções são implementadas, por exemplo, uma para A* e uma para B*,
Ao passar um objecto C* ou D* para tal função, o MQL causa um erro de compilação de "chamada ambígua para função sobrecarregada".
Pergunta: Haverá uma solução mais sensata para este insecto idiota do que a acima referida?
Bem, o STL não é transposto um a um. É necessário analisar atentamente as especificidades aqui. A forma mais fácil é escrever toda a funcionalidade possível nos métodos abstractos numa classe base ou interface, e nos descendentes - ou implementação ou =delte. Neste caso, é necessário passar indicações ou referências do mesmo tipo para os métodos da classe base. Embora exista um mal inevitável sob a forma de uma mesa virtual, mas é melhor organizar a arquitectura de tal forma que não haja ramificações dispendiosas via dynamic_cast em qualquer lugar.