Les ressources ont été chargées... Je charge...

Système de négociation à support dynamique à double échéancier

Auteur:ChaoZhang est là., Date: 2024-12-05 16:44:56 Je vous en prie.
Les étiquettes:SMALe taux d'intérêt

img

Résumé

Cette stratégie est un système de trading de support dynamique à double échéancier qui combine les signaux de croisement SMA et EMA sur des échéanciers hebdomadaires et quotidiens. Le système utilise des bandes de support formées entre les moyennes mobiles pour identifier les tendances du marché et les opportunités de trading, améliorant la précision des transactions grâce à la confirmation des signaux de deux périodes de temps différentes.

Principes de stratégie

Le principe de base consiste à surveiller les croisements des moyennes mobiles et les positions relatives sur deux périodes:

  1. L'intervalle de temps long (hebdomadaire) utilise une SMA de 20 semaines et une EMA de 21 semaines, l'intervalle de temps court (quotidien) utilise une SMA de 50 jours et une EMA de 51 jours.
  2. Dans les longs délais, des signaux longs sont générés lorsque l'EMA franchit le sommet de la SMA et que les positions sont fermées sur les croisements à la baisse.
  3. Dans le court laps de temps, les signaux longs se produisent lorsque l'EMA dépasse la SMA et que l'EMA à court terme dépasse l'EMA à long terme.
  4. Toutes les positions longues sont fermées lorsque des signaux courts sont générés par un court laps de temps ou que des croisements à la baisse se produisent sur un long laps de temps
  5. La stratégie fonctionne dans des intervalles de temps spécifiés avec fermeture automatique des positions en dehors de ces intervalles

Les avantages de la stratégie

  1. Mécanisme de confirmation multiple: réduit les faux signaux grâce à la confirmation à deux délais
  2. Bandes de soutien dynamiques: les bandes de soutien entre les moyennes mobiles s'adaptent aux changements du marché
  3. Gestion complète des risques: prise en compte des coûts de négociation et des slippages avec dimensionnement des positions en pourcentage
  4. Une forte adaptabilité: les bandes de soutien s'adaptent automatiquement à la volatilité du marché
  5. Règles opérationnelles claires: conditions d'entrée et de sortie bien définies, faciles à mettre en œuvre et backtest

Risques stratégiques

  1. Risque d'instabilité des marchés: peut générer de fréquents faux signaux sur les marchés latéraux
  2. Risque de décalage: les moyennes mobiles présentent un décalage inhérent, ce qui peut entraîner l'absence de points d'entrée optimaux
  3. Sensibilité des paramètres: le rendement de la stratégie dépend fortement de la sélection de la moyenne mobile de la période
  4. Dépendance de l'environnement du marché: Performe mieux sur les marchés en tendance mais peut avoir des difficultés dans des conditions très volatiles
  5. Risque de dimensionnement des positions: la position de pourcentage fixe peut présenter un risque excessif dans certaines conditions de marché

Directions d'optimisation

  1. Incorporer des indicateurs de volatilité: envisager l'ajout d'ATR pour la dimensionnement dynamique des positions
  2. Optimiser la sélection des paramètres: tester en arrière différentes périodes de moyenne mobile pour optimiser les performances du système
  3. Ajouter des filtres d'environnement de marché: mettre en œuvre des indicateurs de force de tendance pour filtrer les conditions de marché inappropriées
  4. Améliorer les mécanismes de stop-loss: envisager l'ajout d'arrêts de retard ou fixes pour un meilleur contrôle des risques
  5. Améliorer la gestion des positions: ajuster dynamiquement la taille des positions en fonction de la force du signal et de la volatilité du marché

Conclusion

Cette stratégie construit un système de trading relativement robuste en combinant des signaux de croisement de moyenne mobile de différents délais. Elle identifie les tendances du marché à travers le concept de bande de support et utilise plusieurs mécanismes de confirmation pour améliorer la précision du trading.


/*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
strategy("Demo GPT - Bull Market Support Band", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_value=0.1, slippage=3)

start_date = input(timestamp("2018-01-01 00:00 +0000"), title="Start Date")
end_date = input(timestamp("2069-12-31 00:00 +0000"), title="End Date")

lsmaLength = input.int(20, title="Long SMA Length", minval=1)
lemaLength = input.int(21, title="Long EMA Length", minval=1)
customLongTimeframe = input.timeframe("W", title="Long Timeframe")  // Khung thời gian dài
ssmaLength = input.int(50, title="Short SMA Length", minval=1)
semaLength = input.int(51, title="Short EMA Length", minval=1)
customShortTimeframe = input.timeframe("D", title="Short Timeframe")  // Khung thời gian ngắn

source = close

// Tính toán SMA và EMA cho khung thời gian dài
smaLong = ta.sma(source, lsmaLength)
emaLong = ta.ema(source, lemaLength)
outSmaLong = request.security(syminfo.tickerid, customLongTimeframe, smaLong)
outEmaLong = request.security(syminfo.tickerid, customLongTimeframe, emaLong)

// Tính toán SMA và EMA cho khung thời gian ngắn
smaShort = ta.sma(source, ssmaLength)
emaShort = ta.ema(source, semaLength)
outSmaShort = request.security(syminfo.tickerid, customShortTimeframe, smaShort)
outEmaShort = request.security(syminfo.tickerid, customShortTimeframe, emaShort)

// Plot các chỉ báo trên biểu đồ
smaPlotLong = plot(outSmaLong, color=color.new(color.red, 0), title='20w SMA (Long)')
emaPlotLong = plot(outEmaLong, color=color.new(color.green, 0), title='21w EMA (Long)')
smaPlotShort = plot(outSmaShort, color=color.new(color.red, 0), title='20d SMA (Short)')
emaPlotShort = plot(outEmaShort, color=color.new(color.green, 0), title='21d EMA (Short)')

// Fill vùng giữa các đường SMA và EMA
fill(smaPlotLong, emaPlotLong, color=color.new(color.orange, 75), fillgaps=true)
fill(smaPlotShort, emaPlotShort, color=color.new(color.orange, 75), fillgaps=true)

// Điều kiện long và short cho khung thời gian dài
longConditionLong = ta.crossover(outEmaLong, outSmaLong)
shortConditionLong = ta.crossunder(outEmaLong, outSmaLong)

// Điều kiện long và short cho khung thời gian ngắn
longConditionShort = ta.crossover(outEmaShort, outSmaShort) and (outEmaShort > outEmaLong)
shortConditionShort = ta.crossunder(outEmaShort, outSmaShort) and (outEmaShort > outEmaLong) // Điều kiện short khi EMA ngắn hạn cắt xuống dưới SMA ngắn hạn và EMA ngắn hạn cao hơn EMA dài hạn

// Kiểm tra điều kiện trong khoảng thời gian được chỉ định
inDateRange = true

// Nếu khung ngắn hạn xuất hiện tín hiệu short, ưu tiên đóng tất cả các lệnh Long
if shortConditionShort and inDateRange
    strategy.close_all()

// Nếu khung dài có tín hiệu short, đóng tất cả các lệnh Long
if shortConditionLong and inDateRange
    strategy.close_all()

// Nếu khung ngắn hạn có tín hiệu long và không có tín hiệu short từ khung dài, vào lệnh Long
if longConditionShort and not shortConditionLong and not shortConditionShort and inDateRange
    strategy.entry("Long", strategy.long)

// Đóng tất cả các lệnh khi không trong khoảng thời gian được chọn
if not inDateRange
    strategy.close_all()


Relationnée

Plus de