[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 514
![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
Olá,
Por favor, tenha esta pergunta sobre a EA:
Tenho uma abertura de pedido em um baloiço, por exemplo, se MA_1 > MA_2 então compramos. Mas quando eu saio do comércio, esta regra é acionada novamente.
Como posso dizer ao EA para abrir uma posição somente se o preço não tiver se afastado mais de 4 barras de MA_2?
Obrigado!
Se algo estiver errado ou errado no lugar, não me chute. Este é meu primeiro post neste enorme fórum.
Obrigado, estou apenas nesse nível de conhecimento. Há o mesmo problema com o roteiro no exemplo. É inconveniente quando se liga o roteiro e ele entra no final da tendência.
Como dizer ao roteiro para acionar somente se houver menos de 4 barras após o cruzamento de duas barras?
Obrigado, estou apenas nesse nível de conhecimento. Há o mesmo problema com o roteiro no exemplo. É inconveniente quando se liga o roteiro e ele entra no final da tendência.
Como dizer ao roteiro para acionar somente se houver menos de 4 barras após o cruzamento de duas barras?
Pessoal, eu já perguntei aqui como fazer um pedido aberto somente quando uma vela nova aparece. Estou usando um cronograma D1.
Decidi colocar pedidos pendentes em certos níveis (buyystop_lvl e selltop_lvl), com base na análise dos castiçais anteriores.
Não importa se as ordens pendentes foram ativadas ou não, se foram ativadas, então as ordens de mercado também devem ser fechadas. Em no máximo 2 pedidos, compra e vende em cima.
Eis o que eu escrevi:
1. Primeiro verifico se as ordens de mercado ou as ordens pendentes estão ativas e, se estiverem, as excluo/encerro.
2. Em seguida, coloco pedidos pendentes por níveis calculados:
3. Minha função NewBar implementada (NewBar):
Como resultado, quando uma nova vela se abre, os pedidos são colocados e imediatamente apagados. Os pedidos são feitos e imediatamente eliminados.
Quando comentei o código do ponto (1), não consegui que ele abrisse ordens no testador, mas as ordens não abriram, ou seja, as ordens não se tornaram ordens de mercado.
Você pode me dizer qual pode ser o problema?
Esta função NewBar() não pode ser usada duas vezes seguidas
Algo como isto é melhor:
bool newBar = NewBar();
// e ainda no texto, substituindo NewBar() por NewBar()
E em geral, você joga fora a NewBar, olha a hora da última abertura do pedido e a compara com a Time[0]. Se for mais do que isso, o caso é seu, você pode apagar tudo.
Sim, acho que vou ter que fazer isso. Obrigado por isso :)
Cara, eu ainda não entendo como fazer isso. Preciso que o código com exclusão e fechamento dos pedidos seja acionado somente no próximo castiçal. Mas outros castiçais também devem ser abertos neste aqui. Isto significa que o programa entrará novamente na eliminação. É necessário algum tipo de bandeira, mas meu cérebro já está suando para entender como fazer isso :)
Leia atentamente a função OrderSend(). Ele tem um parâmetro para as ordens pendentes:
Se você abrir uma ordem pendente no início do dia atual = iTime (Symbol(), PERÍODO_D1, 0), acrescente mais um dia a este horário - 1440 * 60. Se as ordens pendentes não forem acionadas, elas serão apagadas por elas mesmas no início do dia seguinte.
P.S. O fim da barra atual também pode ser controlado através da função iBarShift():
ou qualquer outro "movimento do corpo" nesta condição, rastreando o OrderTicket() da última ordem.