![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
No he cambiado nada en la configuración Lote 0.05 Depo share 0.3 EA da error : cantidad de lotes no válida para la función OrderSend. ¿Tal vez haya una forma de establecer un lote fijo?
CUOTA = 0 ENTONCES SERÁ UN FIJO QUE SE PRESCRIBE ... (>> SIN CÁLCULOS.)
prueba en uno de los pares de esta semana con la mitad del depósito (0,6)
Bares en la historia 2146
246212 ticks simuladosCalidad de la simulación 90,00%
Errores de desajuste de los gráficos 41
Depósito inicial 50,00
Beneficio neto 3168,32
Beneficio total 3168,32
Pérdida total 0,00
Rentabilidad
Expectativa de ganar 211.22
Reducción absoluta 11,51
Reducción máxima 1234,53 (32,83%)
Reducción relativa 86,71% (251,23)
Total de operaciones 15
Posiciones cortas (% de ganancias) 1 (100,00%)
Posiciones largas (% de ganancias) 14 (100,00%)
Operaciones rentables (% de todas) 15 (100.)
00%)
Operaciones con pérdidas (% de todas) 0 (0,00%)
Mayor
operaciones rentables 1429,12
operaciones con pérdidas 0,00
Media
operaciones rentables 211,22
operaciones con pérdidas 0,00
Máxima
ganancias continuas (beneficios) 15 (3168,32)
pérdidas continuas (pérdidas) 0 (0,00)
Máxima
ganancias continuas (número de ganancias) 3168,32 (15)
pérdidas continuas (número de pérdidas) 0,00 (0)
Media
¿Qué está pasando? El tema está lejos de terminar...
Lo estoy probando y no da buenos resultados.
en primer lugar esto es una plantilla ... En segundo lugar, tiene condiciones de entrada muy suaves ....el arrastre para los 6 pares se da a continuación ... En segundo lugar, no se puede probar en el probador sin la historia completa sin agujeros en los 6 pares ...
for(int k=0; k<=TotalOrdenes(); k++)
{
if (OrderSelect(k,SELECT_BY_POS)==true)
{
if (OrderMagicNumber()!= Magic) continue;
//..................
if(OrderType() == OP_SELL&&OrderTakeProfit()==0)
{
t=MarketInfo(OrderSymbol(),MODE_BID)-TP*MarketInfo(OrderSymbol(),MODE_POINT);
OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),
t,OrderMagicNumber() ,CLR_NONE);
}
if(OrderType() == OP_BUY&&OrderTakeProfit()==0)
{
t=MarketInfo(OrderSymbol(),MODE_ASK)+TP*MarketInfo(OrderSymbol(),MODE_POINT);
OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),
t,OrderMagicNumber(),CLR_NONE);
}
//.................
if(OrderType() == OP_SELL&&OrderStopLoss()==0)
{
s=MarketInfo(OrderSymbol(),MODE_ASK)+ SL*MarketInfo(OrderSymbol(),MODE_POINT);
OrderModify(OrderTicket(),OrderOpenPrice(),s,
OrderTakeProfit(),OrderMagicNumber(), CLR_NONE);
}
if(OrderType() == OP_BUY&&OrderStopLoss()==0)
{
s=MarketInfo(OrderSymbol(),MODE_BID)- SL*MarketInfo(OrderSymbol(),MODE_POINT);
OrderModify(OrderTicket(),OrderOpenPrice(),s,
OrderTakeProfit(),OrderMagicNumber(), CLR_NONE);
}
//................
if(PedidosTotal() > 0)
{
if(OrderType() == OP_SELL&&OrderMagicNumber() ==Magic)
{
if(TrailingStop> 0)
{
if(OrderOpenPrice() - MarketInfo(OrderSymbol(),MODE_ASK) >= TrailingStop * MarketInfo(OrderSymbol(),MODE_POINT))
{
if(OrderStopLoss() > (MarketInfo(OrderSymbol(),MODE_ASK) + MarketInfo(OrderSymbol(),MODE_POINT)* TrailingStop))
{
if(TrailingStop>0&&TrailingStop<MarketInfo(OrderSymbol(),MODE_STOPLEVEL))TrailingStop=MarketInfo(OrderSymbol(),MODE_STOPLEVEL);
OrderModify(OrderTicket(), OrderOpenPrice(),MarketInfo(OrderSymbol(),MODE_ASK) + MarketInfo(OrderSymbol(),MODE_POINT) * TrailingStop,
OrderTakeProfit(),OrderMagicNumber(), CLR_NONE);
}
}
}
}
si no
if(OrderType() = OP_BUY&&OrderMagicNumber() ==Magic)
{
if(TrailingStop > 0)
{
if(MarketInfo(OrderSymbol(),MODE_BID) - OrderOpenPrice() >= TrailingStop * MarketInfo(OrderSymbol(),MODE_POINT))
{
if(OrderStopLoss() < (MarketInfo(OrderSymbol(),MODE_BID) - MarketInfo(OrderSymbol(),MODE_POINT) * TrailingStop))
{
if(TrailingStop>0&&TrailingStop<MarketInfo(OrderSymbol(),MODE_STOPLEVEL))TrailingStop=MarketInfo(OrderSymbol(),MODE_STOPLEVEL);
OrderModify(OrderTicket(), OrderOpenPrice(),MarketInfo(OrderSymbol(),MODE_BID) - MarketInfo(OrderSymbol(),MODE_POINT) * TrailingStop,
OrderTakeProfit(),OrderMagicNumber(), CLR_NONE);
}
}
}
}
}
if (OrderType()==OP_BUY&&CLOSE_BUY==true&&OrderMagicNumber() ==Magic)
{
if (iStochastic(OrderSymbol(),5,5,3,3, MODE_SMA, 0, MODE_SIGNAL,0)<iStochastic(OrderSymbol(),5,5,3,3, MODE_SMA, 0, MODE_SIGNAL,1)&&OrderOpenPrice()<iClose(OrderSymbol(),0,0)-MIN_PROFIT*MarketInfo(OrderSymbol(),MODE_POINT)
OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),3)
}
if (OrderType()==OP_SELL&&CLOSE_SELL==true&&OrderMagicNumber() ==Magic)
{
if (iStochastic(OrderSymbol(),5,5,3,3,3, MODE_SMA, 0, MODE_SIGNAL,0)>iStochastic(OrderSymbol(),5,5,3,3, MODE_SMA, 0, MODE_SIGNAL,1)&&OrderOpenPrice()>iClose(OrderSymbol(),0,0)+MIN_PROFIT*MarketInfo(OrderSymbol(),MODE_POINT)
OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),3)
}
}
}
volver;
}
Hola a todos.
Acabo de volver de vacaciones...
El mar, el sol y el agua son nuestros mejores amigos.
He tenido un descanso y estoy listo para volver al trabajo...
Sugiero un tema específico para trabajar.
en primer lugar esto es una plantilla ... tiene una red de arrastre que no funciona ( sólo en el par donde cuelga ) en segundo lugar las condiciones de entrada son bastante suaves ... la red de arrastre para los 6 pares se da a continuación ... en segundo lugar no se puede probar en el probador sin un historial completo sin agujeros en los 6 pares ...
for(int k=0; k<=TotalOrdenes(); k++)
{
if (OrderSelect(k,SELECT_BY_POS)==true)
{
if (OrderMagicNumber()!= Magic) continue;
//..................
if(OrderType() == OP_SELL&&OrderTakeProfit()==0)
{
t=MarketInfo(OrderSymbol(),MODE_BID)-TP*MarketInfo(OrderSymbol(),MODE_POINT);
OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),
t,OrderMagicNumber(),CLR_NONE);
}
if(OrderType() == OP_BUY&&OrderTakeProfit()==0)
{
t=MarketInfo(OrderSymbol(),MODE_ASK)+TP*MarketInfo(OrderSymbol(),MODE_POINT);
OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),
t,OrderMagicNumber(),CLR_NONE);
}
//.................
if(OrderType() == OP_SELL&&OrderStopLoss()==0)
{
s=MarketInfo(OrderSymbol(),MODE_ASK)+ SL*MarketInfo(OrderSymbol(),MODE_POINT);
OrderModify(OrderTicket(),OrderOpenPrice(),s,
OrderTakeProfit(),OrderMagicNumber(), CLR_NONE);
}
if(OrderType() == OP_BUY&&OrderStopLoss()==0)
{
s=MarketInfo(OrderSymbol(),MODE_BID)- SL*MarketInfo(OrderSymbol(),MODE_POINT);
OrderModify(OrderTicket(),OrderOpenPrice(),s,
OrderTakeProfit(),OrderMagicNumber(), CLR_NONE);
}
//................
if(PedidosTotal() > 0)
{
if(OrderType() == OP_SELL&&OrderMagicNumber() ==Magic)
{
if(TrailingStop> 0)
{
if(OrderOpenPrice() - MarketInfo(OrderSymbol(),MODE_ASK) >= TrailingStop * MarketInfo(OrderSymbol(),MODE_POINT))
{
if(OrderStopLoss() > (MarketInfo(OrderSymbol(),MODE_ASK) + MarketInfo(OrderSymbol(),MODE_POINT)* TrailingStop))
{
if(TrailingStop>0&&TrailingStop<MarketInfo(OrderSymbol(),MODE_STOPLEVEL))TrailingStop=MarketInfo(OrderSymbol(),MODE_STOPLEVEL);
OrderModify(OrderTicket(), OrderOpenPrice(),MarketInfo(OrderSymbol(),MODE_ASK) + MarketInfo(OrderSymbol(),MODE_POINT) * TrailingStop,
OrderTakeProfit(),OrderMagicNumber(), CLR_NONE);
}
}
}
}
si no
if(OrderType() = OP_BUY&&OrderMagicNumber() ==Magic)
{
if(TrailingStop > 0)
{
if(MarketInfo(OrderSymbol(),MODE_BID) - OrderOpenPrice() >= TrailingStop * MarketInfo(OrderSymbol(),MODE_POINT))
{
if(OrderStopLoss() < (MarketInfo(OrderSymbol(),MODE_BID) - MarketInfo(OrderSymbol(),MODE_POINT) * TrailingStop))
{
if(TrailingStop>0&&TrailingStop<MarketInfo(OrderSymbol(),MODE_STOPLEVEL))TrailingStop=MarketInfo(OrderSymbol(),MODE_STOPLEVEL);
OrderModify(OrderTicket(), OrderOpenPrice(),MarketInfo(OrderSymbol(),MODE_BID) - MarketInfo(OrderSymbol(),MODE_POINT) * TrailingStop,
OrderTakeProfit(),OrderMagicNumber(), CLR_NONE);
}
}
}
}
}
if (OrderType()==OP_BUY&&CLOSE_BUY==true&&OrderMagicNumber() ==Magic)
{
if (iStochastic(OrderSymbol(),5,5,3,3, MODE_SMA, 0, MODE_SIGNAL,0)<iStochastic(OrderSymbol(),5,5,3,3, MODE_SMA, 0, MODE_SIGNAL,1)&&OrderOpenPrice()<iClose(OrderSymbol(),0,0)-MIN_PROFIT*MarketInfo(OrderSymbol(),MODE_POINT)
OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),3)
}
if (OrderType()==OP_SELL&&CLOSE_SELL==true&&OrderMagicNumber() ==Magic)
{
if (iStochastic(OrderSymbol(),5,5,3,3,3, MODE_SMA, 0, MODE_SIGNAL,0)>iStochastic(OrderSymbol(),5,5,3,3, MODE_SMA, 0, MODE_SIGNAL,1)&&OrderOpenPrice()>iClose(OrderSymbol(),0,0)+MIN_PROFIT*MarketInfo(OrderSymbol(),MODE_POINT)
OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),3)
}
}
}
volver;
}
Gracias por las aclaraciones, pero estoy lejos de ello y no sé ni dónde ponerlo.
Hola a todos.
Acabo de volver de vacaciones...
El mar, el sol y el agua son nuestros mejores amigos.
He tenido un descanso y estoy listo para volver al trabajo...
Sugiero un tema específico para trabajar.
Podrías intentar un desglose del "piso de la mañana"... o intenta poner tu propio piso... 20pp, 50pp... cualquiera de los dos (poner 2 colgantes)... Cuando un colgante se dispara, se pone el reverso con la duplicación... Elige las horas de funcionamiento... todo debería acabar en negro... Cuando se alcanza un beneficio... por ejemplo 100usd, fijar el beneficio y cerrar todas las órdenes...)Y si escribes una función para cerrar las órdenes de reunión, entonces será una hermosa historia ...)
Hola a todos.
Acabo de volver de vacaciones...
El mar, el sol y el agua son nuestros mejores amigos.
He tenido un descanso y estoy listo para volver al trabajo...
Propongo que se plantee un tema específico sobre el que trabajaremos.
Puedo ofrecerle escribir un Asesor Experto sobre esta estrategia, en el documento Bookkeeper. Todo lo demás que necesitas está también en el archivo.