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
No meu caso foi "<=", mas os valores estocásticos mudam muito fortemente mesmo a cada tick - há mais quatro casas decimais, ou seja, em um tick os valores podem mudar de (por exemplo) 75.0003 para 74.0900.
Portanto, o sinal "=" pode ser omitido sem nenhum medo. Mas é claro, para não pensar - acho que vou pensar.
Tente adicionar Imprimir antes do OrderClose e veja se o sinal de fechamento aparece.
Feito. Adicionado. Não, .....! O Aviso de Encerramento não aparece no diário de bordo.
Eu não entendo! Coloquei este bloco em outro EA. E um terceiro. ... . Mas a situação não mudou! As posições não são fechadas. Embora raramente, raramente (uma ou duas vezes na história = 1 ano) e pisca um triângulo verde próximo na carta visual. Mas não deveria ser assim! As posições, a julgar pelo código, devem fechar como um vaivém de máquina de costura!
O indicador NOnLagMA é carregado
Talvez este bloco não deva funcionar? Afinal de contas, temos paradas no código quando abrimos: - stoploss e takeprofit. E talvez todas as outras condições de fechamento sejam ignoradas por este motivo?
ticket=OrderSend(Symbol(),0,Lots,Ask,Slippage,Bid-SL_long*Point,Ask+TP_long*Point, NULL,MagicNum, 0,CLR_NONE);
Você terá que lidar com isso de alguma outra forma.
Eu não entendo nada!
Você deveria estar mais atento).
Aqui está a função start() da variante de teste (sem SL e TP, com mensagens corretas e sem deslizamento desnecessário):
Mas eu não usaria este EA em uma conta real se eu fosse você. Deve ser colocado em ordem, ou em "prontidão", se você quiser ;)
Sim, é claro. Obrigado por sua ajuda! Entendo seu comentário sobre meu erro.
E tomaram nota de suas recomendações. Ainda há um longo caminho a percorrer antes da verdadeira comercialização...
p.s/ Tudo está funcionando.... ! E como funcionou!
Eu não olhei para o código.
Mas uma coisa é certa: em vez de "if(Stochast_1>75 && Stochast_0<75)" eu faria "if(Stochast_1>75 && Stochast_0<=75)".
Uma maneira melhor seria: if(Stochast_1-75.0>0 && Stochast_0-75.0<=0) para evitar conversões desnecessárias dos tipos int e duplo.
E como evitar int e dobrar desnecessariamente. ? Eu não consigo entender. Além disso, em vez de números, podemos usar parâmetros externos int Up_lim = 80; extern int Low_lim = 20;
Em primeiro lugar, é incorreto comparar Stochast_ real e integer 75, e em segundo lugar, é mais correto comparar sua diferença com zero.
Comparação de números reais'.