[¡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

 
Rustbunch:
Aquí está el propio guión...
Uso de MT4
 
Rustbunch:
Aquí está el propio guión...
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.
 
¿cómo modificar las órdenes de compra y venta por separado?
 
paladin80:
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
 
GarKain:
¿Cómo puedo modificar las órdenes de compra y venta por separado?
OrderSelect(2563,SELECT_BY_TICKET);
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é?
 
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_SELL
         OrderModify(OrderTicket(), ...);
}  }  }
 
¿por qué no funciona el cierre de un pedido?


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 en este caso? Sigo utilizando el reinicio, lo cual es muy incómodo. Estoy usando el reinicio que es muy inconveniente. Gracias de antemano.
 
yosuf:
¿Podríais decirme cómo solucionar el bucle de EA y la pérdida de rendimiento al hacerlo?
Elimina el bucle y golpea al codificador :)
 
TheXpert:
Saca el bucle y golpea las manos del codificador :)
¿Dónde y cómo está escrito esto en el código? ¿Qué es exactamente lo que hay que eliminar?
Razón de la queja: