[Arquivo!] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por ela. Não poderia ir a lugar algum sem você - 2. - página 394
Tudo bem!!!! Se não houver ordens desejadas, X permanece igual a zero com o número mágico desejado e as ordens serão abertas. Se houver alguma, X é igual a 2 e não serão abertas mais ordens.
no primeiro loop for(int Uy=OrdersTotal();Uy<=-1;Uy--) Então o que, bem o ciclo corre mais por esperança, então eu o mudei para 0, não há mudança no trabalho, estes não são erros, não mudam, peço desculpas.
Inseriu um alerta para acompanhar o trabalho do ciclo. Eu não entendo nada. A variável, que está no loop, apenas uma vez, no início, com valor 0, e depois vender stop 0 e comprar stop 130, o que também é surpreendente, elas são simétricas!!!! E depois de 2,5 m da inscrição já diz erro 148 (o corretor proíbe muitos pedidos)
Tudo bem!!!! Se não houver ordens desejadas, X permanece igual a zero com o número mágico desejado e as ordens serão abertas. Se houver alguma, X é igual a 2 e não serão abertas mais ordens.
Então, qual é o problema mais?
- Logo no primeiro momento, você seleciona uma ordem que não existe usando a função OrderSelect.
no primeiro loop for(int Uy=OrdersTotal();Uy<=-1;Uy--) Então, o loop corre mais por esperança, então eu o mudei para 0, não há mudança no trabalho, estes não são erros, não mudam, peço desculpas.
Como pode funcionar por mais tempo do que ?
Não importa quantas ordens estejam abertas, a condição Uy<=-1não é cumprida imediatamente porque o número de ordens é maior ou igual a zero imediatamente
Se os carrapatos estão funcionando, o ícone da EA está "sorrindo", a EA deve fazer acordos (ou seja, condições para que ele apareça), mas ele não os faz, então é necessário depurar.
Organize o comando preço() no código da EA, especialmente nos lugares onde ele é comparado e veja o que está sendo comparado exatamente. Talvez você tenha uma comparação sobre a igualdade das variáveis com tipo duplo e o resultado da comparação é sempre falso, enquanto você assume que as variáveis são iguais.
Muito obrigado pelas dicas!!! Já resolvi meu problema. Descobri que o corretor que eu precisava ao colocar uma ordem de mercado, ou seja, de acordo com as condições, não tem a capacidade de colocar níveis de parada ao mesmo tempo. Agora os pedidos são feitos sem nenhum nível de parada e eu estabeleço níveis de parada imediatamente após cada pedido. Tenho um problema com isso: apenas uma pequena parte dos pedidos é modificada, enquanto a maioria dos pedidos mostra os seguintes resultados na seção "Consultores Especialistas":
2011.05.19 09:46:55 Spacenewcomer-Svecha CLM1,M15: aberto #30906670 venda 0.01 CLM1 a 99.79 ok 2011.05.19 09:46:55 Spacenewcomer-Svecha CLM1,M15: bilhete inválido para a função OrderModify 2011.05.19 09:55:40 Spacenewcomer-Svecha ESM1,M5: abrir #30906787 comprar 0.01 ESM1 a 1337.50 ok
2011.05.19 10:00:03 Spacenewcomer-Svecha EURUSD,M15: bilhete inválido para a função OrderModify
Caros programadores, estou pedindo uma sugestão sobre como melhorar o Expert Advisor: Há uma posição aberta e depois de algum tempo há um sinal de reabertura na mesma direção. Quero preencher o segundo sinal somente se a primeira encomenda já estiver em lucro. Eu implementei isto comparando o tamanho do saldo e o patrimônio líquido (se o patrimônio líquido for maior que o saldo, a ordem aberta está no positivo). Você pode sugerir um código para determinar o lucro/perda na última ordem em aberto que tiver?
Tudo bem!!!! Se não houver ordens desejadas, X permanece igual a zero com o número mágico desejado e as ordens serão abertas. Se houver alguma, X é igual a 2 e não serão abertas mais ordens.
Então, qual é o problema mais?
- Logo no primeiro momento, você seleciona uma ordem que não existe usando a função OrderSelect.
no primeiro loop for(int Uy=OrdersTotal();Uy<=-1;Uy--) Então o que, bem o ciclo corre mais por esperança, então eu o mudei para 0, não há mudança no trabalho, estes não são erros, não mudam, peço desculpas.
Que bobagem. E a princípio, sempre que a data não está correta, cerca de 49 vezes. Sim!!!! X permanece sempre 0 e escreve bem. Em 2 ordens.
Tudo bem!!!! Se não houver ordens desejadas, X permanece igual a zero com o número mágico desejado e as ordens serão abertas. Se houver alguma, X é igual a 2 e não serão abertas mais ordens.
Então, qual é o problema mais?
- Logo no primeiro momento, você seleciona uma ordem que não existe usando a função OrderSelect.
no primeiro loop for(int Uy=OrdersTotal();Uy<=-1;Uy--) Então, o loop corre mais por esperança, então eu o mudei para 0, não há mudança no trabalho, estes não são erros, não mudam, peço desculpas.
Como pode funcionar por mais tempo do que ?
Não importa quantas ordens estejam abertas, a condição Uy<=-1 não é cumprida imediatamente porque o número de ordens é maior ou igual a zero imediatamente
Ajude-me a encontrar o erro,
Obrigado
Se os carrapatos estão funcionando, o ícone da EA está "sorrindo", a EA deve fazer acordos (ou seja, condições para que ele apareça), mas ele não os faz, então é necessário depurar.
Organize o comando preço() no código da EA, especialmente nos lugares onde ele é comparado e veja o que está sendo comparado exatamente. Talvez você tenha uma comparação sobre a igualdade das variáveis com tipo duplo e o resultado da comparação é sempre falso, enquanto você assume que as variáveis são iguais.
Muito obrigado pelas dicas!!! Já resolvi meu problema. Descobri que o corretor que eu precisava ao colocar uma ordem de mercado, ou seja, de acordo com as condições, não tem a capacidade de colocar níveis de parada ao mesmo tempo. Agora os pedidos são feitos sem nenhum nível de parada e eu estabeleço níveis de parada imediatamente após cada pedido. Tenho um problema com isso: apenas uma pequena parte dos pedidos é modificada, enquanto a maioria dos pedidos mostra os seguintes resultados na seção "Consultores Especialistas":
2011.05.19 09:46:55 Spacenewcomer-Svecha CLM1,M15: aberto #30906670 venda 0.01 CLM1 a 99.79 ok2011.05.19 09:46:55 Spacenewcomer-Svecha CLM1,M15: bilhete inválido para a função OrderModify
2011.05.19 09:55:40 Spacenewcomer-Svecha ESM1,M5: abrir #30906787 comprar 0.01 ESM1 a 1337.50 ok
2011.05.19 10:00:03 Spacenewcomer-Svecha EURUSD,M15: bilhete inválido para a função OrderModify
Aqui está o texto do código:
{res=OrderSend(Symbol(),OP_SELLL,0.01,Bid,3,0,0, "basic",_MagicNumber,0,Red);
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+StopLoss*Point,Ask-TakeProfit*Point,0,Red);
retorno(0);
}
E é a primeira ordem que é modificada após o início do Expert Advisor!
Naturalmente, eu me enganei na modificação da ordem no código. Por favor, avise!
Você pode sugerir um código para determinar o lucro/perda na última ordem em aberto que tiver?
Medida em pips, a mais confiável.