Stratégie de négociation en moyenne mobile

Auteur:ChaoZhang est là., Date: le 18 décembre 2023 à 18h01:59
Les étiquettes:

img

Résumé

Cette stratégie est une stratégie de suivi des tendances qui combine des indicateurs de dynamique et des moyennes mobiles. Elle utilise des moyennes mobiles exponentielles comme principal outil de jugement des tendances et émet des signaux d'achat et de vente en combinaison avec un volume de négociation élevé.

Principes de stratégie

  1. Utilisez l'EMA à 34 périodes comme principal outil de jugement de la tendance. Lorsque le prix dépasse l'EMA, c'est un signal haussier, et lorsqu'il dépasse en dessous, c'est un signal baissier.

  2. Comparer la moyenne mobile de 21 jours du volume avec 1,5 fois la moyenne récente.

  3. Les signaux d'achat ne sont émis que lorsque le prix franchit l'EMA vers le haut et que le volume est élevé. Les signaux de vente ne sont émis que lorsque le prix franchit l'EMA vers le bas et que le volume est élevé.

  4. Après avoir ouvert une position, définissez des taux de stop loss et de profit, qui peuvent être personnalisés.

En tenant compte de facteurs tels que les tendances, la dynamique et la maîtrise des risques, il est relativement complet et stable.

Analyse des avantages

  1. L'utilisation de l'EMA pour déterminer la direction principale de la tendance du marché permet de suivre efficacement les tendances à moyen et à long terme.

  2. La combinaison avec un volume de négociation élevé FILTER peut éviter d'être induit en erreur par de fausses ruptures.

  3. La mise en place de ratios stop loss et take profit permet de contrôler efficacement le risque des transactions individuelles.

  4. L'adoption de stratégies de détention à moyen et à long terme n'est pas affectée par le bruit du marché à haute fréquence et est toujours rentable.

Risques et solutions

  1. La solution est d'ajouter une vérification du volume des transactions.

  2. Les détentions à moyen et long terme augmentent l'occupation du capital.

  3. Les stratégies de négociation de moyennes mobiles peuvent être à la traîne et manquer des opportunités à court terme.

  4. Les fluctuations importantes sur les marchés volatils peuvent entraîner de grosses pertes.

Directions d'optimisation

  1. Testez les forces et les faiblesses des différents paramètres du cycle EMA pour trouver les paramètres optimaux.

  2. Testez l'impact des différents paramètres de stop loss et de profit sur le rendement de la stratégie et la résistance au risque.

  3. Essayez de combiner d'autres indicateurs tels que le MACD et le KDJ pour déterminer les opportunités à court terme.

  4. Optimiser les stratégies de gestion des capitaux telles que le contrôle des positions et les méthodes de stop loss dynamiques.

Résumé

Dans l'ensemble, cette stratégie est une stratégie de détention stable à moyen et long terme. Elle peut effectivement suivre les principales tendances du marché et utiliser des indicateurs de volume pour filtrer les signaux trompeurs. Dans le même temps, des moyens de stop loss et de profit appropriés sont adoptés pour contrôler le risque des transactions individuelles. Elle peut être décrite comme un travail de trading de tendance stable et léger. Avec une optimisation appropriée, je pense qu'elle peut atteindre un taux de rendement de stratégie plus idéal.


/*backtest
start: 2023-12-10 00:00:00
end: 2023-12-17 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © TradingSignalHub

//@version=5
strategy("Di strategy ", overlay=true)

//date setting
fromDay = input(defval = 1, title = "Ngày bắt đầu", group = "Cài đặt thời gian")
fromMonth = input(defval = 1, title = "Tháng bắt đầu", group = "Cài đặt thời gian")
fromYear = input(defval = 2023, title = "Năm bắt đầu", group = "Cài đặt thời gian")

toDay = input(defval = 31, title = "Đến ngày", group = "Cài đặt thời gian")
toMonth = input(defval = 12, title = "Đến tháng", group = "Cài đặt thời gian")
toYear = input(defval = 2033, title = "Đến năm", group = "Cài đặt thời gian")

startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond() => 
    time >= startDate and time <= finishDate ? true : false

//snr setting
price = close
ema34     = input.int(34, minval=2, title="EMA 34", group = "Cài đặt EMA")
pacC        = ta.ema(close,ema34)
pacL        = ta.ema(low,ema34)
pacH        = ta.ema(high,ema34)
L =plot(pacL, color=color.rgb(3, 139, 251), linewidth=1, title="High EMA 34")
H =plot(pacH, color=color.rgb(3, 137, 247), linewidth=1, title="Low EMA 34")
C =plot(pacC, color=color.rgb(4, 138, 248), linewidth=1, title="Close EMA 34")
fill(L,H, color=color.rgb(33, 149, 243, 85),title="Fill dãi EMA 34")

//EMA full setting
ema89 =ta.ema(close,89)
DIema= ta.ema(close,458)
plot(DIema,title="DI_ema",color=color.rgb(247, 214, 3),linewidth=2)
plot(ema89,title="EMA 89",color=color.orange,linewidth=1)
//ema200= ta.ema(close,200)
//ema610= ta.ema(close,610)
//ema144= ta.ema(close,144)
//ema258= ta.ema(close,258)
//plot(ema200,title="EMA 200",color=color.purple,linewidth=2)
//plot(ema610,title="EMA 610",color=color.white,linewidth=2)
//plot(ema144,title="144Banker",color=color.green,linewidth=1)
//plot(ema258,title="258Banker",color=color.yellow,linewidth=1)

EMAbuy = ta.crossover(price, DIema)
EMAsell = ta.crossunder(price, DIema)

//volume setting
vol = (volume)
length = input(21, "Đường Trung Bình Vol", group = "Cài đặt Volume" )
div = input(1.5, "Mức trung bình", group = "Cài đặt Volume" )
up = close > open 
down = open>close
Volhigh = volume> (ta.ema(volume, length)*div)

//Cài đặt lệnh
longCondition = EMAbuy and Volhigh
if time_cond()
    if (longCondition)
        strategy.entry("Long", strategy.long)

shortCondition = EMAsell and Volhigh
if time_cond()
    if (shortCondition)
        strategy.entry("Sell", strategy.short)


stopPer = input.float(1.0, title="Stop Loss %", group = "Cài đặt TP & SL %" ) / 100
takePer = input.float(2.0, title="Take Profit %", group = "Cài đặt TP & SL %" ) / 100

// Determine where you've entered and in what direction
longStop = strategy.position_avg_price * (1 - stopPer)
shortStop = strategy.position_avg_price * (1 + stopPer)
shortTake = strategy.position_avg_price * (1 - takePer)
longTake = strategy.position_avg_price * (1 + takePer)

if strategy.position_size > 0 
    strategy.exit(id="Đóng Long", stop=longStop, limit=longTake)
if strategy.position_size < 0 
    strategy.exit(id="Đóng Sell", stop=shortStop, limit=shortTake)

alertcondition(longCondition, title = "Tín hiệu BUY", message = "Tín hiệu BUY")
alertcondition(shortCondition, title = "Tín hiệu SELL", message = "Tín hiệu SELL")
//PLOT FIXED SLTP LINE
//plotshape(strategy.position_size > 0 ? longStop : na, shape.labelup, color=color.rgb(34, 249, 6, 50), linewidth=1, title="Long SL")
//plot(strategy.position_size < 0 ? shortStop : na, style=plot.style_circles, color=color.rgb(250, 8, 8, 50), linewidth=1, title="Short SL")
//plot(strategy.position_size > 0 ? longTake : na, style=plot.style_linebr, color=color.rgb(59, 248, 7), linewidth=1, title="Long TP")
//plot(strategy.position_size < 0 ? shortTake : na, style=plot.style_linebr, color=color.rgb(247, 7, 7), linewidth=1, title="Short TP")


Plus de