Combinaison d'une stratégie de moyenne mobile double et d'un indicateur stochastique


Date de création: 2024-01-12 11:16:52 Dernière modification: 2024-01-12 11:16:52
Copier: 0 Nombre de clics: 567
1
Suivre
1617
Abonnés

Combinaison d’une stratégie de moyenne mobile double et d’un indicateur stochastique

Aperçu

Cet article décrit une stratégie de trading quantitatif combinant une stratégie de double courbe et un indicateur aléatoire. Cette stratégie utilise la capacité de suivi de la tendance de la courbe mobile et les caractéristiques de survente et de survente de l’indicateur aléatoire pour former un signal de trading.

Principe de stratégie

La stratégie est composée de deux volets:

  1. Une stratégie à double sens

Les courbes rapides et les courbes lentes sont utilisées pour former des signaux de vente et de vente. Les courbes rapides permettent de capturer plus rapidement les tendances de variation des prix, tandis que les courbes lentes filtrent les faux signaux.

  1. Indicateur aléatoire

L’utilisation des caractéristiques de choc d’un indicateur aléatoire pour identifier les cas de survente. Lorsque l’indicateur aléatoire est supérieur à la ligne courte, c’est un signal de survente, et lorsque l’indicateur aléatoire est inférieur à la ligne courte, c’est un signal de survente.

Les signaux sont ensuite combinés pour former un signal de transaction définitif. La stratégie bi-équilibrée suit les principales tendances, les indicateurs aléatoires aident à éviter les tendances défavorables.

Analyse des forces stratégiques

  • Les avantages de l’indicateur combiné bi-homogène et aléatoire sont plus stables.
  • Le suivi de la tendance de la moyenne, la confirmation de l’indicateur au hasard, fonctionne bien.
  • Les paramètres peuvent être personnalisés pour s’adapter aux différentes conditions du marché.

Analyse stratégique des risques

  • Les lignes à double équilibre sont sujettes à de faux signaux.
  • Un paramètre d’indicateur aléatoire mal réglé peut manquer une tendance.
  • Les paramètres doivent être adaptés à l’évolution de la situation.

Il est possible de réduire le risque en optimisant les combinaisons de paramètres, ou d’ajouter un stop-loss pour contrôler les pertes.

Orientation de l’optimisation de la stratégie

Cette stratégie peut être optimisée dans les domaines suivants:

  1. Tester l’impact des différents paramètres de la moyenne sur l’efficacité de la stratégie.
  2. Test de l’influence de différents paramètres d’indicateurs aléatoires sur la stabilité de la stratégie.
  3. L’ajout d’un filtre à tendance améliore la stratégie.
  4. La mise en place d’un mécanisme de suivi dynamique des pertes pour les contrôler.

Résumer

Cette stratégie utilise les avantages de la stratégie de double équilibre et de l’indicateur aléatoire. En suivant les principales tendances du marché, tout en évitant les retournements défavorables. Une meilleure efficacité de la stratégie peut être obtenue en optimisant la combinaison de paramètres.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 24/11/2020
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// As the name suggests, High low bands are two bands surrounding the underlying’s 
// price. These bands are generated from the triangular moving averages calculated 
// from the underlying’s price. The triangular moving average is, in turn, shifted 
// up and down by a fixed percentage. The bands, thus formed, are termed as High 
// low bands. The main theme and concept of High low bands is based upon the triangular 
// moving average. 
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos

    
HLB(Length, PercentShift) =>
    pos = 0.0
    xTMA = sma(sma(close, Length), Length)
    xHighBand = xTMA + (xTMA * PercentShift / 100)
    xLowBand = xTMA - (xTMA * PercentShift / 100)
    pos :=iff(close > xHighBand, 1,
           iff(close <xLowBand, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & High Low Bands", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
Length_HLB = input(14, minval=1)
PercentShift = input(1, minval = 0.01, step = 0.01)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posHLB = HLB(Length_HLB, PercentShift)
pos = iff(posReversal123 == 1 and posHLB == 1 , 1,
	   iff(posReversal123 == -1 and posHLB == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1 , 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )