
La stratégie est un système de trading de suivi de tendance innovant qui utilise la technologie de l’aplatissement de l’indice à deux niveaux pour identifier les tendances du marché. Le système génère deux lignes de tendance en traitant les données de prix avec un aplatissement de l’indice spécial pour capturer les mouvements à court et à long terme du marché. Le système intègre un module complet de gestion des risques, comprenant des paramètres d’arrêt et de perte, ainsi que des fonctions de gestion de position flexibles.
Le cœur de la stratégie est son algorithme unique de lissage à deux couches. Tout d’abord, le système traite les prix de clôture avec un traitement pondéré, calculé comme suit:*Le système génère un signal de transaction lorsque la courbe à court terme traverse la courbe à long terme. Le système génère des signaux de multiplication et de rupture lorsque la courbe à court terme traverse la courbe à long terme. Le système contient également un système de gestion de position basé sur le pourcentage, qui utilise par défaut 100% des fonds du compte pour les transactions.
Il s’agit d’un système de suivi des tendances conçu de manière rationnelle et logique. Grâce à la technique de l’indexation à deux niveaux et à un système complet de gestion des risques, la stratégie peut bien fonctionner dans un marché en tendance. Cependant, les utilisateurs doivent ajuster la taille de leur position en fonction de leur tolérance au risque et il est recommandé de faire une vérification complète avant de négocier en direct.
/*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))