
La estrategia es un innovador sistema de trading de seguimiento de tendencias que utiliza una tecnología de doble nivel de suavización del índice para identificar las tendencias del mercado. El sistema genera dos líneas de tendencia para capturar los movimientos a corto y largo plazo del mercado mediante un tratamiento especial de suavización del índice de los datos de precios. El sistema integra un módulo completo de gestión de riesgos, que incluye la configuración de stop-loss, y una función flexible de administración de posiciones.
El núcleo de la estrategia es su exclusivo algoritmo de suavización de índices en dos niveles. En primer lugar, el sistema usa un tratamiento ponderado del precio de cierre, calculado como:*Se calcula la curva de suavización de 9 y 30 ciclos respectivamente mediante una función de suavización de índices personalizada. Cuando la curva de corto plazo atraviesa la curva de largo plazo, el sistema genera una señal de negociación.
Se trata de un sistema de seguimiento de tendencias de diseño razonable y con claridad lógica. La estrategia puede funcionar bien en un mercado de tendencias a través de la tecnología de suavización de índices en dos capas y un sistema completo de gestión de riesgos. Sin embargo, los usuarios deben ajustar el tamaño de las posiciones según su capacidad de asumir el riesgo y se recomienda realizar una verificación de retroalimentación adecuada antes de operar en el mercado real.
/*backtest
start: 2024-02-10 00:00:00
end: 2025-02-08 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Dynamic Trend Navigator AI [CodingView]", overlay=true, initial_capital=100000, default_qty_type=strategy.percent_of_equity , default_qty_value=200 )
// ==================================================================================================
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © CodingView_23
//
// Script Name: Dynamic Trend Navigator
// Developed by: theCodingView Team
// Contact: [email protected]
// Website: www.theCodingView.com
//
// Description: Implements an adaptive trend-following strategy using proprietary smoothing algorithms.
// Features include:
// - Dual timeframe trend analysis
// - Custom exponential smoothing technique
// - Integrated risk management (profit targets & stop-loss)
// - Visual trend direction indicators
// ==================================================================================================
// ====== Enhanced Input Configuration ======
primaryLookbackWindow = input.int(9, "Primary Trend Window", minval=2)
secondaryLookbackWindow = input.int(30, "Secondary Trend Window", minval=5)
// ====== Custom Exponential Smoothing Implementation ======
customSmoothingFactor(periods) =>
smoothingWeight = 2.0 / (periods + 1)
smoothingWeight
adaptivePricePosition(priceSource, lookback) =>
weightedSum = 0.0
smoothingCoefficient = customSmoothingFactor(lookback)
cumulativeWeight = 0.0
for iteration = 0 to lookback - 1 by 1
historicalWeight = math.pow(1 - smoothingCoefficient, iteration)
weightedSum := weightedSum + priceSource[iteration] * historicalWeight
cumulativeWeight := cumulativeWeight + historicalWeight
weightedSum / cumulativeWeight
// ====== Price Transformation Pipeline ======
modifiedClose = (high + low + close * 2) / 4
smoothedSeries1 = adaptivePricePosition(modifiedClose, primaryLookbackWindow)
smoothedSeries2 = adaptivePricePosition(modifiedClose, secondaryLookbackWindow)
// ====== Signal Detection System ======
trendDirectionUp = smoothedSeries1 > smoothedSeries2 and smoothedSeries1[1] <= smoothedSeries2[1]
trendDirectionDown = smoothedSeries1 < smoothedSeries2 and smoothedSeries1[1] >= smoothedSeries2[1]
// ====== Visual Representation Module ======
plot(smoothedSeries1, "Dynamic Trend Line", #4CAF50, 2)
plot(smoothedSeries2, "Market Phase Reference", #F44336, 2)
// ====== Risk Management Configuration ======
enableRiskParameters = input.bool(true, "Activate Risk Controls")
profitTargetUnits = input.float(30, "Profit Target Points")
lossLimitUnits = input.float(30, "Stop-Loss Points")
// ====== Position Management Logic ======
var float entryPrice = na
var float profitTarget = na
var float stopLoss = na
// ====== Long Position Logic ======
if trendDirectionUp
strategy.close("Short", comment="Short Close")
strategy.entry("Long", strategy.long)
entryPrice := close
profitTarget := close + profitTargetUnits
stopLoss := close - lossLimitUnits
if enableRiskParameters
strategy.exit("Long Exit", "Long", limit=profitTarget, stop=stopLoss)
// ====== Short Position Logic ======
if trendDirectionDown
strategy.close("Long", comment="Long Close")
strategy.entry("Short", strategy.short)
entryPrice := close
profitTarget := close - profitTargetUnits
stopLoss := close + lossLimitUnits
if enableRiskParameters
strategy.exit("Short Exit", "Short", limit=profitTarget, stop=stopLoss)
// ====== Visual Signals ======
plotshape(trendDirectionUp, "Bullish", shape.labelup, location.belowbar, #00C853, text="▲", textcolor=color.white)
plotshape(trendDirectionDown, "Bearish", shape.labeldown, location.abovebar, #D50000, text="▼", textcolor=color.white)
// ====== Branding Module ======
var brandingTable = table.new(position.bottom_right, 1, 1)
if barstate.islast
table.cell(brandingTable, 0, 0, "Trading System v2.0", text_color=color.new(#607D8B, 50))