Whale RSI and SMA
- Asesores Expertos
- Mustafa Ozkurkcu
- Versión: 1.0
Este Asesor Experto es un sistema de estilo de inversión que combina un filtro extremo RSI centrado en 50 con una regla de proximidad de 200 SMA. Evalúa las señales sólo en una nueva barra del marco temporal seleccionado y utiliza datos de barra cerrada (shift=1) para reducir el ruido y evitar el parpadeo "en-barra".
Cómo funciona la estrategia
En cada nueva vela (para InpTF ), el EA sigue esta lógica:
-
Computa umbrales RSI alrededor de 50
Un único parámetro crea ambos niveles de compra/venta:-
BuyLevel = 50 - InpRSIThresholdDist
-
SellLevel = 50 + InpRSIThresholdDist
Ejemplo: Dist = 20 → BuyLevel = 30, SellLevel = 70
-
-
Requerir que el precio esté cerca de la SMA 200
La distancia entre el cierre de la última vela cerrada y la SMA debe estar dentro de un rango máximo:-
Distancia (puntos) = abs(cierre1 - sma1) / _Punto
-
Debe ser ≤ InpMaxDistPoints
Si la distancia también es ≤ InpAggroDistPoints, la operación se considera Agresiva y utiliza un buffer SL más ajustado.
-
-
Filtros de confirmación opcionales
-
Filtro de tendencia EMA (opcional)
Si está activado:-
Los largos requieren close1 > ema1
-
Los cortos requieren close1 < ema1
-
-
Filtro de Volumen (opcional)
Si está activado, el volumen de la última barra cerrada debe ser al menos:-
avg_tick_volume(lookback) * InpVolMultiplier
-
-
-
Regla de una posición (por símbolo + magia)
Si ya hay una posición abierta en el mismo símbolo con la misma InpMagic , el EA no abrirá una nueva. -
Cálculo de Stop/Target + normalización de la regla del broker
-
El SL se fija usando el máximo/mínimo de la última barra cerrada más un buffer.
-
El TP está basado en Riesgo/Recompensa o en la Media de Bollinger (con fallback).
-
SL/TP son entonces ajustados para cumplir con StopsLevel / FreezeLevel / Spread más InpExtraStopBufferPts .
-
Reglas de Entrada
Condiciones de COMPRA (Larga)
Una Compra se activa cuando todas son verdaderas:
-
RSI(shift=1) < BuyLevel
-
abs(close1 - sma1) en puntos ≤ InpMaxDistPoints
-
Si el filtro EMA está activado: close1 > ema1
Stop-Loss (SL)
-
SL = low1 - SL_Buffer(puntos)
Take-Profit (TP)
-
Si InpUseRRTP = true :
-
riesgo = entrada - SL
-
TP = entrada + riesgo * InpRR
-
-
Else (BB modo medio):
-
TP = BB_Middle
-
Si BB_Middle no es válido (≤ entrada), se retrocede a RR TP.
-
Condiciones de VENTA (en corto)
Se activa una Venta cuando se cumplen todas:
-
RSI(shift=1) > SellLevel
-
close1 < sma1 (explícito en el código)
-
(sma1 - close1) en puntos ≤ InpMaxDistPoints
-
Si el filtro EMA está activado: close1 < ema1
Stop-Loss (SL)
-
SL = high1 + SL_Buffer(puntos)
Take-Profit (TP)
-
Si InpUseRRTP = true :
-
riesgo = SL - entrada
-
TP = entrada - riesgo * InpRR
-
-
Else (BB modo medio):
-
TP = BB_Middle
-
Si BB_Middle no es válido (≥ entrada), vuelve a RR TP.
-
Parámetros de entrada (todas las variables explicadas)
Timeframe / Indicadores básicos
-
InpTF: Marco temporal de la señal utilizado para todos los cálculos (por defecto: M5).
-
InpRSIPeriod: Periodo del RSI (por defecto: 14).
-
InpSMAPeriod: Periodo SMA (por defecto: 200).
Lógica del Umbral RSI (Centrado en 50)
-
InpRSIThresholdDist: Distancia desde 50 para definir extremos.
-
BuyLevel = 50 - dist
-
SellLevel = 50 + dist
Notas: El EA fija el valor en [0, 50] .
-
Distancia SMA + Buffer SL Agresivo vs Cauteloso
-
InpMaxDistPoints: Distancia máxima permitida de la SMA (puntos).
-
InpAggroDistPoints: Si la distancia está dentro de esta banda más estrecha, la operación es Agresiva.
-
InpSLBufferAggroPts: Buffer SL (puntos) utilizado en modo Agresivo.
-
InpSLBufferCautPts: Buffer SL (puntos) utilizado en modo Precaución.
Filtro de tendencia EMA opcional
-
InpUseEMAFilter: Activa/desactiva el filtro de tendencia EMA.
-
InpEMAPeriod: Periodo EMA (por defecto: 50).
Filtro opcional de volumen (Tick Volume)
-
InpUseVolumeFilter: Habilitar/deshabilitar confirmación de volumen de tick.
-
InpVolLookback: Barras utilizadas para calcular el volumen medio por tick (barras cerradas).
-
InpVolMultiplier: Multiplicador requerido frente a la media (por ejemplo, 1,2 = 20% por encima de la media).
Modo Take-Profit
-
InpUseRRTP:
-
true → TP de riesgo/recompensa.
-
false → Bollinger middle TP (retroceso a RR si no es válido)
-
-
InpRR: Relación riesgo/recompensa (por defecto: 2,0).
-
InpBBPeriod: Periodo de las Bandas de Bollinger (por defecto: 20).
-
InpBBDeviation: Desviación de Bollinger (por defecto: 2.0).
Negociación / Ejecución / Seguridad
-
InpLots: Tamaño de lote solicitado (normalizado al símbolo mín/máx/paso).
-
InpSlippagePoints: Deslizamiento máximo (puntos).
-
InpMagic: Número mágico para seguir las posiciones del EA.
-
InpExtraStopBufferPts: Buffer de seguridad extra (puntos) añadido a la distancia de parada mínima del broker.
El EA aplica efectivamente:
min_stop_distance = max(StopsLevel, FreezeLevel) + Spread(points) + InpExtraStopBufferPts
Comportamiento operativo destacable
-
Se ejecuta sólo una vez por cada nueva barra en InpTF (no hay entradas tick-by-tick).
-
Utiliza señales de barra cerrada ( shift=1 ) para valores RSI/MA/candle.
-
Una posición abierta a la vez por símbolo e InpMagic .
-
Paradas de acuerdo con las reglas del broker: SL/TP se ajustan para cumplir las distancias mínimas; si no es posible, se omite la operación.
-
Los comentarios de las operaciones etiquetan las entradas como Aggro o Caut en función de la distancia SMA.
