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
Oh, hombre, realmente eres una estrella. Me encanta comerciar, pero sería imposible sin tu ayuda. Gracias de nuevo
Hola,
Podría alguien ayudarme con mi función LotsizeCalc().
Me gustaría multiplicar mi tamaño de lote con el 'MartingaleAmount' si mi última operación fue un perdedor. Si mi última operación fue ganadora, me gustaría utilizar el tamaño de lote "normal". Desgraciadamente, cuando hago el backtest del EA obtengo el error 4051 del diario.
Tiene algo que ver con el tamaño del lote, porque el EA funciona cuando intento ejecutarlo sin la función "LotsizeCalc()".
¿Alguien sabe por qué la función "Lotsize" no funciona?
Gracias de antemano,
Thierry
extern int MaximumTrades = 10; extern double StopLoss=25; extern double TakeProfit=50; extern double MartingaleAmount = 1.5; input double LotSize=0.1; int magic; double pips; int tradeNumber; string ScreenComment; double martinlot; double martinsize;
[/PHP]
Thierry
Puede utilizar esta función para saber si la última orden cerrada se cerró con ganancias o con pérdidas :
[PHP]double lastOrderProfit(int magicNumber=0)
{
datetime lastTime = 0;
double lastProfit = 0;
for(int i=OrdersHistoryTotal()-1; i>=0; i--)
{
if (OrderSelect(i,SELECT_BY_POS, MODE_HISTORY)==false) break;
if (magicNumber!=0)
if (OrderMagicNumber() != magicNumber) continue;
if (OrderSymbol() != Symbol()) continue;
if (OrderCloseTime() <= lastTime) continue;
lastTime = OrderCloseTime();
lastProfit = OrderProfit()+OrderSwap()+OrderCommission();
}
return(lastProfit);
}
Simplemente comprueba si el resultado de la función lastOrderProfit(), y si es < 0, entonces aplica tu regla de martingala
¡Hola Mladen! Otra vez yo...
¿Cómo sería posible utilizar las líneas de este indicador en un EA utilizando iCustom ya que no parece haber ningún búfer establecido para estas líneas?
Gracias
¡Hola Mladen! Yo también...
¿Cómo sería posible utilizar las líneas de este indicador en un EA utilizando iCustom ya que no parece haber ningún búfer establecido para estas líneas?
GraciasSon objetos
Puedes acceder a los objetos por su nombre (debes saber el nombre exacto del objeto, pero el indicador debe estar activo en el gráfico y esos objetos deben estar dibujados en el gráfico).
Esos son objetos Puedes acceder a los objetos por su nombre (debes saber el nombre exacto del objeto, pero el indicador debe estar activo en el gráfico y esos objetos deben estar dibujados en el gráfico).
Muy bien. Entonces, ¿cómo podría llamar al indicador desde el EA? Con algo que no sea iCustom o lo he entendido mal... Gracias mladen
Genial. Entonces, ¿cómo podría llamar al indicador desde el EA? Con algo que no sea iCustom o lo he entendido mal... Gracias mladen
Ese indicador simplemente dibuja niveles en 0,20,50,80 pips de cada segmento de 100 pips. La forma más sencilla es comprobar si esos niveles se cruzan desde tu EA.
Si intenta utilizar los nombres de los objetos (y sus precios, no podrá saber los nombres exactos de las líneas ya que dependen del máximo y el mínimo más alto - son objeto de cambio. Utilice el modo descrito anteriormente
Ese indicador simplemente dibuja niveles en 0,20,50,80 pips de cada segmento de 100 pips. La forma más sencilla es comprobar si esos niveles se cruzan desde tu EA. Si intenta utilizar los nombres de los objetos (y sus precios, no podrá conocer los nombres exactos de las líneas ya que dependen del máximo y el mínimo más alto - son objeto de cambio. Utilice el modo descrito anteriormente
Tendrías un ejemplo de cómo hacer eso... Siento preguntar tanto, es que estoy empezando con la codificación y no he pillado el truco de cómo comprobar si esos niveles se cruzan en la condición de comprar o vender.
Tendrías un ejemplo de cómo hacerlo... Perdona que te pregunte tanto, es que estoy empezando con la codificación y no he pillado el truco de cómo comprobar si se cruzan esos niveles en la condición de comprar o vender.
Jason2005
Tienes un código de cómo se hace en el indicador que adjuntas
Jason2005 Tienes un código de cómo se hace en el indicador que adjuntas
¿Sería esto entonces?
Thierry
Puedes utilizar esta función para saber si la última orden cerrada se cerró con ganancias o con pérdidas :
{
datetime lastTime = 0;
double lastProfit = 0;
for(int i=OrdersHistoryTotal()-1; i>=0; i--)
{
if (OrderSelect(i,SELECT_BY_POS, MODE_HISTORY)==false) break;
if (magicNumber!=0)
if (OrderMagicNumber() != magicNumber) continue;
if (OrderSymbol() != Symbol()) continue;
if (OrderCloseTime() <= lastTime) continue;
lastTime = OrderCloseTime();
lastProfit = OrderProfit()+OrderSwap()+OrderCommission();
}
return(lastProfit);
}
Hola Mladen,
Gracias por tu respuesta.
La función lastorderprofit no es necesaria porque mi función lastTradeTicket() hace el mismo trabajo.
¿Podría echar un vistazo a mi EA?
No te pido que edites el código, pero te agradecería mucho que me dijeras qué he codificado mal.
Gracias de antemano,
Thierry
53_martingale.mq4