Stratégie de suivi des tendances et de contrôle des risques à double moyenne mobile

EMA
Date de création: 2024-12-20 14:30:29 Dernière modification: 2024-12-20 14:30:29
Copier: 1 Nombre de clics: 371
1
Suivre
1617
Abonnés

Stratégie de suivi des tendances et de contrôle des risques à double moyenne mobile

Aperçu

La stratégie est un système de suivi des tendances basé sur le croisement des moyennes mobiles indicielles de 110 et 200 jours (EMA). La stratégie détermine les tendances du marché en observant le croisement des EMAs de courte période et des EMAs de longue période, et maîtrise les risques en combinant un mécanisme d’arrêt et de perte. Le système exécute automatiquement les opérations de placement correspondantes après la confirmation du signal de tendance, tout en surveillant le risque de position en temps réel.

Principe de stratégie

La logique de base de la stratégie est basée sur la continuité des tendances des prix et capture les signaux de conversion de tendance par la croisée des EMA110 et EMA200. Lorsqu’une courte courbe moyenne (EMA110) traverse la courbe moyenne (EMA200), elle indique une tendance à la hausse, et le système émet plusieurs signaux.

Avantages stratégiques

  1. Capture de tendance: capture des tendances à moyen et long terme grâce à un croisement bi-homogène pour filtrer efficacement le bruit du marché à court terme
  2. Contrôle des risques: un système de stop-loss intégré permet de contrôler efficacement le risque d’une transaction
  3. Logique d’exécution rigoureuse: les positions inversées sont automatiquement liquidées avant d’être ouvertes, afin d’éviter la création de nouvelles positions
  4. Indications de signaux claires: affichage des signaux de transaction visuellement via la table de signaux de signaux située en haut à droite de l’interface
  5. Les paramètres sont raisonnables: choisir 110 et 200 jours comme périodes de ligne moyenne, ce qui permet de mieux équilibrer la sensibilité et la stabilité

Risque stratégique

  1. Risque de choc: les transactions fréquentes peuvent entraîner des pertes dans un marché en choc horizontal
  2. Risque de glissement: risque de glissement de transaction plus important en cas de forte volatilité du marché
  3. Risque de renversement de tendance: le stop loss peut ne pas être suffisamment rapide en cas de renversement soudain de tendance
  4. Risque d’optimisation des paramètres : une suroptimisation des paramètres peut conduire à un surajustement de la stratégie
  5. Risque systémique: risque de risque systémique en cas de forte volatilité du marché

Orientation de l’optimisation de la stratégie

  1. Introduction d’indicateurs de chiffre d’affaires: analyse combinée des chiffres d’affaires pour confirmer l’efficacité des tendances
  2. Optimisation des mécanismes de stop-loss: utilisation de stop-loss mobile ou ATR dynamique peut être envisagée
  3. Ajouter un filtre de tendance: ajouter un indicateur de force de tendance pour filtrer les signaux de tendance faible
  4. Amélioration de la gestion des positions: ajustement dynamique de la taille des positions en fonction de l’intensité de la tendance
  5. Ajoutez un contrôle de retrait: définissez une limite de retrait maximale et arrêtez la transaction lorsqu’elle atteint un seuil

Résumer

La stratégie gère les risques en capturant les tendances en croisement linéaire et en combinant un mécanisme d’arrêt-stop, est conçue de manière rationnelle et logiquement rigoureuse. Bien que la performance puisse être médiocre dans un marché en turbulence, la stabilité et la rentabilité de la stratégie peuvent être encore améliorées grâce à l’orientation optimisée proposée.

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

//@version=5
strategy("EMA110/200 Cross with Stop-Loss and Take-Profit", overlay=true)

// 定义EMA110和EMA200
ema110 = ta.ema(close, 110)
ema200 = ta.ema(close, 250)

// 画出EMA
plot(ema110, color=color.blue, title="EMA110")
plot(ema200, color=color.red, title="EMA200")

// 计算交叉信号
longCondition = ta.crossover(ema110, ema200)  // EMA110上穿EMA200,做多
shortCondition = ta.crossunder(ema110, ema200)  // EMA110下穿EMA200,做空

// 设置止损和止盈
stopLoss = 0.01  // 止损1%
takeProfit = 0.005  // 止盈0.5%

// 判断是否已有仓位
isLong = strategy.position_size > 0  // 当前是否为多头仓位
isShort = strategy.position_size < 0  // 当前是否为空头仓位

// 执行策略:做多时平空,做空时平多
if (longCondition and not isLong)  // 如果满足做多条件并且当前没有多头仓位
    if (isShort)  // 如果当前是空头仓位,先平空
        strategy.close("Short")
    strategy.entry("Long", strategy.long)  // 执行做多
    strategy.exit("Take Profit/Stop Loss", "Long", stop=close * (1 - stopLoss), limit=close * (1 + takeProfit))

if (shortCondition and not isShort)  // 如果满足做空条件并且当前没有空头仓位
    if (isLong)  // 如果当前是多头仓位,先平多
        strategy.close("Long")
    strategy.entry("Short", strategy.short)  // 执行做空
    strategy.exit("Take Profit/Stop Loss", "Short", stop=close * (1 + stopLoss), limit=close * (1 - takeProfit))

// 在表格中显示信号
var table myTable = table.new(position.top_right, 1, 1)
if (longCondition and not isLong)
    table.cell(myTable, 0, 0, "Buy Signal", text_color=color.green)
if (shortCondition and not isShort)
    table.cell(myTable, 0, 0, "Sell Signal", text_color=color.red)