![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
graças à CB, eu deveria ter notado isso, então o erro estava certo no final (130).
Está funcionando então?
CB
Ei CB, ele está executando as negociações, mas eu ainda não fiz o detalhamento das negociações para ver se a lógica é seguida corretamente (parece ser à primeira vista). Portanto, esta é a hora que eu digo um enorme "OBRIGADO!!!!" :-)
Ainda é um caminho e tanto antes que a estratégia esteja funcionando de forma lucrativa, já que o código é apenas uma forma de automatizar as negociações, eu preciso fazer um pouco de trabalho no meu fim para refinar a estratégia em si. Parece que todo este esforço valeu a pena, mas ainda estou super intrigado com a codificação. Vou começar a fazer pequenos códigos por conta própria para exibir comentários nos meus gráficos, e mexer com eles, para me ajudar a aprender funções e outras coisas que você usou. Aprecio muito sua ajuda com este CB e sua paciência, já que eu continuava pedindo a mesma coisa e cometendo os mesmos erros repetidamente. Obrigado!
Isso será fácil.
Defina a si mesmo um parâmetro que é o número máximo de ordens abertas. Externalize-o se você precisar mudá-lo com freqüência.
Em seguida, implemente alterando apenas a função fnOrderDuplicate() - você não deve ter que alterar a função start(). Isso ajudará a manter a arquitetura existente do aplicativo.
CB
Ei CB, eu passei tipo 2 horas agora tentando fazer o que você pediu no posto acima, olhei outros códigos, documentação e nenhum progresso (eu simplesmente não sei o que fazer). Cara, eu continuo ficando preso assim, é tão irritante, mesmo com as coisas mais simples! deve haver uma maneira de aprender mais fácil do que como estou indo no momento, como eu sinto que não estou tendo nenhum progresso no aprendizado, vocês estão gentilmente escrevendo todo o código para mim
hey CB, alguma ajuda sobre o ponto acima, como consertar o código para fazer múltiplos negócios em 1 direção?
Basta mudar: if (iDuplicateOrders == 0) para: if (iDuplicateOrders<= iMaxDuplicateOrders)
CB
Hey CB, obrigado por isto. Com esta opção eu não posso regular quantas ordens abertas são permitidas em 1 direção (digamos que eu faço ordens iMaxDuplicateOrders externas = 4;) a ea vai executar 4 shorts, e não distribuir o parâmetro uniformemente (por exemplo: 2 shorts no máximo, 2 longs no máximo). Devo fazer um duplicado de bool fnOrderDuplicate (por exemplo: bool fnOrderDuplicateBuys, e bool fnOrderDuplicateSells) e depois me referir a cada um respectivamente em bool fnShouldWeTrade. Em minha opinião, o que você acha que isto poderia funcionar?
Hey CB, obrigado por isto. Com esta opção eu não posso regular quantas ordens abertas são permitidas em 1 direção (digamos que eu faço ordens iMaxDuplicateOrders externas = 4;) a ea vai executar 4 shorts, e não distribuir o parâmetro uniformemente (por exemplo: 2 shorts no máximo, 2 longs no máximo). Devo fazer um duplicado de bool fnOrderDuplicate (por exemplo: bool fnOrderDuplicateBuys, e bool fnOrderDuplicateSells) e depois me referir a cada um respectivamente em bool fnShouldWeTrade. Em minha opinião, o que você acha que isto poderia funcionar?
A definição de iMaxDuplicateOrders = 4 significará que o máximo serão 4 ordens em cada direção, pois verificamos a direção antes de incrementar o contador.
Crédito onde o crédito é devido. O contrário é devido neste caso. Desculpas - já estava decepcionado por não ter sido você mesmo a fazer a emenda. Tudo o que precisava ser feito era mudar o limite de uma única ordem para uma variável.
Fica claro pelas anotações que você está simplesmente recriando o código em prosa sem realmente entender a lógica.
CB