Stratégie de profit multicouche avec croisement de moyennes mobiles

SMA MA
Date de création: 2024-04-26 15:16:12 Dernière modification: 2024-04-26 15:16:12
Copier: 1 Nombre de clics: 582
1
Suivre
1617
Abonnés

Stratégie de profit multicouche avec croisement de moyennes mobiles

Aperçu

La stratégie utilise le croisement de deux moyennes mobiles pour juger de la tendance du marché, en ouvrant des positions en plus et en moins lorsque la moyenne mobile à court terme est traversée par la moyenne mobile à long terme. En même temps, la stratégie utilise une méthode de clôture à plusieurs niveaux, en se plaçant en lots lorsque le prix atteint le niveau de profit prévu, afin de maximiser les gains et de contrôler les risques.

Principe de stratégie

Le cœur de la stratégie est d’utiliser des moyennes mobiles de différentes périodes pour capturer les tendances du marché. Lorsque le marché est susceptible d’entrer dans une tendance à la hausse, il ouvre plus de positions lorsque le marché est susceptible d’entrer dans une tendance à la hausse, alors que le marché est susceptible d’entrer dans une tendance à la baisse lorsque le marché est susceptible d’entrer dans une tendance à la baisse.

Avantages stratégiques

  1. Simple et efficace: la stratégie est basée sur le principe classique de la croisée des moyennes mobiles, simple et facile à comprendre, et a également prouvé son efficacité dans la pratique.
  2. Les gains sont maximisés en définissant plusieurs niveaux de gains et en réduisant les positions en lots lorsque les prix atteignent ces niveaux, tout en contrôlant les risques.
  3. Flexible en paramètres: les paramètres de la stratégie sont très flexibles et l’utilisateur peut ajuster la période de la moyenne mobile et le niveau de rentabilité en fonction de ses propres besoins et caractéristiques du marché pour obtenir des résultats optimaux.

Risque stratégique

  1. Risque de fluctuation du marché: lorsque le marché est très volatile, des signaux croisés fréquents peuvent conduire à des transactions fréquentes de la stratégie, augmentant les coûts de transaction et le risque de retrait.
  2. Risque de paramétrage: un paramétrage inapproprié peut entraîner une mauvaise performance de la stratégie, comme un mauvais choix de la période de la moyenne mobile ou un niveau de profit déraisonnable.
  3. Risque de détection de tendances: la stratégie est principalement axée sur les tendances, et les faux signaux peuvent être plus fréquents en cas de choc ou de tendances incertaines, ce qui entraîne des pertes.

Orientation de l’optimisation de la stratégie

  1. Combinaison avec d’autres indicateurs: il peut être envisagé de combiner d’autres indicateurs techniques, tels que le RSI, le MACD, etc., pour améliorer la précision et la fiabilité de la détection des tendances.
  2. Paramètres d’optimisation: il est possible de rechercher les meilleures périodes de moyenne mobile et les meilleurs paramètres de niveau de rentabilité, en effectuant un retour et une optimisation, pour s’adapter à différentes conditions de marché.
  3. Ajout d’un stop loss: Vous pouvez envisager d’ajouter un mécanisme de stop loss pour contrôler davantage le risque, par exemple un stop loss dynamique en fonction des paramètres ATR.
  4. Modifier les conditions d’entrée et de sortie: il est possible d’explorer davantage de conditions d’entrée et de sortie, en tenant compte de facteurs tels que le volume des transactions, la résistance au support, etc., pour améliorer la stabilité de la stratégie.

Résumer

La stratégie de profit à plusieurs niveaux de la moyenne mobile est une stratégie de suivi de tendance simple et efficace qui permet de tirer plus de profit de la tendance tout en contrôlant les risques. Cependant, la stratégie présente également des limites et des risques qui doivent être optimisés et améliorés en fonction des conditions spécifiques du marché et des besoins des utilisateurs.

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

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ValdesTradingBots

//Follow Us for More Insights and Updates!

//Join our community and be the first to know about our new releases and trading tips

//Facebook Group: Join our vibrant community at https://www.facebook.com/groups/707469081464839/
//Twitter: Follow us for quick updates and insights at https://twitter.com/ValdesBots

//We're excited to have you with us!

//@version=5
strategy("Valdes Trading Bots MA Cross with Multiple Take Profits", overlay=true)

shortPeriod = input(18, title="Short MA Period")
longPeriod = input(32, title="Long MA Period")

// Take Profit Settings
tp1Enabled = input(true, title="Enable Take Profit 1")
tp1Perc = input(15, title="Take Profit 1 (%)") / 100
tp1QtyPerc = input(25, title="Take Profit 1 Qty (%)") / 100

tp2Enabled = input(true, title="Enable Take Profit 2")
tp2Perc = input(30, title="Take Profit 2 (%)") / 100
tp2QtyPerc = input(25, title="Take Profit 2 Qty (%)") / 100

tp3Enabled = input(true, title="Enable Take Profit 3")
tp3Perc = input(45, title="Take Profit 3 (%)") / 100
tp3QtyPerc = input(25, title="Take Profit 3 Qty (%)") / 100

tp4Enabled = input(true, title="Enable Take Profit 4")
tp4Perc = input(60, title="Take Profit 4 (%)") / 100
tp4QtyPerc = input(25, title="Take Profit 4 Qty (%)") / 100

shortMA = ta.sma(close, shortPeriod)
longMA = ta.sma(close, longPeriod)

// Determine the trend
uptrend = shortMA > longMA
downtrend = shortMA < longMA

// Assign candle colors based on the trend
candleColor = uptrend ? color.rgb(9, 112, 0) : downtrend ? color.rgb(255, 0, 0) : color.new(color.blue, 0)

plot(shortMA, title="Short MA", color=color.rgb(9, 112, 0))
plot(longMA, title="Long MA", color=color.rgb(255, 0, 0))

// Create a cross signal
longCross = ta.crossover(shortMA, longMA)
shortCross = ta.crossunder(shortMA, longMA)

// Strategy entry
if (longCross)
    strategy.entry("Long", strategy.long)
if (shortCross)
    strategy.entry("Short", strategy.short)

// Strategy take profit
if (tp1Enabled and strategy.position_size > 0)
    strategy.exit("TP1 Long", "Long", qty_percent=tp1QtyPerc, limit=strategy.position_avg_price * (1 + tp1Perc))
if (tp1Enabled and strategy.position_size < 0)
    strategy.exit("TP1 Short", "Short", qty_percent=tp1QtyPerc, limit=strategy.position_avg_price * (1 - tp1Perc))

if (tp2Enabled and strategy.position_size > 0)
    strategy.exit("TP2 Long", "Long", qty_percent=tp2QtyPerc, limit=strategy.position_avg_price * (1 + tp2Perc))
if (tp2Enabled and strategy.position_size < 0)
    strategy.exit("TP2 Short", "Short", qty_percent=tp2QtyPerc, limit=strategy.position_avg_price * (1 - tp2Perc))

if (tp3Enabled and strategy.position_size > 0)
    strategy.exit("TP3 Long", "Long", qty_percent=tp3QtyPerc, limit=strategy.position_avg_price * (1 + tp3Perc))
if (tp3Enabled and strategy.position_size < 0)
    strategy.exit("TP3 Short", "Short", qty_percent=tp3QtyPerc, limit=strategy.position_avg_price * (1 - tp3Perc))

if (tp4Enabled and strategy.position_size > 0)
    strategy.exit("TP4 Long", "Long", qty_percent=tp4QtyPerc, limit=strategy.position_avg_price * (1 + tp4Perc))
if (tp4Enabled and strategy.position_size < 0)
    strategy.exit("TP4 Short", "Short", qty_percent=tp4QtyPerc, limit=strategy.position_avg_price * (1 - tp4Perc))

// Plotting the signals on the chart
plotshape(series=longCross, title="Long Cross", location=location.belowbar, color=color.rgb(9, 112, 0), style=shape.triangleup, size=size.small)
plotshape(series=shortCross, title="Short Cross", location=location.abovebar, color=color.rgb(255, 0, 0), style=shape.triangledown, size=size.small)

// Apply candle color
barcolor(candleColor)