
La estrategia es un complejo sistema de negociación que combina una serie de indicadores técnicos, que utilizan principalmente los tres indicadores centrales de la nube de mercado (Ichimoku Cloud), el índice de tendencia promedio (ADX) y el precio promedio ponderado por volumen de transacción (VWAP) para identificar tendencias en el mercado, verificar la fuerza de la dinámica y confirmar la posición de los precios. La estrategia mejora la precisión y la fiabilidad de las transacciones mediante el análisis multidimensional, especialmente para el comercio de tendencias a medio y largo plazo.
La estrategia se basa en un mecanismo de verificación de tres niveles:
Las señales de intercambio generan condiciones: Señales de compra: precio por encima de las bandas A y B + ADX>25 + precio por encima de VWAP Señales de venta: precio por debajo de las bandas A y B + ADX>25 + precio por debajo de VWAP
En un mercado convulso, se pueden generar señales de negociación frecuentes que aumentan los costos de las transacciones. Solución: aumentar el límite mínimo de tiempo de tenencia o añadir un filtro al indicador de oscilación.
El mercado puede cambiar rápidamente, lo que podría provocar un retroceso mayor. Solución: Establezca la posición de parada adecuada y considere la posibilidad de ajustar la parada de manera dinámica con el indicador ATR.
La configuración de múltiples condiciones puede hacer que se pierdan algunas oportunidades potenciales de negociación. Solución: los parámetros se pueden ajustar dinámicamente según las diferentes condiciones del mercado, o se pueden configurar diferentes combinaciones de parámetros.
La estrategia combina varios indicadores técnicos consolidados y fiables para construir un sistema de negociación completo. El sistema no solo incluye funciones centrales como la identificación de tendencias, la confirmación de movimientos y la verificación de precios, sino que también proporciona reglas de negociación claras y mecanismos de control de riesgos.
/*backtest
start: 2025-02-12 00:00:00
end: 2025-02-15 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Binance","currency":"TRUMP_USDT"}]
*/
//@version=5
strategy("Ichimoku + ADX + VWAP Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// --- Ichimoku Cloud Parameters ---
conversionPeriods = 9
basePeriods = 26
laggingSpan2Periods = 52
displacement = 26
// --- Ichimoku Cloud Calculation ---
conversionLine = (ta.highest(high, conversionPeriods) + ta.lowest(low, conversionPeriods)) / 2
baseLine = (ta.highest(high, basePeriods) + ta.lowest(low, basePeriods)) / 2
leadingSpanA = (conversionLine + baseLine) / 2
leadingSpanB = (ta.highest(high, laggingSpan2Periods) + ta.lowest(low, laggingSpan2Periods)) / 2
// Plot Ichimoku Cloud
plot(conversionLine, color=color.blue, title="Conversion Line")
plot(baseLine, color=color.red, title="Base Line")
plot(leadingSpanA, color=color.green, title="Leading Span A", offset=displacement)
plot(leadingSpanB, color=color.orange, title="Leading Span B", offset=displacement)
fill(plot(leadingSpanA, offset=displacement), plot(leadingSpanB, offset=displacement),
color=leadingSpanA > leadingSpanB ? color.new(color.green, 90) : color.new(color.red, 90),
title="Ichimoku Cloud")
// --- ADX Calculation ---
adx_length = 14
upMove = high - high[1]
downMove = low[1] - low
plusDM = upMove > downMove and upMove > 0 ? upMove : 0
minusDM = downMove > upMove and downMove > 0 ? downMove : 0
tr = ta.tr(true)
smoothedPlusDM = ta.rma(plusDM, adx_length)
smoothedMinusDM = ta.rma(minusDM, adx_length)
smoothedTR = ta.rma(tr, adx_length)
plusDI = (smoothedPlusDM / smoothedTR) * 100
minusDI = (smoothedMinusDM / smoothedTR) * 100
dx = math.abs(plusDI - minusDI) / (plusDI + minusDI) * 100
adx = ta.rma(dx, adx_length)
// Plot ADX
adx_threshold = 25
hline(adx_threshold, "ADX Threshold", color=color.gray)
plot(adx, color=color.purple, title="ADX")
// --- VWAP Calculation ---
vwap_val = ta.vwap(close)
plot(vwap_val, color=color.blue, title="VWAP", linewidth=2)
// --- Buy and Sell Conditions ---
// Buy Condition:
// - Cena je nad oboma Leading Span A a B
// - ADX je nad prahovou hodnotou
// - Cena je nad VWAP
buyCondition = close > leadingSpanA and close > leadingSpanB and adx > adx_threshold and close > vwap_val
// Sell Condition:
// - Cena je pod oboma Leading Span A a B
// - ADX je nad prahovou hodnotou
// - Cena je pod VWAP
sellCondition = close < leadingSpanA and close < leadingSpanB and adx > adx_threshold and close < vwap_val
// Plot Buy/Sell Signals
plotshape(series=buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sellCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// --- Execute Trades ---
if (buyCondition)
strategy.entry("Long", strategy.long)
if (sellCondition)
strategy.close("Long")