Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 608
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 primeiro problemaLotes/Prikup - Dplus deve ser normalizado. Leia com atenção. Se as variáveis são do tipo duplo, você ficará surpreso se 4/2 não der os 2 esperados, mas 1,99999999999999 - você provavelmente ainda não se deparou com este problema.
Portanto, se((OrderMagicNumber() == Magic)&&(OrderLots() <= Lots/Prikup - Dplus)) é falso, e posso dizer com alta probabilidade que é falso, então mesmo que você tenha cnt_OOO maior que 1 você tem a garantia de chegar a um bloco após a etiqueta 1. Então tudo funciona com você sem erros O problema está na lógica de processamento de dados.
O segundo problema é que você tem a garantia de processar apenas a última ordem da lista, então por que se preocupar com um loop?
Se você fizer isso somente para o testador, então escolhendo a última ordem da lista, você realmente receberá a ordem necessária, e nem sempre. No mercado real, especialmente se houver vários Expert Advisors em funcionamento, você tem a garantia de obter algo diferente do que você espera e o loop é garantido de quebrar após o primeiro passe usando o comando de quebra.
O primeiro problemaLotes/Prikup - Dplus deve ser normalizado. Leia com atenção. Se as variáveis são do tipo duplo, você ficará surpreso se 4/2 dá não o 2 esperado, mas 1,99999999999999 - você provavelmente ainda não se deparou com este problema.
Portanto, se((OrderMagicNumber() == Magic)&&(OrderLots() <= Lots/Prikup - Dplus)) é falso, e posso dizer com alta probabilidade que é falso, então mesmo que você tenha cnt_OOO maior que 1 você tem a garantia de chegar a um bloco após a etiqueta 1. Então tudo funciona com você sem erros O problema está na lógica de processamento de dados.
O segundo problema é que você tem a garantia de processar apenas a última ordem da lista, então por que se preocupar com um loop?
Se você fizer isso somente para o testador, então escolhendo a última ordem da lista, você realmente receberá a ordem necessária, e nem sempre. No mercado real, especialmente se houver vários Expert Advisors em funcionamento, é garantido que você obterá algo diferente do que você espera e o loop irá quebrar após a primeira passagem.
O primeiro problemaLotes/Prikup - Dplus deve ser normalizado. Se as variáveis forem do tipo duplo, você ficará surpreso se 4/2 não der os 2 esperados, mas 1,99999999999999 talvez você ainda não tenha enfrentado este problema
Portanto, se((OrderMagicNumber() == Magic)&&(OrderLots() <= Lots/Prikup - Dplus)) é falso, e posso dizer com alta probabilidade que é falso, então mesmo que você tenha cnt_OOO maior que 1 você tem a garantia de chegar a um bloco após a etiqueta 1. Então tudo funciona com você sem erros O problema está na lógica de processamento de dados.
O segundo problema é que você tem a garantia de processar apenas a última ordem da lista, então por que se preocupar com um loop?
Se você fizer isso somente para o testador, então escolhendo a última ordem da lista, você realmente receberá a ordem necessária, e nem sempre. No mercado real, especialmente se houver vários Expert Advisors em funcionamento, você tem a garantia de obter exatamente a ordem errada, e o loop irá quebrar no comando de quebra após o primeiro passe.
Quanto à normalização - obrigado, eu não tinha notado que ela estava faltando. Meu olho acabou de se perder na minha cabeça.
Sobre o loop for: há diferentes ordens no arquivo com diferentes feitiços e de diferentes pares. Eu passo por eles desde o final até encontrar aquele que preciso. Isto acontece no momento em que a EA não começou a trabalhar e novas encomendas que eu preciso aparecem na lista. O laço é interrompido não na primeira passagem, mas quando a ordem requerida é encontrada.
Temos que entender corretamente as funções Onlinit e OnDeinit. A necessidade deles é óbvia.
Nesta implementação, o laço não funciona. Executei seu código em diferentes variantes sempre um passe.
E agora está claro onde você cometeu um erro!
Comentei tudo o mais que pude! Experimente!
Nesta implementação, o laço não funciona. Executei seu código em diferentes variantes sempre um passe.
E agora está claro onde você cometeu um erro!
Comentei tudo o mais que pude! Experimente!
Obrigado, eu peguei. Aqui está uma solução para o erro de falta de normalização. Após um exame mais detalhado do algoritmo de recuperação, o Condition&&(OrderLots() <= Lots/Prikup - Dplus) parecia ser desnecessário.
Obrigado a todos vocês por seus bons conselhos
Aqui está o resultado dos testes. É mais ou menos o mesmo no real, ainda melhor. Esteja avisado com antecedência - isto não é um martingale. É ainda pior do que você pensa :=). Drawdown 1,3% lucro 507$
Se funcionar, e você não se importa de compartilhar o resultado - escreva uma solução para o problema
Não funcionou (usei a biblioteca php openssl). Resolveu o problema de uma maneira diferente.
Não funcionou (usei a biblioteca php openssl). Resolveu o problema de uma maneira diferente.
Então você acabou criptografando em MT e decodificando em .php ? Para que lado você usou?
Então você acabou criptografando em MT e decodificando em .php ? Que método você utilizou?
Não, eu lhe disse, não funcionou. Eu desisti disso. Para minha tarefa um haxixe era suficiente. Eu estava enviando e recebendo hash e de volta outro hash como uma confirmação.
Portanto, eu não consegui decifrá-la em PHP. Seria bom se alguém pudesse analisar seriamente esta questão. Talvez um desenvolvedor ou algo assim.
Não, eu escrevi que não funcionou. Eu desisti disso. Um hash foi suficiente para a minha tarefa. Eu enviei e recebi um hash e recebi outro hash como confirmação.
Portanto, eu não consegui decifrá-la em PHP. Seria bom se alguém pudesse analisar seriamente esta questão. Talvez um desenvolvedor ou algo assim.
Escreva sua própria função de criptografia em puch, e a porta para mq. Dessa forma, eles não decifrarão e funcionará 100% de qualquer maneira.
Se funcionar, e você não se importa de compartilhar o resultado, poste a solução
google "PKCS#7 padding format"