[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No podría ir a ningún sitio sin ti - 2. - página 132
¿Por qué cuando adjunto este código se abre un número increíblemente grande de operaciones?
No puede ser, porque en el código:
double history(){
int time = 0;double profit = 0;//обьявляем необходимые нам переменные куда мы положим интересующие нас характеристики ордераfor(int i = OrdersHistoryTotal();i>=0;i--){// Перебираем все закрытые ордераif(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)){//если ордер с таким номером (i) в списке закрытых ордеров есть ( не путать с тикетом)if(OrderSymbol() == Symbol()){//если выбранный ордер был открыт по нашей валютной пареif(time<OrderCloseTime()){//(сравниваем его с хранящимся в пероеменной time)
time=OrderCloseTime();//если время закрытия ордера больше - ложим его в переменную
profit=OrderProfit();//и заодно запоминаем прибыль ордера
}
}
}
}
//по окончании этой процедуры в наших переменных будут сидет наибольшее время закрытия, и его профит. Или по нулям если история чистая.//теперь мы можем выставлять условия в зависимости от результата процедурыif(profit == 0 &&time == 0){//действия если история чистая
}
if(profit >= 0){//действия если последний ордер был прибыльным, или нулевым
}
if(profit < 0 ){//действия если последний ордер был убыточным
}
return(0);
}
Para iniciar sesión y usar el sitio web MQL5.com es necesario permitir el uso de Сookies.
Por favor, active este ajuste en su navegador, de lo contrario, no podrá iniciar sesión.
Ha iniciado sesión. La autenticación de dos factores se ha desactivado. Vuelva a configurarla y escanee un nuevo código QR, o continúe con la autenticación de dos factores desactivada.
Entonces supongo que eso es todo:
¿Es eso cierto?
Ahora lo entiendo.
Gracias.
no existe tal función incorporada, tienes que escribirla tú mismo, mostré un ejemplo aquí:https://www.mql5.com/ru/forum/131277/page113
gracias
No existe tal función incorporada, tienes que escribirla tú mismo, mostré un ejemplo aquí:https://www.mql5.com/ru/forum/131277/page113
Y cómo prescribir que el Asesor Experto tenga sólo esta condición para abrir operaciones.
alsu:
Entonces no se necesita size-1, ya que de lo contrario la primera ejecución indexará 0-1 y el tamaño del array será cero.
Entonces debería ser así:
Entonces no necesitas size-1, de lo contrario la indexación será 0-1 y el tamaño del array será cero en la primera ejecución.
Entonces es así:
Hay una inicialización al principio del programa int size=1;
no existe tal función incorporada, tienes que escribirla tú mismo, mostré un ejemplo aquí:https://www.mql5.com/ru/forum/131277/page113
¿Por qué cuando adjunto este código se abre un número increíblemente grande de operaciones?
Hay una inicialización al principio del programa int size=1;
¿Por qué cuando adjunto este código se abre un número increíblemente grande de operaciones?
No puede ser, porque en el código:
no hay intercambios https://book.mql4.com/ru/trading/ordersend
no puede ser el mismo porque en el código
no hay intercambios https://book.mql4.com/ru/trading/ordersend
He insertado
if(profit == 0 &&time == 0){//acciones si el historial está limpio
OrderSend(Symbol(),OP_SELL,0.1,Bid,3,0,Bid-6*Point);
volver;
}
if(profit >= 0){// acción si el último pedido fue rentable, o cero
OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Bid-12*Point,Bid+12*Point);
volver;
}
if(profit < 0 ){/acciones if(profit < 0 ){/acciones si el último pedido no fue rentable
OrderSend(Symbol(),OP_SELL,0.1,Bid,3,Bid+15*Point,Bid-15*Point);
volver;
}
return(0);
}