Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 612
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
Escrevi código que quando qualquer ordem fecha todas as outras ordens pendentes, mas o problema é que escrevi 4 ordens 2, 3, 4, 5. Portanto, quando as próximas ordens pendentes 6, 7, 8, etc. forem abertas, elas não devem ser fechadas. Os números de ordens destacados em vermelho devem ser alterados para que todas as ordens pendentes sejam fechadas.
início nulo(){
//----
duplo Take1 = Ask+20 *Ponto;
double Take2 = Ask+0 *Ponto;
double Take3 = Ask-20 *Ponto;
double Take4 = Ask-40 *Ponto;
double Take5 = Ask-60 *Ponto;
parada dupla = Bid-StopLoss *Ponto;
if(OrdersTotal()==0){
OrderSend(Symbol(),0,0.01,Ask,30,Stop,Take1,",0,0,CLR_NONE);
OrderSend(Symbol(),2,0.02,Ask-20*Point,30,Stop,Take2,"",0,0,CLR_NONE);
OrderSend(Symbol(),2,0.04,Ask-40*Point,30,Stop,Take3,",0,0,CLR_NONE);
OrderSend(Symbol(),2,0.08,Ask-60*Point,30,Stop,Take4,",0,0,CLR_NONE);
OrderSend(Symbol(),2,0.16,Ask-80*Point,30,Stop,Take5,"",0,0,CLR_NONE);
}
if(OrdensTotal()==4)
{
OrderDelete(2);
}
if(OrdersTotal()==3)
{
OrderDelete(3);
}
if(OrdersTotal()==2)
{
OrderDelete(4);
}
if(OrdersTotal()==1)
{
OrderDelete(5);
retorno(0);
}
Escrevi código que quando qualquer ordem fecha todas as outras ordens pendentes, mas o problema é que escrevi 4 ordens 2, 3, 4, 5. Portanto, quando as próximas ordens pendentes 6, 7, 8, etc. forem abertas, elas não devem ser fechadas. Os números de ordem destacados em vermelho devem ser mudados para aquelas ordens que todas as ordens pendentes serão fechadas.
Primeiro, verificamos no loop se a posição foi fechada recentemente ou não, para o que precisaremos de OrderHistoryTotal. Onde verificamos o tempo de fechamento da posição OrderCloseTime, se for maior do que o último da variável, então fazemos loop através de todas as ordens abertasTotal. E feche-os.
P.S. Insira o código usando Alt+S ou o
Por exemplo, este
aqui está a condição if(OrdersTotal()==0). mas o que devemos escrever a condição se não houver baías?
Se (OP_BUY==0)
Se (OP_BUY==0)