[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. No puedo ir a ningún sitio sin ti - 4. - página 295
Yo diría que es difícil operar a un paciente con un traje espacial. Has publicado aquí un archivo compilado, no un código abierto (*.mq4). Tengo la sensación de que has cogido un script ya hecho en algún sitio (¿has comprobado su rendimiento en su forma natural?), has cambiado algo en el código y ha dejado de hacer lo que necesitas. Si el código original se comportaba con normalidad, mira dónde y qué has cambiado y comprueba que funciona después de cada cambio.
GarKain: ¿cómo modificar las órdenes de compra y venta por separado?
if (OrdersTotal()>0)
{ for (int i=OrdersTotal()-1; i>=0; i--)
{ if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{ if (OrderType()==OP_BUY) // или OP_SELLOrderModify(OrderTicket(), ...);
} } }
¿Podríais decirme cómo solucionar el bucle de EA y la pérdida de rendimiento en este caso? Sigo utilizando el reinicio, lo cual es muy incómodo. Estoy usando el reinicio que es muy inconveniente. Gracias de antemano.
Aquí está el propio guión...
Aquí está el propio guión...
Me inclino a pensar que el error está en el propio código. Es necesaria una intervención quirúrgica en el propio guión.
Tal vez cambiar la junta ayudaría
¿Cómo puedo modificar las órdenes de compra y venta por separado?
if (OrderType()==OP_BUY && Open[0]>Low[steploss] && OrderStopLoss()<trailstopbuy){
OrderModify(OrderTicket(),OrderOpenPrice(),trailstopbuy,OrderTakeProfit(),0,Blue);
return(0);
}
if (OrderType()==OP_SELL && Open[0]<High[steploss] && OrderStopLoss()>trailstopsell){
OrderModify(OrderTicket(),OrderOpenPrice(),trailstopsell,OrderTakeProfit(),0,Blue);
return(0);
}
¿y qué?
¿cómo modificar las órdenes de compra y venta por separado?
if (OrdersTotal()>0){
for(int g=OrdersTotal()-1; g>=0; g--){
OrderSelect(g,SELECT_BY_POS);
if (OrderMagicNumber()==2563 && OrderType()==OP_BUY){
if (Open[0]<=Low[steploss]){
OrderClose(g,1,Bid,3,Red);
return(0);
}
if (GradusEDBuy==true){
OrderClose(g,1,Bid,3,Red);
return(0);
}
}
}
if (OrderMagicNumber()==2563 && OrderType()==OP_SELL){
if (Open[0]>=High[steploss]){
OrderClose(g,1,Ask,3,Red);
return(0);
}
if (GradusEDSell==true){
OrderClose(g,1,Bid,3,Red);
return(0);
}
}
}
¿Podríais decirme cómo solucionar el bucle de EA y la pérdida de rendimiento al hacerlo?
Saca el bucle y golpea las manos del codificador :)