Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 1282
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
O problema é com a EA. A propósito, as regras de alojamento partilhado proíbem dlls.
Costumava funcionar muito bem. Devia tê-lo experimentado no alojamento gratuito. De qualquer forma, deu 15 libras para methaquotes ))))
Obrigado pela resposta!
A EA abre ordens de mercado e depois modifica-as, define TP e SL. Verificação no testador. A primeira encomenda é modificada utilizando os parâmetros necessários. A segunda ordem é aberta na mesma direcção que a primeira, mas a primeira ordem é modificada de acordo com os parâmetros da segunda e a segunda permanece com zero SL e TP. Neste caso, a condição é: se SL == 0 e TP == 0, a outra ordem é modificada porque tem parâmetros não zero. Porquê? Alterar a pesquisa da primeira para a última não altera nada.
Só mais uma coisa. No testador, se duas ordens forem abertas, o lucro da ordem é mostrado na coluna lucro, ou seja, o lucro da segunda ordem é mostrado na primeira ordem aberta e vice-versa. Porquê?
Há mais. Precisamos de traçar uma linha de tendência seguindo dois extremos. A linha é traçada mas é um toco de barra em barra. Não é uma linha de tendência, mas apenas um segmento enquanto gostaríamos de ver uma linha.
A EA abre ordens de mercado e depois modifica-as, define TP e SL. Verificação no testador. A primeira encomenda é modificada utilizando os parâmetros necessários. A segunda ordem é aberta na mesma direcção que a primeira, mas a primeira ordem é modificada de acordo com os parâmetros da segunda e a segunda permanece com zero SL e TP. Neste caso, a condição é: se SL == 0 e TP == 0, a outra ordem é modificada porque tem parâmetros não zero. Porquê? Alterar a pesquisa da primeira para a última não altera nada.
Só mais uma coisa. No testador, se duas ordens forem abertas, o lucro da ordem é mostrado na coluna lucro, ou seja, o lucro da segunda ordem é mostrado na primeira ordem aberta e vice-versa. Porquê?
Há mais. Precisamos de traçar uma linha de tendência seguindo dois extremos. A linha é traçada mas é um toco de barra em barra. Não é uma linha de tendência, apenas um segmento enquanto gostaríamos de ver uma linha.
1. Não ORDENS, mas POSIÇÕES.
2. Formule a sua pergunta - até agora, vi uma narrativa, e não vi uma pergunta ou um algoritmo para "como se gostaria que funcionasse".
1. Não ORDENADORES, mas POSIÇÕES
2. Formule a sua pergunta - até agora vi uma narrativa, e ainda não vi a pergunta e o algoritmo "como quer que funcione".
Sabe as suas posições, uma vez que está em mql5. E há uma posição no código. A questão é porque é que a primeira posição é modificada e não a última, apesar de estar especificada na condição:
É evidente que as posições estão lá, uma vez que está em mql5. E no código está a posição. A questão é porque é que a primeira posição é modificada e não a última, apesar de estar especificada na condição:
A questão é onde. Descrever o algoritmo "Quero que o algoritmo seja este ...".
A questão é onde???? Descrever o algoritmo "Quero que o algoritmo seja assim ...".
Quando a linha de tendência é quebrada e a barra fecha acima/abaixo, abrimos uma posição com zero SL e TP. Imediatamente após a abertura, são definidos os TP e SL necessários (a posição é modificada). Porquê, não é a última posição que é modificada, mas a anterior, violando a condição:
Está claro agora? Mesmo se introduzirmos o tempo de abertura de uma posição na condição, nada muda. Não há limite para o número de posições.
Quando a linha de tendência é quebrada e a barra fecha acima/abaixo, uma posição com SL e TP zero é aberta. Imediatamente após a abertura, são definidos os TP e SL necessários (a posição é modificada). Porquê, não é a última posição que é modificada, mas a anterior, violando a condição:
Está claro agora? Mesmo se introduzirmos o tempo de abertura de uma posição na condição, nada muda. Não há limite para o número de posições.
Tem a certeza de que no momento da modificação já existe uma nova posição? (Enviar uma ordem de comércio não é uma garantia de que a posição existe).
Ao introduzir a condição (SL == 0,0 e TP == 0,0) imprimir o bilhete de posição.
Tem a certeza de que a nova posição já está disponível no momento da modificação? (O envio de uma ordem comercial não é uma garantia de que existe uma posição).
Quando introduzir a condição (SL == 0,0 e TP == 0,0) imprima o bilhete de posição.
Sim, a segunda posição já lá está. Estou a ler o diário de bordo. O método Sell foi bem sucedido, código 10009. (Bilhete #3). E depois segue-se uma modificação, apenas da posição com bilhete #2, que também é executada com sucesso (modificação, embora, sublinho, de acordo com as condições não deveria acontecer, SL já não é 0!).
Já escreveu, tentou tanto por tempo de abertura, como por bilhete, sem sorte, modifica a posição anterior. Por exemplo:
Sim, a segunda posição já lá está. Estou a ler o diário de bordo. O método Sell foi bem sucedido, código 10009. (Bilhete #3). E depois segue-se a modificação, apenas a posição com o bilhete #2, que também é feita com sucesso.
Já escreveu, tentou tanto pela hora de abertura como por bilhete, de forma alguma, modificou a posição anterior. Por exemplo:
Isto é: Não se verifica o resultado da posição e nem sequer se quer imprimir o bilhete. Se for este o caso, anexar o código completo (anexar utilizando o botão )
Ou seja: Não verifica o resultado da posição e nem sequer quer imprimir o bilhete. Nesse caso, anexar o código completo (anexá-lo utilizando o botão )
Nem sequer quer imprimir o bilhete - não o percebo. Aqui está o extracto de registo.
2021.02.01 12:54:55.338 2018.01.02 17:00:00 venda no mercado 0.01 EURUSD (1.20384 / 1.20402)
2021.02.01 12:54:55.338 2018.01.02 17:00:00 negócio #2 vender 0.01 EURUSD a 1.20384 feito (com base no pedido #2)
2021.02.01 12:54:55.338 2018.01.02 17:00:00 negócio feito [#2 vender 0.01 EURUSD a 1.20384]
2021.02.01 12:54:55.338 2018.01.02 17:00:00 encomenda executada venda 0,01 a 1.20384 [#2 venda 0,01 EURUSD a 1.20384]
2021.02.01 12:54:55.344 2018.01.02 17:00:00 CTrade::OrderSend: venda no mercado 0,01 EURUSD [feito a 1,20384]
2021.02.01 12:54:55.344 2018.01.02 17:00:00 Método Sell() completado com sucesso. Código de retorno = 10009 (feito em 1.20384)
2021.02.01 12:54:55.344 2018.01.02 17:00:00 posição modificada [#2 venda 0.01 EURUSD 1.20384 sl: 1.20813 tp: 1.20013]
2021.02.01 12:54:55.346 2018.01.02 17:00:00 CTrade::OrderSend: modificar a posição #2 EURUSD (sl: 1.20813, tp: 1.20013) [feito]
2021.02.01 12:54:55.346 2018.01.02 17:00:00 PositionModify() método executado com sucesso. Código de retorno = 10009 (feito).
============================================================================================================== разделил, появление второй позиции
2021.02.01 12:55:48.819 2018.01.03 09:00:00 venda no mercado 0.01 EURUSD (1.20442 / 1.20460)
2021.02.01 12:55:48.819 2018.01.03 09:00:00 negócio #3 vender 0.01 EURUSD a 1.20442 feito (com base no pedido #3)
2021.02.01 12:55:48.819 2018.01.03 09:00:00 negócio feito [#3 vender 0,01 EURUSD a 1.20442]
2021.02.01 12:55:48.819 2018.01.03 09:00:00 encomenda executada venda 0.01 a 1.20442 [#3 venda 0.01 EURUSD a 1.20442]
2021.02.01 12:55:48.821 2018.01.03 09:00:00 CTrade::OrderSend: venda no mercado 0.01 EURUSD [feito a 1.20442]
2021.02.01 12:55:48.821 2018.01.03 09:00:00 Método Sell() executado com sucesso. Código de retorno = 10009 (feito em 1.20442)
====================================================================================================================== após abertura com sucesso da posição, modificação, mas encomenda anterior
2021.02.01 12:55:48.821 2018.01.03 09:00:00 posição modificada [#2 venda 0.01 EURUSD 1.20384 sl: 1.20663 tp: 1.20154]
2021.02.01 12:55:48.823 2018.01.03 09:00:00 CTrade::OrderSend: modificar a posição #2 EURUSD (sl: 1.20663, tp: 1.20154) [feito]
2021.02.01 12:55:48.823 2018.01.03 09:00:00 PositionModify() método executado com sucesso. Código de retorno = 10009 (feito)
Afixei o código completo de modificação de posição em Sell, com opções.