Stratégie de rupture de momentum avec plusieurs indicateurs techniques


Date de création: 2023-11-22 15:56:43 Dernière modification: 2023-11-22 15:56:43
Copier: 0 Nombre de clics: 629
1
Suivre
1617
Abonnés

Stratégie de rupture de momentum avec plusieurs indicateurs techniques

Aperçu

Cette stratégie prend en compte plusieurs indicateurs techniques et effectue des opérations d’achat lorsqu’il est jugé que le marché a une forte dynamique à plusieurs têtes. Plus précisément, la stratégie prend en compte simultanément les 5 indicateurs MACD, RSI, ADX, Stochastic et Brin et génère un signal d’achat lorsque ces indicateurs répondent simultanément à des conditions à plusieurs têtes.

Principe de stratégie

La logique centrale de cette stratégie est d’acheter après avoir jugé que le marché a une forte dynamique à plusieurs niveaux. Les règles de jugement spécifiques sont les suivantes:

  1. Les colonnes actuelles de 5 minutes, 15 minutes et 60 minutes du MACD sont en hausse
  2. Le RSI est supérieur à 60.
  3. ADX est plus grand que 12.
  4. Stochastic %K sur la ligne %D
  5. Brin est sur les rails.

Lorsque les cinq conditions ci-dessus sont réunies, on considère que le marché est dynamique et que les opérations d’achat et de vente sont effectuées à ce moment-là.

La règle de sortie de la transaction est de sortir de la position actuelle lorsque l’EMA de 5 minutes est dépassé au-dessous du prix de clôture de 5 minutes.

Analyse des avantages

Cette stratégie présente les avantages suivants:

  1. Analysez les tendances globales du marché en intégrant plusieurs indicateurs et évitez d’être trompé par un seul indicateur
  2. Utilisation d’une combinaison d’indicateurs à hauts et bas axes temporels pour juger de la continuité de la dynamique à plusieurs niveaux du marché
  3. Le mécanisme de retrait est strict pour éviter l’expansion des pertes
  4. La fréquence des transactions est modérée, pas trop dense

Dans l’ensemble, cette stratégie est judicieuse, bien maîtrisée et adaptée pour capturer des situations de courte durée.

Analyse des risques

Cette stratégie comporte aussi des risques:

  1. Une combinaison de plusieurs indicateurs augmente la probabilité d’erreur de transfert
  2. Les mécanismes de retrait peuvent être trop stricts et vous pouvez vous retirer prématurément des bonnes transactions.
  3. La fréquence des transactions est élevée et les transactions trop fréquentes augmentent le fardeau des commissions

Dans l’ensemble, les risques de cette stratégie sont principalement liés aux erreurs d’entrée et aux sorties prématurées, qui doivent être atténués par l’optimisation des paramètres et l’ajustement des règles.

Direction d’optimisation

Cette stratégie peut être optimisée dans les directions suivantes:

  1. Optimiser les paramètres MACD pour trouver une combinaison de paramètres plus conforme aux lois du marché
  2. Ajustez le RSI pour trouver une meilleure zone de survente
  3. Optimiser les paramètres stochastiques pour trouver de meilleures combinaisons croisées
  4. Ajustement des paramètres de la zone de Brin pour mieux refléter la volatilité du marché
  5. Optimiser ou remplacer les règles du mécanisme de retrait pour réduire la probabilité d’erreurs de retrait

L’optimisation des paramètres et des règles permet d’améliorer encore la rentabilité et la maîtrise des risques de cette stratégie.

Résumer

Cette stratégie prend en compte un large éventail d’indicateurs pour juger des tendances à plusieurs niveaux du marché, le mécanisme d’exit est plus strict. La stratégie est précise, capte les courts courants et maîtrise mieux les risques.

Code source de la stratégie
/*backtest
start: 2022-11-15 00:00:00
end: 2023-11-21 00:00:00
period: 1d
basePeriod: 1h
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/
// © makarandpatil

// This strategy is for Bank Nifty instrument and for intraday purpose only
// It checks for various indicators and gives a buy signal when all conditions are met 
// Bank Nifty when in momentum gives 100-200 points in spot in 5-15 min which is how long the trade duration should be
// Issues - The custom script as per TradingView Pinescripting has an issue of repaint
// More information on repainting issue in this link - https://www.tradingview.com/pine-script-docs/en/v5/concepts/Repainting.html
// Use the script alert only to get notified, however check all the parameters individually before taking the trade
// Also, please perform a backtesting and deep backtesting of this strategy to see if the strategy gave correct buy signals in the past
// The script is made for testing purposes only and is in beta mode. Please use at own risk.

//@version=5
strategy("BankNifty_Bullish_Intraday", overlay=true, margin_long = 100, margin_short = 100)

// Variables
StochLength = input(14, title="Stochastic Length")
smoothK = input(3, title="%K Smoothing")
smoothD = input(3, title="%D Smoothing")
 
 
//INDICATOR CALCULATIONS
 
// 1. MACD
[macdLine, signalLine, histLine] = ta.macd(close[0],12,26,9)
 
macd5 = request.security(syminfo.tickerid, "5", macdLine)
macd15 = request.security(syminfo.tickerid,"15",macdLine)
macd60 = request.security(syminfo.tickerid,"60",macdLine)
 
// 2. RSI Calculation
xRSI = ta.rsi(close, 14)
 
// 3. ADX calculation
[diplus, diminus, adx] = ta.dmi(14,14)
// plot(adx,color = color.black)
 
// 4. Stochastic Calculation
k = ta.sma(ta.stoch(close, high, low, StochLength), smoothK)
d = ta.sma(k, smoothD)
 
// 5. Bollinger Band calculation
[middle, upper, lower] = ta.bb(close, 20, 2)
 
 
//CONDITIONS
 
// 1. Conditions for MACD
macd5Uptick = macd5[0] > macd5[1]
macd15Uptick = macd15[0] > macd15[1]
macd60Uptick = macd60[0] >= macd60[1]
 
// 2. Condition for xRSI
RSIStrong = xRSI > 60
 
// 3. Condition for ADX
ADXUngali = adx >= 12
 
// 4. Condition for Stochastic
StochPCO = k > d
 
// 5. Condition for Bollinger Band
BBCU = upper > upper [1]
 
//Evaluate the long condition
// longCondition = macd5Uptick and macd15Uptick and RSIStrong and ADXUngali and StochPCO and BBCU
longCondition = macd5Uptick and macd15Uptick and macd60Uptick and RSIStrong and ADXUngali and StochPCO and BBCU
// longCondition = macd5Uptick and macd15Uptick and RSIStrong and ADXUngali and StochPCO and BBCU

if (longCondition)
    strategy.entry("Buy", strategy.long,alert_message = "BankNifty_Buy_Momentum")

shortCondition = close < ta.ema(close,5)
if (shortCondition)
    strategy.entry("BuySquareoff", strategy.short, alert_message = "BankNifty_Closed_Below_5EMA")