Discusión sobre el artículo "Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 29): Boom and Crash Interceptor EA"

 

Artículo publicado Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 29): Boom and Crash Interceptor EA:

Descubre cómo el EA «Boom & Crash Interceptor» transforma tus gráficos en un sistema de alertas proactivo, capaz de detectar movimientos explosivos mediante análisis ultrarrápidos, detección de picos de volatilidad, confirmación de tendencias y filtros de zonas de pivote. Con las flechas verdes «Boom» y rojas «Crash», que te guían en cada decisión, esta herramienta elimina el ruido y te permite sacar partido de los picos del mercado como nunca antes. Descúbrelo y comprueba cómo funciona y por qué puede convertirse en tu próxima ventaja imprescindible.

El EA «Boom & Crash Interceptor» adopta el mismo enfoque disciplinado respecto a los datos del mercado. Una ventana de velocidad móvil determina si el impulso actual del precio supera el comportamiento reciente; un multiplicador de impulso basado en ATR confirma que la volatilidad se ha ampliado de forma significativa; y los filtros de tendencia de media móvil validan la tendencia direccional. Los filtros opcionales de zona de pivote y de horario de sesión suprimen aún más las señales que, de otro modo, surgirían durante los periodos de escasa liquidez. 

Cuando todas las capas lo confirman, el EA traza una flecha definitiva con la indicación «BOOM» o «CRASH» en el gráfico, con colores, desplazamientos y registro en CSV definidos por el usuario. Esto garantiza que la atención se centre en las oportunidades con mayor probabilidad de éxito. En las páginas siguientes se explica cómo se puede calibrar cada capa de detección y cómo implementar esta herramienta MQL5 como un componente sólido y basado en señales dentro de un marco de negociación más amplio.


Autor: Christian Benjamin

 
Gracias de nuevo por tus ideas detalladas y creativas para el mundo de MQL5. Te deseo un futuro lleno de salud a ti y a tus seres queridos.
 
Mustafa Nail Sertoglu #:
Gracias de nuevo por tus ideas detalladas y creativas para el mundo de MQL5. Te deseo un futuro lleno de salud a ti y a tus seres queridos
¡De nada!
Yo también te agradezco mucho que te hayas puesto en contacto conmigo.
 
DESPUÉS DE PASAR POR ESTO, ¿PUEDO DECIR QUE TÚ, QUE ERES DE ÁFRICA, TIENES RAZÓN?
 

Hola,

¿Puedo descargarlo, por favor? No encuentro ningún enlace.

Saludos

Harry

 

Hay algún problema con el detector de velocidad.

ArraySort(d);

Funciona bien en la dirección de compra,

pero para los movimientos negativos, la clasificación no es correcta.
¿Hay que hacerlo por separado o cambiar la fórmula del índice (¡¡¡clasificación de valores negativos en la venta!!!)?

 

if(delta>0) { for(int i = 1; i < VelocityHistoryBars; i++)     d[i - 1] = velHistory[0] - velHistory[i]; ArraySort(d); } if(delta<0) { for(int i = 1; i < VelocityHistoryBars; i++)     d[i - 1] = velHistory[i] - velHistory[0]; ArraySort(d); }

int idx= (int)MathRound((VelocityPctile / 100.0) * (ArraySize(d) - 1)); double velTh = d[ArraySize(d) - 1 - idx]; bool okVel = MathAbs(delta) > velTh;

 

Tengo algunas variantes para la alineación del pivote.
No sé si esto es mejor.
(a partir del precio que constituye el pivote al alza, esperamos un movimiento alcista...)

bool okZone = false;
if((delta > 0 ) && (priceNow > pivot)) okZone = true;
if((delta < 0 ) && (priceNow < pivot)) okZone = true;
bool okZone = false;

if((delta > 0 ) && (priceNow > pivot) && (priceNow < ( pivot + ZONE_Points * _Point)))  okZone = true;
if((delta < 0 ) && (priceNow < pivot) && (priceNow > ( pivot - ZONE_Points * _Point)))  okZone = true;

 

Buena clasificación de las barras de dirección correcta para el detector de velocidad:
Podemos filtrar las barras verdes y rojas por porcentaje.
(La dirección negativa se ha invertido a valores positivos)
0,8 = el 80 % de las barras iban en la dirección correcta.

   double goodBars = 1;

   for(int i=ArraySize(d) - 1; i>=0; i--)
         if(d[i] < 0) goodBars=1 - (i+1.0)/ArraySize(d);