Stratégie de trading combinée à indicateurs multiples


Date de création: 2023-09-13 12:18:05 Dernière modification: 2023-09-13 12:18:05
Copier: 0 Nombre de clics: 685
1
Suivre
1617
Abonnés

Cette stratégie utilise une combinaison d’indicateurs techniques, tels que le système de courbe uniforme, l’indicateur RSI et l’indicateur Stoch, pour juger de la tendance des prix et de l’état de survente et de survente. La stratégie rassemble les avantages de plusieurs indicateurs pour prendre des décisions de négociation plus stables et plus fiables.

Le principe de la stratégie:

  1. Calculer la moyenne des EMA de plusieurs groupes pour déterminer la direction de la tendance de la ligne moyenne longue.

  2. Calculez le RSI et le Stoch pour déterminer si vous êtes en sur-achat ou en sur-vente.

  3. Le système de ligne moyenne émet des signaux de multiplication et effectue des opérations de multiplication lorsque le RSI n’est pas en survente et que le Stoch n’est pas en survente.

  4. Lorsque le système de ligne moyenne émet un signal de dépassement, le RSI n’est pas survendu et le Stoch n’est pas survendu, effectuez une opération de dépassement.

  5. Lorsque l’un des indicateurs émet un signal de revers, effectuez une opération de placement.

Les avantages de cette stratégie:

  1. La vérification de la combinaison de plusieurs indicateurs réduit la probabilité d’une transaction erronée.

  2. Les indicateurs peuvent se compléter et améliorer le jugement sur le marché.

  3. Des règles de négociation claires, faciles à suivre et à vérifier.

Le risque de cette stratégie:

  1. Il est important d’évaluer soigneusement la répétitivité des indicateurs et d’éviter toute surélévation.

  2. Les paramètres d’optimisation des combinaisons multi-indicateurs sont plus complexes.

  3. L’augmentation des indicateurs n’améliore pas forcément l’efficacité de la stratégie.

En résumé, la combinaison de plusieurs indicateurs peut améliorer l’efficacité de la prise de décision, mais il faut tenir compte de la difficulté d’optimisation et des problèmes de répétition des indicateurs, en gardant la simplicité et la fiabilité de la stratégie.

Code source de la stratégie
/*backtest
start: 2022-09-06 00:00:00
end: 2023-09-12 00:00:00
period: 3d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
// strategy(title='Combined Strategy', default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=.0020, pyramiding=0, slippage=3, overlay=true)

//----------//
// MOMENTUM //
//----------//
ema8 = ta.ema(close, 5)
ema13 = ta.ema(close, 9)
ema21 = ta.ema(close, 13)
ema34 = ta.ema(close, 21)
ema55 = ta.ema(close, 34)

plot(ema8, color=color.new(color.red, 0), style=plot.style_line, title='5', linewidth=1)
plot(ema13, color=color.new(color.orange, 0), style=plot.style_line, title='9', linewidth=1)
plot(ema21, color=color.new(color.yellow, 0), style=plot.style_line, title='13', linewidth=1)
plot(ema34, color=color.new(color.aqua, 0), style=plot.style_line, title='21', linewidth=1)
plot(ema55, color=color.new(color.lime, 0), style=plot.style_line, title='34', linewidth=1)

longEmaCondition = ema8 > ema13 and ema13 > ema21 and ema21 > ema34 and ema34 > ema55
exitLongEmaCondition = ema13 < ema55

shortEmaCondition = ema8 < ema13 and ema13 < ema21 and ema21 < ema34 and ema34 < ema55
exitShortEmaCondition = ema13 > ema55

// ----------  //
// OSCILLATORS //
// ----------- //
rsi = ta.rsi(close, 14)
longRsiCondition = rsi < 70 and rsi > 40
exitLongRsiCondition = rsi > 70

shortRsiCondition = rsi > 30 and rsi < 60
exitShortRsiCondition = rsi < 30

Stochastic
length = 14, smoothK = 3, smoothD = 3
kFast = ta.stoch(close, high, low, 14)
dSlow = ta.sma(kFast, smoothD)

longStochasticCondition = kFast < 80
exitLongStochasticCondition = kFast > 95

shortStochasticCondition = kFast > 20
exitShortStochasticCondition = kFast < 5

//----------//
// STRATEGY //
//----------//

longCondition = longEmaCondition and longRsiCondition and longStochasticCondition and strategy.position_size == 0
exitLongCondition = (exitLongEmaCondition or exitLongRsiCondition or exitLongStochasticCondition) and strategy.position_size > 0

if (longCondition)
  strategy.entry("LONG", strategy.long)
if (exitLongCondition)
  strategy.close("LONG")

shortCondition = shortEmaCondition and shortRsiCondition and shortStochasticCondition and strategy.position_size == 0
exitShortCondition = (exitShortEmaCondition or exitShortRsiCondition or exitShortStochasticCondition) and strategy.position_size < 0

if (shortCondition)
  strategy.entry("SHORT", strategy.short)
if (exitShortCondition)
  strategy.close("SHORT")