Erros, bugs, perguntas - página 2575
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
A memória é atribuída no código mql como
para fora e passado como um ponteiro para a memória atribuída, uma vez que a string em mql é wichar_t* em dll
Oh, que confusão...
Não conheço a implementação da string, só posso adivinhar, mas a julgar pelo erro, a string out cria um ponteiro na pilha que é inicializado a 0x0000000000 e desreferencia-se com segurança um ponteiro nulo na dll.
É tão complicado...
Não conheço a implementação da string, só posso adivinhar, mas a julgar pelo erro, a string out cria um ponteiro na pilha que é inicializado a 0x0000000000 e desreferencia-se com segurança um ponteiro nulo na dll.
A memória é atribuída no código mql como
para fora e é passado como um ponteiro para a memória alocada, como string em mql é wchar_t* em dll
Escavar na própria dll, algo está muito provavelmente lá. Ultimamente, tenho alimentado dados de mql para aplicações C++/C# de terceiros, sem qualquer problema.
Escave na própria dll, provavelmente há lá alguma coisa. Ultimamente, tenho alimentado dados de mql para aplicações C++/C# de terceiros, sem qualquer problema.
O dll é muito simples, não é necessário para a clareza, a ideia em si é mostrada.
Envie os dados do resultado para a consola, todas as linhas na consola são claras, sem lacunas e sem falhas.
Passo o resultado ao mql através do wcscpy(out, data), mas agora tenho problemas.
Se eu passar um fio de cheque escrito por mim mesmo.
Não tenho problemas por qualquer razão.
Hm, o tipo de fio em mql considera terminal null wchar_t * ??
Sugestão para expandir um pouco a possibilidade de evento OnTimer()
No momento em que o evento OnTimer() começa a ocorrer quando a periodicidade da chamada é definida com a função EventSetTimer().
Acontece que é o seguinte Conselheiro Especialista:
Produz aproximadamente o seguinte:
No entanto, é frequentemente suficiente verificar a ocorrência do sinal após o aparecimento de outro bar.
Por exemplo, acontece que por exemplo para PERIOD_M15, o bar aparece às 00:15:00, mas o cheque do Consultor Especialista só pode ser verificado às 00:29:59.
Assim, para resultados mais ou menos estáveis e iguais, independentemente da hora de início do Expert Advisor,
terá de definir um temporizador para um intervalo de tempo mais curto ou utilizar adicionalmente OnTick().
Como as experiências demonstraram, reduz drasticamente a velocidade dos testes no testador de estratégias.
Sugestão:
Adicionar uma função que permita definir o tempo inicial a partir do qual o evento OnTimer é contado.
Por exemplo, alguma função EventSetTimerFrom(const datetime SinceDT) que lhe permitiria definir a chamada do temporizador alguns segundos após uma nova barra.
O dll é simples, o material extra foi removido para maior clareza, a ideia é mostrada.
Coloquei o resultado na consola, todas as linhas estão bem, sem lacunas, sem falhas.
Passo o resultado ao mql através do wcscpy(out, data), mas agora tenho problemas.
Mas se eu passar um fio de cheque escrito à mão.
Não tenho problemas por qualquer razão.
Hm, o tipo de fio em mql considera terminal null wchar_t * ??
Mas esta função funciona.
Mas não é bem assim, parece haver um mau carácter no fim da corda, aparece um parêntese extra } e depois desaparece.
wcslen(data)+1
wcslen(dados)+2
não ajudou,
e é analisado sem erros, sem fugas de informação.
nenhuma ideia do comprimento ou tamanho de um carácter em mql-looking string
há certamente um erro no tipo de cordel.
E num artigo de há muito tempo no parágrafo 3.3 Passando e modificando as cordas, o exemplo mais provável é que tenha cometido um erro.
Talvez algures no código terminal, a conversão de cordas mql funcione da mesma maneira, sem um ponteiro.
definir o tempo inicial a partir do qual o evento OnTimer é contado para baixo.
Pode fazê-lo você mesmo através da chamada repetida do EventSetTimer. Note-se que na conta (não no Testador) o temporizador flutua e necessita de ajustes constantes.
Pode fazê-lo você mesmo através de repetidas chamadas para EventSetTimer. Tenha em mente que na conta (não no Testador) o temporizador flutua e necessita de ajustes constantes.
Obrigado, coisa útil!
Muito estranho, claro, que um ponto tão simples não seja tido em conta no terminal "out of the box".
Mas esta função funciona.
Mas parece ser um pouco estranho, um parêntese extra } aparece ou desaparece no fim da corda.
wcslen(data)+1
wcslen(dados)+2
não ajudou,
e é analisado sem erros, sem fugas de informação.
nenhuma ideia do comprimento ou tamanho de um carácter em mql-looking string
há certamente um erro no tipo de cordel.
E num artigo de há muito tempo no parágrafo 3.3 Passando e modificando as cordas, o exemplo mais provável é que tenha cometido um erro.
Talvez algures no código terminal, a conversão de cordas mql funcione da mesma maneira, sem o ponteiro.
O dll é simples, foi removido para maior clareza e a ideia é mostrada
Os seus exemplos são engraçados, removeu tudo, deixou UB (modificação dos literais das cordas), e todos têm de se telepatizar. Se espera obter alguns conselhos inteligentes, dê um código de trabalho mínimo (em dois lados), caso contrário é apenas lixo.