Quem pode ajudar com o robô, por que ele não está funcionando?

 

Olá a todos, quem pode ajudar com o robô, por que ele não funciona?

lotes duplos externos = 0.01;
duplo TPforSymbol = 0;
duplo SLforSymbol = 0;

int last_bar= 0;

int start(){
if (last_bar == Bars) return(0);
last_bar = Bars;
if(OrdersTotal() == 0){
OrderSend(Symbol(), OP_BUY, lots ,Ask, 3, Bid - SLforSymbol * Point, Ask + TPforSymbol * Point, 0, Blue);
OrderSend(Symbol(), OP_SELL, lots ,Bid, 3, Ask+ SLforSymbol * Point, Bid - TPforSymbol * Point, 0, Red);
}
return(0);
}

 
Indica um erro de OrderSend(Symbol()
 
GIM:
Mostra erro OrdemEnviar(Símbolo()

1. Procure o código de erro no diário de bordo.

2. duplo TPforSymbol = 0;

duplo SLforSymbol = 0;

variáveis igual a zero.

 
O fato de as variáveis serem zero é uma restrição de lucro e prejuízo, eu não acho que isso importa aqui....
 
GIM:
O fato de as variáveis serem zero é uma restrição de lucro e prejuízo, eu não acho que isso importa aqui....
O erro deve ser 130? É importante, veja, você está tentando abrir uma ordem com valores de TP e SL iguais a asc e lance
 
GIM:

Olá a todos, quem pode ajudar com o robô, por que ele não funciona?

lotes duplos externos = 0,01;
duplo TPforSymbol = 0;
duplo SLforSymbol = 0;

int last_bar = 0;

int start(){
se (último_bar == Barras) retornar(0);
last_bar = Bars;
se (OrdersTotal() == 0){
OrderSend(Symbol(), OP_BUY, lots ,Ask, 3, Bid - SLforSymbol * Point, Ask + TPforSymbol * Point, 0, Blue);
OrderSend(Symbol(), OP_SELL, lots ,Bid, 3, Ask + SLforSymbol * Ponto, Bid - TPforSymbol * Ponto, 0, Vermelho);
}
retorno(0);
}

Você não pode, pelas regras do idioma, engolir parâmetros com valores padrão. Se você tiver que definir a cor das setas, então escreva todos os parâmetros à esquerda da cor. B slippage 3 não é suficiente, se for de 5 dígitos, haverá solicitações, eu escrevi 50. E SL e TP devem ser definidos para valores diferentes de zero.Aleksey Vakhrushev já escreveu sobre isso.

OrderSend(Symbol(), OP_BUY, lots ,Ask, 50, Bid - SLforSymbol * Point, Ask + TPforSymbol * Point,  "", 1, 0, clr Blue);
 

direito =)

um pedido tenta colocar uma parada e uma parada no mesmo lugar que o preço - o que é impossível

- ou faça como abaixo se você quiser 0

ou especificarTPforSymbol, SLforSymbol

OrderSend(Symbol(), OP_BUY, lots ,Ask, 50,0, 0,  "", 1, 0, clrBlue);
 
GIM:

Olá a todos, quem pode ajudar com o robô, por que ele não está funcionando?


Você precisa da função de abertura correta ou quer descobrir o motivo dos erros?
 
Vladimir Zubov:
Você quer que a função de abertura seja correta ou quer entender por que há erros?
Você quer que ele abra negócios.
 
GIM:
Deve abrir negócios.

Lidar com as variáveis

duplo TPforSymbol = 0;

duplo SLforSymbol = 0;

Com este valor de variáveis, você receberá um erro.

Alexey Volchanskiy escreveu que você não especifica todos os parâmetros para a função OrderSend().

 
lotes duplos externos = 0.01;
double TPforSymbol = 100;
double SLforSymbol = 1000;
extern int stop_loss = 76;
extern int take_profit = 750;

intlast_bar = 0;

int start(){
if (last_bar == Bars) return(0);
last_bar = Bars;
if(OrderTotal() == 0){
OrderSend(Symbol(), OP_BUY, lots ,Ask, 50, Bid - stop_loss * Point, Ask + take_profit * Point, "", 1, 0, clrBlue);
OrderSend(Symbol(), OP_SELL, lots ,Bid, 50, Ask+ stop_loss * Point, Bid - take_profit * Point, "", 1, 0, clrRed);
}
return(0);

}


Consertado desta forma, mas ainda está errado.....

Razão: