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
¿Versión de Ema Cross?
Hola,
Mi prueba de foward de EMACross D1 TF
Saludoshola SpecII
¡Muchas gracias por compartir con nosotros!
¿Cuál es la versión de EMA_CROSS que has utilizado?
¡Múltiples pares!
Hola Codersguru
Estoy usando la versión no SL pero he modificado el código para los pares múltiples y hecho el error para los lotes dobles jeje.
Voy a arreglar el error para los lotes dobles más tarde.
Saludos¡Gracias de nuevo ! ¿Puedo ver su código para múltiples pares?
¡Gracias de nuevo ! ¿Podría ver su código para múltiples pares?
Hola, estoy publicando el código. ¿Es correcto?
Gracias
//| EMA_CROSS.mq4 |
//| Coders Guru |
//| https://www.forex-tsd.com |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| TODO: Add Money Management routine |
//+------------------------------------------------------------------+
#property copyright "Coders Guru"
#property link "https://www.forex-tsd.com"
//---- input parameters
extern double TakeProfit=130;
extern double Lots=1;
extern double TrailingStop=20;
extern int ShortEma = 10;
extern int LongEma = 80;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
int Crossed (double line1 , double line2)
{
static int last_direction = 0;
static int current_direction = 0;
//Don't work in the first load, wait for the first cross!
static bool first_time = true;
if(first_time == true)
{
first_time = false;
return (0);
}
if(line1>line2)current_direction = 1; //up
if(line1<line2)current_direction = 2; //down
if(current_direction != last_direction) //changed
{
last_direction = current_direction;
return (last_direction);
}
else
{
return (0); //not changed
}
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
int OrdersPerSymbol=0;
//----
int cnt, ticket;
double SEma, LEma;
if(Bars<100)
{
Print("bars less than 100");
return(0);
}
if(TakeProfit<10)
{
Print("TakeProfit less than 10");
return(0); // check TakeProfit
}
OrdersPerSymbol=0;
for(cnt=OrdersTotal();cnt>=0;cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol()==Symbol() )
{
OrdersPerSymbol++;
}
}
SEma = iMA(NULL,0,ShortEma,0,MODE_EMA,PRICE_CLOSE,0);
LEma = iMA(NULL,0,LongEma,0,MODE_EMA,PRICE_CLOSE,0);
static int isCrossed = 0;
isCrossed = Crossed (LEma,SEma);
// total = OrdersTotal();
if(OrdersPerSymbol < 1)
{
if(isCrossed == 1)
{
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,"EMA_CROSS",12345,0,Green);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());
}
else Print("Error opening BUY order : ",GetLastError());
return(0);
}
if(isCrossed == 2)
{
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point,"EMA_CROSS",12345,0,Red);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());
}
else Print("Error opening SELL order : ",GetLastError());
return(0);
}
return(0);
}
for(cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
//OrderPrint();
if(OrderType()<=OP_SELL && OrderSymbol()==Symbol())
{
if(OrderType()==OP_BUY) // long position is opened
{
// should it be closed?
/* REMOVED - Trailling stop only close
if(isCrossed == 2)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position
return(0); // exit
}
*/
// check for trailing stop
if(TrailingStop>0){
if(Bid-OrderOpenPrice()>Point*TrailingStop)
{
if(OrderStopLoss()<Bid-Point*TrailingStop)
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);
return(0);
}
}
}
}
else // go to short position
{
// should it be closed?
/* REMOVED - Trailling stop only close
if(isCrossed == 1)
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // close position
return(0); // exit
}
*/
// check for trailing stop
if(TrailingStop>0){
if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
{
if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);
return(0);
}
}
}
}
}
}
return(0);
}
//+------------------------------------------------------------------+Hola SpecII,
¡Muchas gracias por compartir con nosotros!
¿Cuál es la versión de EMA_CROSS que has utilizado?Hola Codersguru
Estoy usando la versión no SL pero he modificado el código para múltiples pares y hecho el error para los lotes dobles jeje.
Voy a arreglar el error para los lotes dobles más tarde.
Saludos
Inversa
A mí me parece que es un inverso.
El código está configurado para comprar cuando la EMA larga es mayor que la EMA corta
y para vender cuando la EMA larga se mueve por debajo de la EMA corta.
Supongo que es por eso que tiene éxito - como uno se enseña a hacer exactamente lo contrario en otros lugares.
También estoy obteniendo múltiples operaciones, en la primera versión del EA, todavía tengo que probar la segunda versión. ¿Es esto debido a los datos de la historia incorrecta?
Voy a probar esta noche.
Gracias
así que
se compra cuando la Sema se mueve por debajo de la Lema
y se vende cuando la Sema se mueve por encima de la Lema
¿O me he vuelto a confundir?
cuando adjunto el ea
Cuando adhiero el ea a un gráfico me aparece una 'X' - sin cara sonriente - en el ea o en mí.
Lo tengo funcionando - tuve que pulsar el botón de jugar a los expertos.
Hola,
Estoy espíritu para probar este EA con una demostración de la cuenta. Las primeras impresiones son muy buenas. Por el momento se abre sólo un par a pesar de 4 diagramas abiertos. Pero con cada abertura de los comercios está en la buena dirección positiva y él resto. La declaración le adjunta desde ayer.
Hola, soy el espíritu de probar este EA con una demostración de la cuenta. Las primeras impresiones son muy buenas. Por el momento se abre sólo un par a pesar de 4 diagramas abiertos. Pero con cada abertura de los comercios está en la buena dirección positiva y él resto. La declaración le adjunta desde ayer.
He modificado este EA para utilizar el número mágico. Eso proporcionará el comercio en múltiples pares a la vez. Cambie el parámetro maigc para que sea diferente para cada par.
Hola Kalenzo,
Gracias por esta modificación, siempre también rápida y efectiva, ánimo