Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1862
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
Qual é a pergunta?)))
Aparentemente, você e Andrei deveriam parar de andar de trolha...
O ambiente é realmente hostil (como já mencionado acima). Eu vim aqui para discutir questões de MQLQL. Mas eu li algo que não é sobre a MQL. Do que você está falando?
Deixe que algum recém-chegado faça uma pergunta ou algo assim. Ou talvez ele tenha medo de...? Perca-se na briga entre você e Andrei... :)Boa tarde a todos.
Por favor, informe como escrever o código corretamente.
Eu fecho vários pedidos ao mesmo tempo em diferentes direções, diferentes pares de moedas, de acordo com certas condições. Mas às vezes o comando não é executado devido à empresa de corretagem e alguma parte das ordens permanece em aberto. Posso prescrever Sleep para cada pedido. Mas eu quero algo mais curto.
https://book.mql4.com/ru/trading/orderclose
Quando a condição de saída/encerramento for alcançada, devemos adicionar os carrapatos à matriz. Então, se a matriz não estiver vazia, o programa fará um loop através dela, chamando OrderClose para cada bilhete. Em seguida, verifique a existência de cada bilhete, e remova-o da lista. Repita estas ações a intervalos de 1-3 segundos até que a lista esteja vazia.
Olá.
Preciso calcular o lucro líquido do Expert Advisor no final do trabalho. Executo um loop em OrdersHistoryTotal() no OnDeinit e adiciono OrderProfit().
Lucro=Profit+OrderProfit();
Mas no final, o lucro é diferente daquele relatado no testador. Descobri que o valor do ponto difere em uma parte dos pedidos.
Qual é a razão para isto? A propagação é definida manualmente no testador.
Olá.
Preciso calcular o lucro líquido do Expert Advisor no final do trabalho. Executo um loop em OrdersHistoryTotal() no OnDeinit e adiciono OrderProfit().
Lucro=Profit+OrderProfit();
Mas no final, o lucro é diferente daquele relatado no testador. Descobri que o valor do ponto difere em uma parte dos pedidos.
Qual é a razão para isto? A propagação é definida manualmente no testador.
Troca e comissão foram esquecidas para serem adicionadas! O spread já é levado em conta, já que é sempre entre os preços de entrada e saída.
A troca e a comissão foram esquecidas para serem adicionadas! O spread já é levado em conta, pois está sempre entre o preço de entrada e o preço de saída.
Ah, é verdade! Muito obrigado!!!! )
Você pode me dizer qual é o problema, o código deve fechar as ordens e se elas estiverem faltando, deve abrir uma nova ordem.
Mas, por alguma razão, fecha apenas 1 pedido e pára até o próximo sinal.
2022.01.17 16:22:08.389 2022.01.04 08:00:00 e: Sinal 1.1322 < fechar 1.1304 ExistPosSell 0
2022.01.17 16:22:08.389 2022.01.04 08:00:00 e: Sinal 1.1322 > fechar 1.1304 ExistPosBuy 1
2022.01.17 16:22:08.366 2022.01.04 08:00:00 e: Sinal 1.1325 < fechar 1.1306 ExistPosSell 0
2022.01.17 16:22:08.366 2022.01.04 04 04:00:00 e: Sinal 1.1325 > fechar 1.1306 ExistPosBuy 1
2022.01.17 16:22:08.327 2022.01.04 2022.01.04 00:00:00 e: Sinal 1.1326 < fechar 1.1296 ExistPosSell 0
2022.01.17 16:22:08.327 2022.01.04 00:00:00 e: Sinal 1.1326 > fechar 1.1296 ExistPosBuy 1
2022.01.17 16:22:08.298 2022.01.03 20:00:00 e: Sinal 1.1328 < fechar 1.1283 ExistPosSell 0
2022.01.17 16:22:08.298 2022.01.03 20:00:00 e: fechar #1 comprar 0,01 EURUSD a 1.13598 ao preço 1.12831
2022.01.17 16:22:08.298 2022.01.03 20:00:00 e: Sinal 1.1328 > fechar 1.1283 ExistPosBuy 1
2022.01.17 16:22:08.190 2022.01.03 16:00:00 e: abrir #4 comprar 0,01 EURUSD em 1.13512 ok
2022.01.17 16:22:08.190 2022.01.03 16:00:00 e: Sinal 1.134 < fechar 1.135 ExistPosSell 0
2022.01.17 16:22:08.190 2022.01.03 16:00:00 e: Sinal 1.134 > fechar 1.135 ExistPosBuy 1
Recentemente escrevi um alerta:#18550. Mas pode ser melhorado adicionando a SendNotification:
Adicione as linhas, que destaquei ao código fonte, solte-o na pasta Indicadores e compile-o. Este indicador pode ser adicionado ao gráfico quantas vezes desejar e receber sinais quando diferentes níveis forem cruzados. O código foi finalizado on-line. O resultado não é verificado.