Se me ha olvidado mencionar que las operaciones las he realizado en demo, ello por la cuestión de probar cómo responden los EAs.
Foro de Forex Trading United
Publi |
Publi |
Se me ha olvidado mencionar que las operaciones las he realizado en demo, ello por la cuestión de probar cómo responden los EAs.
Foro de Forex Trading United
Esta semana me he sorprendido por el sistema MACD, aunque en backtest la estrategia parece no ser buena, hay sistemas de trading que la utilizan apoyada con otros indicadores. Sólo me he basado en los cruces y obtuve lo siguiente en una cuenta demo:
Por lo que esta semana buscaré el incorporar algunos indicadores a esta estrategia para que sea más sustentable en el largo plazo.Foro de Forex Trading United
Hola a todos de nuevo!
Lubina
aprendetrader
garuda villas
Les doy las gracias por sus comentarios. En especial a atenais quien propuso la idea de lanzar mt4 desde tickstory, fue el santo remedio y pude descargar datos de varios pares.
Esta semana trata sobre la definición de rangos y optimización de un EA.
Cómo pasar de algo así a esto:
Comencé con el típico MACD que viene por defecto en mt4 y modifiqué el código como sigue:
Externalizamos las variables y agregamos a,b y c como otra media móvil.Código:extern double TakeProfit =50; extern double Lots =0.1; extern double TrailingStop =30; extern double MACDOpenLevel =3; extern double MACDCloseLevel=2; extern int MATrendPeriod =26; extern double a=12; extern double b=26; extern double c=9; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void OnTick(void) { double MacdCurrent,MacdPrevious; double SignalCurrent,SignalPrevious; double MaCurrent,MaPrevious; int cnt,ticket,total; //--- // initial data checks // it is important to make sure that the expert works with a normal // chart and the user did not make any mistakes setting external // variables (Lots, StopLoss, TakeProfit, // TrailingStop) in our case, we check TakeProfit // on a chart of less than 100 bars //--- if(Bars<100) { Print("bars less than 100"); return; } if(TakeProfit<10) { Print("TakeProfit less than 10"); return; } //--- to simplify the coding and speed up access data are put into internal variables MacdCurrent=iMACD(NULL,0,a,b,c,PRICE_CLOSE,MODE_MAIN,0); MacdPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1); SignalCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0); SignalPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1); MaCurrent=iMA(NULL,0,MATrendPeriod,0,MODE_EMA,PRICE_CLOSE,0); MaPrevious=iMA(NULL,0,MATrendPeriod,0,MODE_EMA,PRICE_CLOSE,1); total=OrdersTotal(); if(total<1) { //--- no opened orders identified if(AccountFreeMargin()<(1000*Lots)) { Print("We have no money. Free Margin = ",AccountFreeMargin()); return; } //--- check for long position (BUY) possibility if(MacdCurrent<0 && MacdCurrent>SignalCurrent && MacdPrevious<SignalPrevious && MathAbs(MacdCurrent)>(MACDOpenLevel*Point) && MaCurrent>MaPrevious) { ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,"macd sample",16384,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; } //--- check for short position (SELL) possibility if(MacdCurrent>0 && MacdCurrent<SignalCurrent && MacdPrevious>SignalPrevious && MacdCurrent>(MACDOpenLevel*Point) && MaCurrent<MaPrevious) { ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point,"macd sample",16384,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()); } //--- exit from the "no opened orders" block return; } //--- it is important to enter the market correctly, but it is more important to exit it correctly... for(cnt=0;cnt<total;cnt++) { if(!OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)) continue; if(OrderType()<=OP_SELL && // check for opened position OrderSymbol()==Symbol()) // check for symbol { //--- long position is opened if(OrderType()==OP_BUY) { //--- should it be closed? if(MacdCurrent>0 && MacdCurrent<SignalCurrent && MacdPrevious>SignalPrevious && MacdCurrent>(MACDCloseLevel*Point)) { //--- close order and exit if(!OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet)) Print("OrderClose error ",GetLastError()); return; } //--- check for trailing stop if(TrailingStop>0) { if(Bid-OrderOpenPrice()>Point*TrailingStop) { if(OrderStopLoss()<Bid-Point*TrailingStop) { //--- modify order and exit if(!OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green)) Print("OrderModify error ",GetLastError()); return; } } } } else // go to short position { //--- should it be closed? if(MacdCurrent<0 && MacdCurrent>SignalCurrent && MacdPrevious<SignalPrevious && MathAbs(MacdCurrent)>(MACDCloseLevel*Point)) { //--- close order and exit if(!OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet)) Print("OrderClose error ",GetLastError()); return; } //--- check for trailing stop if(TrailingStop>0) { if((OrderOpenPrice()-Ask)>(Point*TrailingStop)) { if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0)) { //--- modify order and exit if(!OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red)) Print("OrderModify error ",GetLastError()); return; } } } } } } //--- } //+------------------------------------------------------------------+
Posteriormente se realiza un backtest para verificar la estrategia y ver su factor de rentabilidad, operaciones, retroceso, media de operaciones consecutivas, etc. Seguramente no saldrá muy alto, pero puede dar una buena referencia del punto inicial.
Definimos los rangos de las variables en las propiedades del experto de las pestaña prueba de estrategia:
Tildamos la casilla de optimización y comenzamos el proceso.
He tomado como referencia usar la optimización respecto al balance aunque pueden hacer con lo que gusten (retroceso, factor de beneficio, etc.)
Los resultados de la optimización son lo más importante, elegiremos aquellos que ofrezcan buenos beneficios, un buen factor de beneficio, un considerable retroceso, una buena rentabilidas esperada, etc.
beneficios 215.68 198.45 171.91
operaciones 27 25 20
rentabilidad esperada 7.99 7.94 8.6
disminucón$ 127.45 95.91 70.81
disminución% 1.26% 0.95% 0.70%
Esos son para mí los tres principales resultados de toda la optimización, se puede elegir configurar esos parámetros y ver qué sucede con la curva de balance. En mi caso cargue la configuración siguiente:
TakeProfit=80 TrailingStop=20 MACDOpenLevel=35 MATrendPeriod=7 a=67 b=86 c=79 Lots=0.1 MACDCloseLevel=2
Posteriormente apliqué el EA al par euro-dólar y obtuvimos lo siguiente:
Un par de dólares y sigue sin decepcionarme este EA tan sencillo, combinado con otros seguro será excelente.
Me gustaría profundizar en un siguiente tema la cuestión de definir rangos y la utilización de EA analizer para nuestras estrategias, ya que ambos son herramientas potentes para mejorar nuestro trading. Actualmente realizo una optimización de un EA tipo scalping y he tenido varias dudas:
En la imagen anterior arrastre el EA MACD sample pero no sé por qué no me marca las entradas o salidas, no sé si primero tengo que hacer la prueba de estrategia y desde allí mandar que me abra el gráfico, si sólo lo arrastro no se abren mis operaciones ni nada. Alguna idea?
Tengo este EA tipo scalping pero son bastantes indicadores y no se al seleccionarlos todos no me permite hacer la optimización, alguno cono la manera de modificar el algoritmo de optmización para que sea más eficiente? He leído que el que tiene por defecto mt4 no es de lo mejor.
Respecto a definir los rangos de variables,y las paradas que recomiendan? Cómo es su optimización?
He tratado de abrir varios pares a la vez en mt4 y usar EAs en cada ventana pero sólo se abren operaciones en un par, saben cómo modificar o cómo hacer que el EA funcione en varios pares a la vez?
Alguno conoce estos indicadores?
ECN
Williams
ATR
CCI
Breakeven
Recalco sobre todo la parte de optimización, si alguno conoce algún buen libro o vídeo se los agradecería demasiado. Saludos a todos.Foro de Forex Trading United
Hola Luis,Hola a todos, comienzo por presentarme:
Mi nombre es Luis, soy estudiante de economía, guitarrista y amante de los idiomas. Estudiar economía me ha abierto los ojos de cómo funcionan algunas cosas en el mundo, eso me ha llevado -como a muchos de mis compañeros- a buscar la independencia financiera y lo que ofrece Trading United es incomparable en el mercado, usamos un visión constructivista para aprender en grupo.
Uno de mis mejores maestros en la facultad tiene una muy buena frase:
"Parte de nuestras vocaciones ha sido determinada:Los veterinarios tiene a sus mascotas, los ingenieros tienen sus legos o sus mecanos y nosotros los economistas tenemos nuestras cuentas de banco para divertirnos. Debemos conocer el dinero, por que de lo contrario sería como ser veterinario y tenerle miedo a los perros. "
Desde entonces abrí una cuenta en el broker etoro atraído por la cuestión del trading social, investigué las cosas básicas, desde que es el TP, el SL, las resistencias, los soportes, las tendencias , medias móviles, ichimoku, etc.
Ha sido una nueva experiencia, compré acciones de mis empresas favoritas( Apple, Microsoft, British Land, Google, Facebook, entre otras), invertí en futuros y demás, pero más guiado por la intuición y por un par de indicadores que conozco; me gustaría seguir aprendiendo técnicas para aplicarlas de manera más cabal y ser más consistente.
Y bueno, hace un par de semanas perdí un par de dólares por la cuestión del copy trading, seguía a alguien y pues no tuvo una buena racha y valió. Desde entonces decidí que si perdía dinero o lo ganaba sería por mis decisiones y no guiado por las decisiones de otros, tomar las riendas.
Es por eso que, ayudado por las recomendaciones de compañeros del foro de TU abro este diario, para no ir solo por el camino y para pedir vuestras recomendaciones y también hacerles saber que estoy a sus órdenes para lo que se ofrezca.¡Éxito a todos!
Personalmente me alegra mucho que compartas tus experiencias con todos nosotros, siempre es muy positivo saber como operan otros compañeros, te va a permitir mejorar mucho tambien a ti ya que en este foro hay grandes traders muy expertos.
Tal y como dices respecto a que copiabas la operaciones de otro trader, creo que has tomado la decision correcta, mejor tomar tus propias operaciones que seguir a otros "supuestos" expertos que venden sus señales y que obviamente no van a perder su dinero sino el tuyo. Algunos de esos expertos no operan en real sino en paper trading aunque venden sus maravillosas operaciones como si las realizaran con su propio dinero...
Mucha suerte compañero y muchos pips!!!
Un saludoForo de Forex Trading United
Para que te funcione desde el mt4 en el método de tickstory debes abrir el mt4 desde el programa del tickstory. Me parece que se llama abrir terminal la opción y previamente haber cargado la ruta del mt4 que quieres que abra.
Un abrazoForo de Forex Trading United
es genial tu historia ya que muchos de aqui nos inspira ver que no estamos solos y que muchas veces lo que pensamos que nadie lo hace en realidad muchos lo hacen y sirve de apoyo, pues vemos que los errores son parte del exito.
Foro de Forex Trading United
Aviso Legal Ley Orgánica 15/1999, de 13 de diciembre, de Protección de Datos de Carácter Personal |