El artículo Desarrollo de sistema de comercio por Fractales indicador Fractales ha sido publicado:
Autor: Mohamed Abdelmaaboud
Por favor, responda a las preguntas.
1. ¿Por qué usas el valor del Fractal en la 2ª barra cerrada? Todavía no se ha formado. Creo que deberías usar el valor de la 3ª barra cerrada:
CopyBuffer(fracDef,UPPER_LINE,3,1,fracUpArray); CopyBuffer(fracDef,LOWER_LINE,3,1,fracDownArray);
2. ¿Por qué los llamas sistemas de trading? No hacen operaciones. Sólo comentarios sobre el gráfico.
2. ¿Por qué los llamas sistemas de trading? No hacen operaciones. Sólo comentarios sobre el gráfico.
La vela actual es 0, la anterior es 1, y la tercera es 2 no 3.
Los sistemas de trading tal y como están programados se basan en pasos sistemáticos y lógicos para ayudarte a operar aunque sean comentarios, Puedes añadir órdenes de envío si los has probado y te han resultado útiles.
Hola, me he tomado la libertad de implementar tu ejemplo "Fractales_con_Alligator" en las funciones previstas para ello (declaración/definición). Por favor, corrígeme si meequivoco😊.
//crear matrices double fracUpArray[]; double fracDownArray[]; MqlRates priceArray[]; double jawsArray[]; double teethArray[]; double lipsArray[]; // init int fracDef; int Data; int alligatorDef; //obtener valores double fracUpValue; double fracDownValue; double closingPrice; double jawsValue; double teethValue; double lipsValue; //crear variables bool para enviar señales de compra y venta al mismo tiempo bool isBuy; bool isSell; int OnInit() { //crear variables bool para enviar señales de compra y venta al mismo tiempo isBuy = false; isSell = false; ArraySetAsSeries(fracUpArray, true); ArraySetAsSeries(fracDownArray, true); ArraySetAsSeries(jawsArray, true); ArraySetAsSeries(teethArray, true); ArraySetAsSeries(lipsArray, true); fracDef = iFractals(_Symbol, _Period); Data = CopyRates(_Symbol, _Period, 0, 3, priceArray); alligatorDef = iAlligator(_Symbol, _Period, 13, 8, 8, 5, 5, 3, MODE_SMMA,PRICE_MEDIAN); return(INIT_SUCCEEDED); } void OnTick() { CopyBuffer(fracDef, UPPER_LINE, 2, 1, fracUpArray); CopyBuffer(fracDef, LOWER_LINE, 2, 1, fracDownArray); CopyBuffer(alligatorDef, 0, 0, 3, jawsArray); CopyBuffer(alligatorDef, 1, 0, 3, teethArray); CopyBuffer(alligatorDef, 2, 0, 3, lipsArray); //obtener valores fracUpValue = NormalizeDouble(fracUpArray[0], 5); fracDownValue = NormalizeDouble(fracDownArray[0], 5); closingPrice = priceArray[0].close; jawsValue = NormalizeDouble(jawsArray[0], 5); teethValue = NormalizeDouble(teethArray[0], 5); lipsValue = NormalizeDouble(lipsArray[0], 5); //condiciones de la estrategia y comentario sobre el gráfico //en caso de compra if(lipsValue>teethValue && lipsValue > jawsValue && teethValue > jawsValue && closingPrice > teethValue && fracDownValue != EMPTY_VALUE) { Comment("Buy", "\n", "jawsValue = ", jawsValue, "\n", "teethValue = ", teethValue, "\n", "lipsValue = ", lipsValue, "\n", "Fractals Low around: ", fracDownValue); isBuy = true; } // fin si //en caso de venta if(lipsValue < teethValue && lipsValue < jawsValue && teethValue < jawsValue && closingPrice < teethValue && fracUpValue != EMPTY_VALUE) { Comment("Sell", "\n", "jawsValue = ", jawsValue, "\n", "teethValue = ", teethValue, "\n", "lipsValue = ", lipsValue, "\n", "Fractals High around: ", fracUpValue); isSell = true; } // fin si } void OnDeinit(const int reason) { EventKillTimer(); ObjectsDeleteAll(0,0,-1); IndicatorRelease(fracDef); IndicatorRelease(Data); IndicatorRelease(alligatorDef); ArrayFree(fracUpArray); ArrayFree(fracDownArray); ArrayFree(jawsArray); ArrayFree(teethArray); ArrayFree(lipsArray); Comment(""); }
Hola , gracias por un artículo tan claro ... me sale un error en mi código fractal (2024.11.10 17:42:12.121 _24 Dev 3 EA Strat1 (EURUSD,H1) _24 Dev 3 EA Strat1.mq5:void OnDeinit(const int):OnDeinit:48 Código de error:INDICATOR_DATA_NOT_FOUND ) .
Cuando ejecuto tu código obtengo el mismo error.
Por favor, ¿puede ayudarme? He probado muchas combinaciones diferentes.
Gracias por su ayuda.
Jay
Me gustaría saber si es realmente rentable aplicar este sistema suyo?
He implementado fractales / aligátores (utilizando sus códigos) y mi experiencia es que hay muchas señales falsas. El problema general con los fractales es que estamos 2 velas por delante de la señal fractal. Lo estoy combinando con el RSI (70/30) y otros indicadores para ver si puedo encontrar entradas de buena calidad.
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Artículo publicado Aprendiendo a diseñar un sistema de trading con Fractals:
Bienvenidos a un nuevo artículo de nuestra serie destinada a la creación de sistemas comerciales basados en indicadores técnicos populares. Hoy analizaremos otra herramienta técnica, el indicador Fractals, y desarrollaremos sistemas comerciales basados en este para operar en el terminal MetaTrader 5.
1. Máximos y mínimos de los fractales
Para esta estrategia, crearemos un sistema comercial que retornará los máximos y mínimos del indicador Fractals como un comentario en el gráfico. Para hacer esto, se monitorearán los valores de fracUp y fracDown. Si el valor de fracUp es mayor que cero, o si su valor no está vacío y fracDown está vacío, el sistema comercial retornará la señal como un comentario en el gráfico con los siguientes valores:
De lo contrario, si el valor de fracDown es mayor que cero o si su valor no está vacío y fracUp está vacío, el sistema comercial retornará una señal bajista como un comentario en el gráfico con los siguientes valores:
El esquema de esta estrategia se muestra en la siguiente figura:
Autor: Mohamed Abdelmaaboud