Ojala EA - página 14

 
Mohammed:
Salam,

¿Podríamos probar juntos esta versión?

Ajustes: Por defecto

Pares: Cualquiera

TF: H4

Nota:Por favor, descargue Coders Guru Pop Alert si desea utilizar MSN Style Pop Alert:

http://www.metatrader.info/node/82

¿Esta es una nueva versión o qué?

 

¡Reventar!

BrunoFX:
Hola Mohammed,

Quiero probar este nuevo pero sin : Coders Guru Pop Alert Plugin, pero tengo un error:

2;76;C:\Forex\StrategyBuilderFX 400\experts\Ojala.mq4;7:1;'Pop.mqh' - no se puede abrir el archivo de programa

Hola Bruno,

Si no quieres usar el Coder Guru Pop por favor usa este código:

//+------------------------------------------------------------------+

//| Ojala.mq4 |

//| Mohammed |

//| https://www.forex-tsd.com |

//+------------------------------------------------------------------+

#property copyright "Mohammed"

#property link "https://www.forex-tsd.com"

extern double TakeProfit=85;

extern double TrailingStop=10;

extern double StopLoss=35;

extern double Lots = 1; //0.01

extern int EmaPeriod = 6;

// Thanks going to Coders' Guru!

bool isNewSumbol(string current_symbol)

{

//loop through all the opened order and compare the symbols

int total = OrdersTotal();

for(int cnt = 0 ; cnt < total ; cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

string selected_symbol = OrderSymbol();

if (current_symbol == selected_symbol)

return (False);

}

return (True);

}

//+------------------------------------------------------------------+

//| expert start function |

//+------------------------------------------------------------------+

int start()

{

//----

int cnt, ticket, total;

if(Bars<100)

{

Print("bars less than 100");

return(0);

}

if(TakeProfit<5)

{

Print("TakeProfit less than 10");

return(0); // check TakeProfit

}

total = OrdersTotal();

if(total < 1 || isNewSumbol(Symbol()))

{

if(iCustom(NULL,0,"EMAOsMA",EmaPeriod,0,2)0)

{

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-StopLoss*Point,Ask+TakeProfit*Point,"Ojala",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(iCustom(NULL,0,"EMAOsMA",EmaPeriod,0,2)>0 && iCustom(NULL,0,"EMAOsMA",EmaPeriod,0,1)<0)

{

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+StopLoss*Point,Bid-TakeProfit*Point,"Ojala",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<total;cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if(OrderType()<=OP_SELL && OrderSymbol()==Symbol())

{

if(OrderType()==OP_BUY) // long position is opened

{

if(iCustom(NULL,0,"EMAOsMA",EmaPeriod,0,1)>0 && iCustom(NULL,0,"EMAOsMA",EmaPeriod,0,0)<0)

{

OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close position

return(0); // exit

}

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

{

if(iCustom(NULL,0,"EMAOsMA",EmaPeriod,0,1)0)

{

OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // close position

return(0); // exit

}

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);

}

//+------------------------------------------------------------------+

 
JoZo:
¿Es una nueva versión o qué?

Jozo,

¡Es una pequeña modificación al EA original que espero que funcione mejor!

 
Mohammed:
Hola Bruno, Si no quieres usar el Coder Guru Pop por favor usa este código:

Hola mohammed,

THX

 
Mohammed:
¡Jozo, es una pequeña modificación al EA original que espero que funcione mejor!

¿Puedes explicar las modificaciones?

Gracias

 
JoZo:
¿Pueden explicar las modificaciones? Gracias

¡Salam Jozo!

Estas son las modificaciones:

1- El periodo de la Media Móvil ahora es de 6 en lugar de 12.

2- El cálculo para la apertura de operaciones ahora para las dos barras anteriores no la barra actual (1 y 2 no 0 barra).

3- ¡El StopLoss aplicado!

4- ¡Las posiciones de cierre aplicadas!

¡Adjunto mi declaración de 2 días! (Por favor, ignora las 2 operaciones manuales).

Archivos adjuntos:
 
Mohammed:
¡Salam Jozo!

Estas son las modificaciones:

1- El periodo de la Media Móvil ahora es de 6 en lugar de 12.

2- El cálculo para la apertura de operaciones ahora para las dos barras anteriores no la barra actual (1 y 2 no 0 barra).

3- ¡El StopLoss aplicado!

4- ¡Las posiciones de cierre aplicadas!

¡Adjunto mi declaración de 2 días! (Por favor, ignore el manual 2 oficios).

¡Muy buena declaración!

Yo he empezado el 9.3.2005 a reenviar la antigua Ojala y el saldo inicial era de 10k. Hoy es 13.900 y la equidad 12k estoy esperando que el USD/CHF suba y el EUR baje.

¿Qué marco temporal para la nueva Ojala?

 
JoZo:
¡Muy buena declaración!

He empezado el 9.3.2005 a reenviar la antigua Ojala y el saldo inicial era de 10k. Hoy son 13.900 y la equidad 12k estoy esperando que el USD/CHF suba y el EUR baje.

¿Qué marco de tiempo para el nuevo Ojala?

¡Gracias Jozo!

El Time Frame debe ser H4

¿Puedo ver su declaración?

 
Mohammed:
¡Gracias Jozo!

El marco temporal debe ser H4

¿Podría ver la declaración de los suyos?

Hola,

El ea está previsto para un multi monedas? y cuánto?

 
BrunoFX:
Hola, El ea está previsto para un multi monedas? y cuánto?

Hola,

Lo estoy probando con la mayoría de las divisas y no elegí las mejores divisas que funcionan mejor con el nuevo EA (¡Ver espacio de trabajo adjunto!).

Ya no creo en el backtesting, por eso lo estoy probando a futuro.

Archivos adjuntos:
screen.gif  53 kb