Système de trading révolutionnaire à double moyenne mobile dynamique

EMA SMA CROSS
Date de création: 2024-12-05 16:22:32 Dernière modification: 2024-12-05 16:22:32
Copier: 1 Nombre de clics: 384
1
Suivre
1617
Abonnés

Système de trading révolutionnaire à double moyenne mobile dynamique

Aperçu

Il s’agit d’un système de stratégie de trading automatisé basé sur des croisements bi-égalines. Le système utilise une moyenne mobile indicielle de 9 cycles et 21 cycles (EMA) comme indicateur central pour effectuer des transactions en capturant les signaux de croisement de deux lignes d’égalines. Le système intègre une gestion stop-loss, tout en offrant une interface visuelle capable d’afficher visuellement les signaux de négociation et les niveaux de prix critiques.

Principe de stratégie

La stratégie consiste à construire un système de négociation en utilisant des EMA rapides ((9 cycles) et des EMA lents ((21 cycles)). Lorsque les EMA rapides traversent les EMA lents vers le haut, le système génère un signal de multiplication; lorsque les EMA rapides traversent les EMA lents vers le bas, le système génère un signal de rupture.

Avantages stratégiques

  1. Signal clair: utilisation de la croix uniforme comme signal de transaction, le signal est clair, facile à comprendre et à exécuter
  2. Risques maîtrisés: Système intégré de gestion des stop-loss, avec des mesures de contrôle des risques prédéfinies pour chaque transaction
  3. Support visuel: fournit une fonctionnalité d’affichage des étiquettes de transaction contenant des informations clés telles que l’heure d’entrée, le prix, les arrêts de perte et les arrêts de position
  4. Flexibilité des paramètres: permet d’ajuster les paramètres tels que le cycle EMA, le stop loss ratio, etc. pour s’adapter à différentes conditions de marché
  5. Mécanisme de liquidation complète: liquidation automatique des positions en cas de signal de retour, afin d’éviter que les positions ne se compensent mutuellement

Risque stratégique

  1. Risque de choc des marchés: des faux signaux de rupture peuvent se produire fréquemment dans des situations de choc horizontal, entraînant des pertes continues
  2. Risque de glissement: dans les moments de forte volatilité du marché, le risque de glissement peut entraîner une déviation du prix de transaction réel par rapport au prix idéal
  3. Risques de gestion de fonds: le risque de transaction par défaut de 100% de fonds peut être trop élevé
  4. L’EMA a une certaine latence en soi, ce qui peut entraîner une perte du meilleur moment d’entrée ou un retard de sortie.
  5. La dépendance à un seul indicateur: une dépendance uniquement à un croisement biunivoque peut négliger d’autres informations importantes sur le marché

Orientation de l’optimisation de la stratégie

  1. Ajout d’un indicateur de confirmation de tendance: il est recommandé d’ajouter l’ADX ou l’indicateur de force de tendance, filtrant les faux signaux de marché sur les oscillations
  2. Optimisation de la gestion des fonds: il est recommandé d’ajouter une fonctionnalité de gestion dynamique des positions, afin d’ajuster le taux d’ouverture en fonction des fluctuations du marché
  3. Amélioration des mécanismes d’arrêt des pertes: il est possible d’envisager d’ajouter une fonction de suivi des pertes pour mieux protéger les bénéfices
  4. Ajout d’un filtre d’environnement de marché: ajout d’un indicateur de volatilité qui arrête automatiquement la négociation dans un environnement de marché qui ne convient pas à la négociation
  5. Optimisation des mécanismes de confirmation des signaux: il peut être envisagé d’augmenter la confirmation de la livraison ou d’autres indicateurs techniques

Résumer

Il s’agit d’un système de stratégie de croisement linéaire uniformément conçu, rationnel et logiquement clair. Grâce à l’utilisation intégrée des signaux de croisement EMA et des mécanismes de gestion des risques, la stratégie est capable de tirer profit des marchés tendanciels. Bien qu’il existe des risques inhérents, la stabilité et la fiabilité de la stratégie peuvent être encore améliorées par l’orientation optimisée proposée.

Code source de la stratégie
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-04 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//
//  ██╗         █████╗         ██████╗     ██████╗     ██╗   ██╗    ██╗
//  ██║        ██╔══██╗       ██╔═══██╗    ██╔══██╗    ██║   ██║    ██║
//  ██║        ███████║       ██║   ██║    ██║  ██║    ██║   ██║    ██║
//  ██║        ██╔══██║       ██║   ██║    ██║  ██║    ██║   ██║    ██║
//  ███████╗   ██║  ██║       ╚██████╔╝    ██████╔╝    ╚██████╔╝    ██║
//  ╚══════╝   ╚═╝  ╚═╝        ╚═════╝     ╚═════╝      ╚═════╝     ╚═╝
//
//  BTC-EMA做多策略(5分钟确认版) - 作者:LAODUI
//  版本:2.0
//  最后更新:2024
// ═══════════════════════════════════════════════════════════════════════════

strategy("EMA Cross Strategy", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// 添加策略参数设置
var showLabels = input.bool(true, "显示标签", group="显示设置")
var stopLossPercent = input.float(5.0, "止损百分比", minval=0.1, maxval=20.0, step=0.1, group="风险管理")
var takeProfitPercent = input.float(10.0, "止盈百分比", step=0.1, group="风险管理")

// EMA参数设置
var emaFastLength = input.int(9, "快速EMA周期", minval=1, maxval=200, group="EMA设置")
var emaSlowLength = input.int(21, "慢速EMA周期", minval=1, maxval=200, group="EMA设置")

// 计算EMA
ema_fast = ta.ema(close, emaFastLength)
ema_slow = ta.ema(close, emaSlowLength)

// 绘制EMA线
plot(ema_fast, "快速EMA", color=color.blue, linewidth=2)
plot(ema_slow, "慢速EMA", color=color.red, linewidth=2)

// 检测交叉
crossOver = ta.crossover(ema_fast, ema_slow)  
crossUnder = ta.crossunder(ema_fast, ema_slow)

// 格式化时间显示 (UTC+8)
utc8Time = time + 8 * 60 * 60 * 1000
timeStr = str.format("{0,date,MM-dd HH:mm}", utc8Time)

// 计算止损止盈价格
longStopLoss = strategy.position_avg_price * (1 - stopLossPercent / 100)
longTakeProfit = strategy.position_avg_price * (1 + takeProfitPercent / 100)
shortStopLoss = strategy.position_avg_price * (1 + stopLossPercent / 100)
shortTakeProfit = strategy.position_avg_price * (1 - takeProfitPercent / 100)

// 交易逻辑
if crossOver
    if strategy.position_size < 0  
        strategy.close("做空")     
    strategy.entry("做多", strategy.long)  
    if showLabels
        label.new(bar_index, high, text="做多入场\n" + timeStr + "\n入场价: " + str.tostring(close) + "\n止损价: " + str.tostring(longStopLoss) + "\n止盈价: " + str.tostring(longTakeProfit), color=color.green, textcolor=color.white, style=label.style_label_down, yloc=yloc.abovebar)

if crossUnder
    if strategy.position_size > 0  
        strategy.close("做多")     
    strategy.entry("做空", strategy.short)  
    if showLabels
        label.new(bar_index, low, text="做空入场\n" + timeStr + "\n入场价: " + str.tostring(close) + "\n止损价: " + str.tostring(shortStopLoss) + "\n止盈价: " + str.tostring(shortTakeProfit), color=color.red, textcolor=color.white, style=label.style_label_up, yloc=yloc.belowbar)

// 设置止损止盈
if strategy.position_size > 0  // 多仓止损止盈
    strategy.exit("多仓止损止盈", "做多", stop=longStopLoss, limit=longTakeProfit)
    
if strategy.position_size < 0  // 空仓止损止盈
    strategy.exit("空仓止损止盈", "做空", stop=shortStopLoss, limit=shortTakeProfit)