
La stratégie de quantification du suivi des fluctuations multi-périodiques est un système de négociation basé sur des intervalles de fluctuation des prix, qui permet d’identifier les opportunités de négociation potentielles en calculant la portée des fluctuations des prix sur des cycles de temps mensuels, hebdomadaires et journaliers. L’idée centrale de la stratégie est d’identifier des entrées et des sorties à forte probabilité en fonction des intervalles de prix calculés sur la base des fluctuations historiques, de les vérifier à travers des méthodes d’analyse multi-périodiques et de générer des signaux de négociation lorsque les prix franchissent des intervalles de fluctuation spécifiques.
Les principes de base de la stratégie sont basés sur une analyse des fourchettes de fluctuation des prix et des cycles multiples. Plus précisément, la stratégie fonctionne de la manière suivante:
Obtention de données à cycles multiplesLa stratégie passe avant tout:request.securityLa fonction obtient des données de prix pour trois périodes de temps: mensuel (M), hebdomadaire (W) et journalier (D), y compris le prix de clôture, le prix le plus élevé et le prix le plus bas.
Calcul de la plage de fluctuation dynamiqueLa stratégie utilise les données de prix obtenues pour calculer plusieurs niveaux de prix basés sur les fluctuations:
(((高点-低点)*(1.1/系数))+(收盘价)), dont les coefficients sont respectivement 2 et 4, correspondant à des points de résistance à différentes distances.((收盘价)-((高点-低点)*(1.1/系数)))Le calcul des points de soutien à différentes distances.Logistique d’entrée:
Logique de sortie:
Affichage graphique: la stratégie consiste à tracer les points de résistance de soutien clés sur le graphique, en affichant principalement les niveaux H3 et L3 de la ligne de lune et de la courbe, en utilisant différentes couleurs pour les distinguer et faciliter l’analyse visuelle des traders. De plus, le graphique affiche la balise correspondante lorsque le signal de fin de gain est déclenché.
Synchronisation à cycles multiplesEn intégrant les données de lune, de périodes et de jours, la stratégie permet de capturer la structure du marché à différentes périodes de temps, ce qui améliore la fiabilité des signaux. Par rapport à la stratégie à une seule période de temps, l’analyse multi-périodes permet de mieux saisir les tendances du marché.
Adaptation basée sur la volatilité: Le niveau de résistance au support utilisé par la stratégie est calculé en fonction de la fluctuation historique des prix, et non d’un nombre fixe, ce qui permet à la stratégie de s’adapter automatiquement à différents environnements de marché et à la variation des taux de volatilité.
Un cadre de gestion des risques bien définiLa stratégie fournit aux traders un mécanisme de stop loss et de profit-loss relativement objectif en définissant des conditions de sortie basées sur la volatilité, ce qui aide à contrôler le risque de chaque transaction.
Mécanisme de reconnaissance des tendances: la stratégie exige que le prix non seulement franchisse les supports, mais qu’il franchisse également la forme de la ligne K, une combinaison qui aide à filtrer les faux signaux de rupture.
Intuition visuelleEn cartographiant les niveaux de prix et les marqueurs de signaux clés sur des graphiques, les traders peuvent visualiser la structure du marché et les opportunités de trading potentielles, ce qui facilite les décisions et les ajustements stratégiques en temps réel.
Risque de retardLa résistance est soutenue par le calcul des données de la période précédente, ce qui peut entraîner un manque à gagner ou une sortie prématurée des meilleurs points d’entrée dans un marché en évolution rapide.
Risque de fausse percée: Même avec des conditions de confirmation multiples, il est possible que le marché soit faussement brisé, en particulier dans des environnements de marché à faible liquidité ou à forte volatilité. Les solutions comprennent l’augmentation du volume de confirmation ou la définition de conditions de rupture plus strictes.
Paramètre SensibilitéLes facteurs utilisés dans la stratégie (en 1.1⁄2 et en 1.1⁄4) ont une grande influence sur les résultats. Différents marchés et périodes peuvent nécessiter différents paramètres d’optimisation. Il est recommandé de faire un retour sur l’histoire et d’optimiser les paramètres.
Risque de corrélation: Le code contient une référence à BTCUSD (bien que cela soit annoté dans les conditions finales), ce qui indique que la stratégie peut prendre en compte la corrélation entre les actifs. Si la corrélation du marché change, la performance de la stratégie peut être affectée.
Le manque de mécanismes de prévention complets: Bien que la stratégie définisse les conditions de sortie, il n’y a pas de paramètre de stop loss explicite basé sur le prix, ce qui peut entraîner des pertes excessives dans des conditions de marché extrêmes. Il est recommandé d’ajouter un stop loss fixe ou un stop loss dynamique basé sur l’ATR.
Améliorer la gestion des risques: ajouter des mécanismes d’arrêt de perte explicites, tels que des arrêts dynamiques basés sur l’ATR, ou des pourcentages de perte maximale. En même temps, il est possible d’introduire des mécanismes de profit par lots, qui réduisent les positions par étapes à différents niveaux de prix.
Paramètres adaptés: La stratégie actuelle utilise des coefficients de volatilité fixes ((1.1⁄2 et 1.1⁄4), il est possible d’envisager d’ajuster automatiquement ces paramètres en fonction de la volatilité du marché. Par exemple, un coefficient plus grand peut être utilisé pendant les périodes de forte volatilité et un coefficient plus petit pendant les périodes de faible volatilité.
Ajouter un filtreIntroduction d’indicateurs de force de tendance (comme l’ADX) ou d’indicateurs de volatilité (comme l’ATR) comme condition de filtrage supplémentaire. Ne négociez que dans des environnements où la tendance est claire ou la volatilité est appropriée, et évitez de négocier fréquemment dans des marchés qui se stabilisent ou sont trop volatiles.
Filtre par tempsLe système de filtrage de temps a été ajouté afin d’éviter la publication de données économiques majeures ou de transactions à des moments de faible liquidité et d’améliorer la qualité du signal.
Analyse de la quantité intégréeIl est recommandé d’ajouter des conditions de confirmation de volume dans la stratégie, par exemple en demandant un volume de transactions supérieur à la moyenne des cycles précédents au moment de la rupture.
Optimiser les paramètres du système: grâce à une analyse approfondie de l’historique et de la progression, identifier les combinaisons optimales de paramètres dans différents environnements de marché, et même envisager de développer des mécanismes d’ajustement des paramètres dynamiques.
La stratégie de quantification du suivi des fluctuations à plusieurs périodes est un système de négociation basé sur des intervalles de fluctuation des prix, qui permet d’intégrer des données de prix de plusieurs périodes de temps, de calculer des niveaux de résistance de soutien dynamique et d’identifier des opportunités de négociation à forte probabilité. La plus grande caractéristique de la stratégie est d’utiliser la synergie de différentes périodes de temps pour améliorer la fiabilité des signaux de négociation par vérification croisée.
Le principal avantage de la stratégie réside dans son adaptabilité et son cadre d’analyse à cycles multiples, qui lui permettent de rester efficace dans différents environnements de marché. Cependant, les utilisateurs doivent être attentifs aux problèmes de latence, de risque de faux pas et de sensibilité des paramètres de la stratégie et contrôler les pertes potentielles grâce à de bonnes mesures de gestion des risques.
La stratégie a le potentiel d’être un système de négociation robuste grâce à l’optimisation continue de la stratégie, en particulier par des améliorations dans la gestion des risques, l’adaptation des paramètres et les mécanismes de filtrage. Plus important encore, le trader doit comprendre la logique derrière la stratégie et non seulement exécuter les signaux de manière mécanique, afin de pouvoir effectuer les ajustements appropriés lorsque les conditions du marché changent.
/*backtest
start: 2025-03-25 00:00:00
end: 2025-03-26 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"DOGE_USDT"}]
*/
//@version=6
strategy("DOGE/USDT 5X Scalping Strategy", overlay=true, margin_long=20, margin_short=0)
// === Core Parameters ===
fastEMA = input.int(3, "Fast EMA Length", minval=1, maxval=20)
slowEMA = input.int(8, "Slow EMA Length", minval=2, maxval=50)
trendEMA = input.int(55, "Trend EMA Length", minval=10, maxval=200)
atrPeriod = input.int(14, "ATR Period", minval=1, maxval=50)
tradeInterval = input.int(72, "Minutes Between Trades", minval=1, maxval=1440)
// Risk Management
slMultiplier = input.float(1.2, "Stop-Loss (ATR Multiple)", minval=0.5, maxval=5.0, step=0.1)
tpMultiplier = input.float(2.0, "Take-Profit (ATR Multiple)", minval=0.5, maxval=10.0, step=0.1)
riskPct = input.float(1.0, "Risk Per Trade (%)", minval=0.1, maxval=10.0, step=0.1)
leverage = 5.0 // Fixed 5x leverage
// === Calculate Indicators ===
fastLine = ta.ema(close, fastEMA)
slowLine = ta.ema(close, slowEMA)
trendLine = ta.ema(close, trendEMA)
atrValue = ta.atr(atrPeriod)
// === Visualize Indicators ===
// Using explicit colors to ensure visibility
fastColor = #2196F3 // Blue
slowColor = #FF9800 // Orange
trendColor = #757575 // Gray
p1 = plot(fastLine, "Fast EMA", color=fastColor, linewidth=2)
p2 = plot(slowLine, "Slow EMA", color=slowColor, linewidth=2)
p3 = plot(trendLine, "Trend EMA", color=trendColor, linewidth=1)
// Cross detection for visualization
crossUp = ta.crossover(fastLine, slowLine)
crossDown = ta.crossunder(fastLine, slowLine)
plotshape(crossUp, "EMA Cross Up", style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(crossDown, "EMA Cross Down", style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)
// === Trade Logic ===
// Cooldown mechanism
var int lastTradeBarIndex = 0
timeElapsed = (bar_index - lastTradeBarIndex) >= tradeInterval
noActivePosition = strategy.position_size == 0
// Entry conditions
emaCross = ta.crossover(fastLine, slowLine)
trendFilter = close > trendLine
validEntry = emaCross and trendFilter and timeElapsed and noActivePosition
// Position sizing calculation
equity = strategy.equity
riskAmount = equity * (riskPct / 100)
stopDistance = atrValue * slMultiplier
positionSize = math.round((riskAmount / stopDistance) * leverage) // Round to whole tokens for DOGE
// Visualize entry signals
plotshape(validEntry, "Entry Signal", style=shape.circle, location=location.belowbar, color=color.lime, size=size.normal)
// === Strategy Execution ===
if (validEntry)
// Entry
strategy.entry("Long", strategy.long, qty=positionSize)
// Set exit points
stopPrice = close - (atrValue * slMultiplier)
targetPrice = close + (atrValue * tpMultiplier)
strategy.exit("Exit", "Long", stop=stopPrice, limit=targetPrice)
// Reset cooldown timer
lastTradeBarIndex := bar_index