Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Dave,
Prueba a cambiar tu código por el siguiente fragmento y dime si ha funcionado.
Yannis
int i=0;
for (int cnt=OrdersTotal()-1;cnt>=0;cnt--)
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (OrderType()>=OP_SELL && OrderSymbol()==Symbol() && ( OrderMagicNumber () == MagicNumber || MagicNumber==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(15 *Punto),Bid-(20*Punto),Cyan); //Modificar stop loss y take profit
return(0);
}
if (OrderType()>=OP_BUY && OrderSymbol()==Symbol() && ( OrderMagicNumber () == MagicNumber || MagicNumber==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(15*Punto),Ask+(20*Punto),Cyan); /Modificar stop loss y take profit
return(0);
}
return(0);
}
}Tengo el problema de que siempre modifica las operaciones en el backtester una y otra vez. ¿Cómo puedo conseguir que modifique las operaciones una vez? Dado que el programa se va a dormir, las únicas operaciones que deben modificarse son las que aún están abiertas.
Por favor, vea el .Gif adjunto de los resultados del Backtest. ¡Estoy muy cerca de conseguir esto bien - Por favor, aconsejar! Utilizo esta modificación de Take Profit y Stop Loss junto con el modo de suspensión. Por favor, vea el código siguiente
int inicio()
{
si (UseHourTrade)
{
int a=0
int b=0;
int c=0;
if(!(Hour()>=FromHourTrade1 && Hour()<=ToHourTrade1)) a=1;
if(!(Hour()>=FromHourTrade2 && Hour()<=ToHourTrade2)) b=1;
if(!(Hour()>=FromHourTrade3 && Hour()<=ToHourTrade3)) c=1;
if(a==1 && b==1 && c==1)
{
Comentario(
"\n"," * Asesor experto en energía eólica solar *",
"\n",
"\n", " - PROGRAMA EN CICLO DE SUEÑO - ",
"\n",
"\n"," > HORAS DE NO COMERCIALIZACIÓN! <");
///////////////////MODIFICAR STOP LOSS Y TAKE PROFIT AL INICIO DEL CICLO DE SUEÑO /////////////////
int h=0;
for (int cnt1=OrdersTotal()-1;cnt1>=0;cnt1--)
OrderSelect(h, SELECT_BY_POS, MODE_TRADES);
if (OrderType()>=OP_SELL && OrderSymbol()==Symbol() && (OrderMagicNumber () == MagicNumber || MagicNumber==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(15 *Punto),Bid-(20*Punto),Cyan); //Modificar stop loss y take profit
return(0);
}
if (OrderType()>=OP_BUY && OrderSymbol()==Symbol() && (OrderMagicNumber () == MagicNumber || MagicNumber==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(15*Punto),Ask+(20*Punto),Cyan); /Modificar stop loss y take profit
return(0);
}
return(0);
}
}
¡POR FAVOR, MIRA LA MINIATURA ADJUNTA!
for (int cnt1=Total de Pedidos()-1;cnt1>=0;cnt1--)
OrderSelect( cnt1, SELECT_BY_POS, MODE_TRADES);
hacer que cuente el mismo número
No lo entiendo. ¿Cómo puedo corregir este error? Tal vez veo - Déjame cambiar cnt1 a h. ¿Estoy en lo correcto?
Dave
<<
tu OrderSelect() no contaba con base en el bucle en marcha
int inicio()
{
si (UseHourTrade)
{
int a=0
int b=0;
int c=0;
if(!(Hour()>=FromHourTrade1 && Hour()<=ToHourTrade1)) a=1;
if(!(Hour()>=FromHourTrade2 && Hour()<=ToHourTrade2)) b=1;
if(!(Hour()>=FromHourTrade3 && Hour()<=ToHourTrade3)) c=1;
if(a==1 && b==1 && c==1)
{
Comentario(
"\n"," * Asesor experto en energía eólica solar *",
"\n",
"\n", " - PROGRAMA EN CICLO DE SUEÑO - ",
"\n",
"\n"," > HORAS DE NO COMERCIALIZACIÓN! <");
///////////////////MODIFICAR STOP LOSS & TAKE PROFIT AL INICIO DEL CICLO DE SUEÑO /////////////////
//int h=0;
for (int h=OrdersTotal()-1;h>=0;h--)
OrderSelect(h, SELECT_BY_POS, MODE_TRADES);
if (OrderType()>=OP_SELL && OrderSymbol()==Symbol() && (OrderMagicNumber () == MagicNumber || MagicNumber==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(15 *Punto),Bid-(20*Punto),Cyan); //Modificar stop loss y take profit
return(0);
}
if (OrderType()>=OP_BUY && OrderSymbol()==Symbol() && (OrderMagicNumber () == MagicNumber || MagicNumber==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(15*Punto),Ask+(20*Punto),Cyan); /Modificar stop loss y take profit
return(0);
}
return(0);
}
}
///////////////////////////////////////////////////////////////////////////////////////
Hechos los cambios pero sigo obteniendo un bucle constante de modificaciones frente a un cambio único.
¡Por favor, aconsejar de nuevo, por favor!
Dave
<<<
Por favor, publique su código dentro de los códigos [PHP][/PHP]. Es mucho más fácil leer y depurar el código formateado.
Ficha de entrada del indicador
¿Cómo y dónde puedo codificar un indicador para que la pestaña de entrada no se muestre cuando se adjunta al gráfico?
Gracias,
solaris
int inicio()
{
si (UseHourTrade)
{
int a=0
int b=0;
int c=0;
if(!(Hour()>=FromHourTrade1 && Hour()<=ToHourTrade1)) a=1;
if(!(Hour()>=FromHourTrade2 && Hour()<=ToHourTrade2)) b=1;
if(!(Hour()>=FromHourTrade3 && Hour()<=ToHourTrade3)) c=1;
if(a==1 && b==1 && c==1)
{
Comentario(
"\n"," * Asesor experto en energía eólica solar *",
"\n",
"\n", " - PROGRAMA EN CICLO DE SUEÑO - ",
"\n",
"\n"," > HORAS DE NO COMERCIALIZACIÓN! <");
///////////////////MODIFICAR STOP LOSS & TAKE PROFIT AL INICIO DEL CICLO DE SUEÑO /////////////////
//int h=0;
for (int h=OrdersTotal()-1;h>=0;h--)
OrderSelect(h, SELECT_BY_POS, MODE_TRADES);
if (OrderType()>=OP_SELL && OrderSymbol()==Symbol() && (OrderMagicNumber () == MagicNumber || MagicNumber==0))
{if( OrderStopLoss() > Ask + Point * 15 | OrderStopLoss() == 0 )
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(15 *Punto),Bid-(20*Punto),Cyan); /Modificar stop loss y take profit
return(0);
}
if (OrderType()>=OP_BUY && OrderSymbol()==Symbol() && (OrderMagicNumber () == MagicNumber || MagicNumber==0))
{
if( OrderStopLoss() < Bid - Point * 15 )
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(15*Punto),Ask+(20*Punto),Cyan); /Modificar stop loss y take profit
return(0);
}
return(0);
}
}
///////////////////////////////////////////////////////////////////////////////////////
Hechos los cambios pero sigo obteniendo un bucle constante de modificaciones frente a un cambio único.
¡Por favor, aconsejar de nuevo, por favor!
Dave
<<<Intenta añadir la línea púrpura ..puede ayudar
¿Cómo y dónde puedo codificar un indicador para que la pestaña de entrada no se muestre cuando se adjunta al gráfico?
Gracias,
solarispor qué no intentas guardarlo como una plantilla en su lugar... entonces no hay necesidad de configurar ningún parámetro de nuevo cuando llames a todos tus indicadores en el nuevo gráfico
He hecho lo que me has sugerido. (Agradezco su paciencia)
for (int cnt1=OrdersTotal()-1;cnt1>=0;cnt1--)
OrderSelect(cnt1, SELECT_BY_POS, MODE_TRADES);
** ¡Pero todavía estoy recibiendo modificaciones masivas de bucle en un solo comercio como antes!
Dave
<<Por favor, vea los últimos resultados de backtest. Disculpe el logo.htm - No puedo deshacerme de él.
¡He hecho lo que me has sugerido! (Agradezco tu paciencia)
for (int cnt1=Total de Pedidos()-1;cnt1>=0;cnt1--)
OrderSelect(cnt1, SELECT_BY_POS, MODE_TRADES);
** ¡Pero todavía estoy recibiendo modificaciones masivas de bucle en un solo comercio como antes!
Dave
<<¿Intentaste añadir la púrpura de arriba ya?
theif( OrderStopLoss() > Ask + Point * 15 || OrderStopLoss() == 0 )
y if( OrderStopLoss( )< Bid - Point * 15 )