Stratégie à effet de levier croisée avec moyenne mobile exponentielle

MATIC EMA MA
Date de création: 2024-04-30 16:26:37 Dernière modification: 2024-04-30 16:26:37
Copier: 0 Nombre de clics: 534
1
Suivre
1617
Abonnés

Stratégie à effet de levier croisée avec moyenne mobile exponentielle

Aperçu

La stratégie utilise la croisée des moyennes mobiles des deux indices (EMA) aux 20e et 55e jours pour déterminer le signal de négociation. Lorsque l’EMA à court terme traverse l’EMA à long terme, un signal d’achat est émis et, à l’inverse, un signal de vente est émis. La stratégie introduit également le trading à effet de levier, qui augmente les gains grâce au levier, tout en augmentant les risques.

Principe de stratégie

  1. Les 20e et 55e journées de l’EMA (ou MA) sont calculées.
  2. Pour déterminer si une EMA à court terme est supérieure à une EMA à long terme, si c’est le cas, la variable readyToEnter est définie sur true, ce qui signifie qu’elle est prête à entrer.
  3. Si readyToEnter est vrai et que le prix touche l’EMA à court terme, l’achat est exécuté, tout en réinitialisant readyToEnter à false.
  4. Si l’EMA à court terme est inférieur à l’EMA à long terme, la position est nulle.
  5. La taille de la position est définie en fonction des paramètres de levier.
  6. Exécuter la stratégie uniquement dans les intervalles de réponse définis par l’utilisateur.

Avantages stratégiques

  1. Le croisement de la moyenne est une méthode simple et facile à utiliser pour déterminer les tendances, adaptée à la plupart des marchés.
  2. Les investisseurs doivent être en mesure d’utiliser leurs actifs dans le cadre de leurs activités de trading.
  3. Il a ajouté des restrictions de conditions pour réduire le risque de faux signaux.
  4. Les options EMA et MA sont proposées pour s’adapter aux préférences des utilisateurs.
  5. La structure du code est claire, facile à comprendre et à modifier.

Risque stratégique

  1. Les transactions à effet de levier augmentent les risques et peuvent entraîner des pertes importantes en cas d’erreur de jugement
  2. Le passage de la ligne médiane est retardé et peut manquer le meilleur moment d’entrée.
  3. Les frais de transaction peuvent être élevés en cas de fluctuation du marché, ce qui entraîne des frais de transaction élevés.

Orientation de l’optimisation de la stratégie

  1. On peut essayer d’optimiser le cycle de la moyenne pour trouver les paramètres qui conviennent le mieux au marché actuel.
  2. Il est possible d’introduire d’autres indicateurs, tels que le RSI, le MACD, etc., pour juger de la tendance globale et améliorer le taux de victoire.
  3. Il est possible de définir des stop-loss et des stop-loss pour contrôler le risque d’une transaction.
  4. Il est possible d’ajuster la taille du levier en fonction de la dynamique des fluctuations du marché, en augmentant le levier pendant les heures de fluctuation et en réduisant le levier pendant les heures de fluctuation.
  5. Il est possible d’introduire des algorithmes d’apprentissage automatique pour adapter les paramètres d’optimisation.

Résumer

Cette stratégie, combinant des opérations de croisement de parité et d’effet de levier, augmente les gains tout en tenant compte des tendances du marché. Cependant, l’effet de levier comporte également un risque élevé et doit être utilisé avec prudence. En outre, la stratégie a de la place pour l’optimisation et peut améliorer la performance de la stratégie en introduisant plus d’indicateurs, de paramètres d’ajustement dynamique, etc.

Code source de la stratégie
/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA Crossover Strategy with Leverage, Conditional Entry, and MA Option", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// Inputs for backtesting period
startDate = input(defval=timestamp("2023-01-01"), title="Start Date")
endDate = input(defval=timestamp("2024-04-028"), title="End Date")

// Input for leverage multiplier
leverage = input.float(3.0, title="Leverage Multiplier", minval=1.0, maxval=10.0, step=0.1)

// Input for choosing between EMA and MA
useEMA = input.bool(true, title="Use EMA (true) or MA (false)?")

// Input source and lengths for MAs
src = close
ema1_length = input.int(20, title='EMA/MA-1 Length')
ema2_length = input.int(55, title='EMA/MA-2 Length')

// Calculate the MAs based on user selection
pema1 = useEMA ? ta.ema(src, ema1_length) : ta.sma(src, ema1_length)
pema2 = useEMA ? ta.ema(src, ema2_length) : ta.sma(src, ema2_length)

// Tracking the crossover condition for strategy entry
crossedAbove = ta.crossover(pema1, pema2)

// Define a variable to track if a valid entry condition has been met
var bool readyToEnter = false

// Check for MA crossover and update readyToEnter
if (crossedAbove)
    readyToEnter := true

// Entry condition: Enter when price touches MA-1 after the crossover // and (low <= pema1 and high >= pema1)
entryCondition = readyToEnter

// Reset readyToEnter after entry
if (entryCondition)
    readyToEnter := false

// Exit condition: Price crosses under MA-1
exitCondition = ta.crossunder(pema1, pema2)

// Check if the current bar's time is within the specified period
inBacktestPeriod = true

// Execute trade logic only within the specified date range and apply leverage to position sizing
if (inBacktestPeriod)
    if (entryCondition)
        strategy.entry("Long", strategy.long, qty=strategy.equity * leverage / close)
    if (exitCondition)
        strategy.close("Long")


// Plotting the MAs for visual reference
ema1_color = pema1 > pema2 ? color.red : color.green
ema2_color = pema1 > pema2 ? color.red : color.green
plot(pema1, color=ema1_color, style=plot.style_line, linewidth=1, title='EMA/MA-1')
plot(pema2, color=ema2_color, style=plot.style_line, linewidth=1, title='EMA/MA-2')