![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Ajude-me aqui
tentar multithreading mas crashes terminais
Escrevi uma dll C++.
Aqui está o código
E o guião
Se eu alterar o código desta dll para o seguinte
Tenho o número 10 no ecrã no lugar do comentário (deve ser) e depois recebo msgbox e 2 botões
o terminal não se despenhará enquanto eu não carregar num dos botões.
assim que a pressiono, aparece a mensagem explicando porque ocorreu o acidente e como repará-lo...
Cavalheiros, alguém correu multi-divisas no modo de visualização de preços de abertura com referência a outras TFs?
Aqui está o gráfico diário:
O terminal não cai até eu premir pelo menos um dos botões.
Assim que a pressiono, aparece a mensagem sobre encontrar a causa do acidente e como repará-la...
Note que o script MQL5 é automaticamente descarregado após a conclusão do OnStart, incluindo a sua DLL.
Ou seja, criou-se um fio com uma janela modal pendurada na memória, e o banco foi derrubado por baixo dele. Depois de fechar a janela modal, volta para lado nenhum.
No seu caso, precisa de esperar explicitamente até que todos os tópicos DLL sejam terminados de uma forma normal e garantida antes de terminar o script MQL5.
Note que o script MQL5 é automaticamente descarregado após a conclusão do OnStart, incluindo a sua DLL.
Ou seja, há um fio com uma janela modal pendurada na memória, e um banco foi derrubado por baixo dele. Depois de a janela modal estar fechada, volta para lado nenhum.
No seu caso, antes de terminar o script MQL5, precisa de esperar explicitamente que todos os fios DLL terminem normalmente e que lhe seja garantido.
Se não houver uma única perda numa série de ofícios, o FACTOR DE LUCRO e a RÁCIO SHARPE tomam alguns valores irrealistas/extremos. É um erro ou tais momentos devem ser considerados e, de alguma forma, processados? Como fazê-lo correctamente?
EMPTY_VALUE (o mesmo que DBL_MAX)
É claro que se pode aplicar alguma nan, mas depois não se pode fazer comparações.
EMPTY_VALUE (o mesmo que DBL_MAX)
É claro que se pode usar alguma nan, mas depois não se pode fazer comparações.
Se não houver perda numa série de ofícios, os valores de FACTOR DE LUCRO e RÁCIO SHARPE tomam alguns valores irrealistas/extremos. É um erro ou tais momentos devem ser considerados e, de alguma forma, processados? Como fazê-lo correctamente?
Aparentemente existe um erro, porque o Factor de Lucro não deve ser calculado com valores negativos, bem como, neste caso, com ausência de negócios negativos.
Simplesmente, se tomarmos a fórmula globalmente (Lucro Bruto/Perda Bruta), então na ausência de negócios negativos obtemos divisão por zero, e quando a Perda Bruta é maior obtemos número inferior a 1, o que também não é correcto para uma análise mais aprofundada, porque a diferença entre dois factores de lucro positivo será muitas vezes mais do que a diferença entre dois convencionalmente negativos.
Aparentemente existe um erro, uma vez que o factor de lucro não deve ser calculado com valores negativos, e como neste caso, sem negócios negativos.
Já foi dito dois postos acima que isto não é um erro, mas um sinal de impossibilidade de calcular este indicador.
Embora se possa fazer um truque, a cada cálculo adiciona-se 1 cêntimo tanto ao Porofit Bruto como à Perda Bruta.
Então a fórmula forward seria ((Gross Porofit+0.01)/(Gross Loss+0.01))
A fórmula para calcular o valor recíproco (quando a perda bruta é maior)
A fazer -((Perda bruta+0,01)/(Porofit bruto+0,01))
Bem, é evidente que a Perda Bruta e o Gross Porofit são módulos.
Então a linha será simétrica de ambos os lados, o que é bom para a AG e não haverá nenhuma situação não calculável.
Mas será muito provavelmente útil não para si, mas para as pessoas que estão a escrever os seus próprios critérios de optimização.