Stratégie de trading oscillante à double moyenne mobile


Date de création: 2023-12-04 15:28:12 Dernière modification: 2023-12-04 15:28:12
Copier: 0 Nombre de clics: 614
1
Suivre
1619
Abonnés

Stratégie de trading oscillante à double moyenne mobile

Aperçu

La stratégie de négociation de choc à double équilibre utilise la combinaison d’une moyenne mobile 220 et d’un indicateur de choc de la bande de prix auto-adaptative pour former un signal de négociation et réaliser des bénéfices dans des conditions de choc. Cette stratégie s’applique principalement aux marchés aux caractéristiques de choc évidentes, tels que les indices boursiers, les devises étrangères, les matières premières et les monnaies numériques.

Principe de stratégie

La stratégie de négociation de choc à double équilibre est composée de deux parties:

  1. L’indice 220 est une moyenne mobile. L’indicateur génère un signal d’achat lorsque le prix a franchi la ligne de 20 jours et que la baisse n’a pas franchi la ligne de 2 jours. Il génère un signal de vente lorsque le prix a franchi la ligne de 2 jours et que la hausse n’a pas franchi la ligne de 20 jours.

  2. L’indicateur de volatilité des bandes de prix auto-adaptatives. Il construit des bandes de prix basées sur la gamme de fluctuations des prix et détermine les points de retournement du marché en brisant les bandes de prix supérieures et inférieures, générant des signaux d’achat et de vente.

La stratégie de négociation en doubles oscillations de la moyenne moyenne se produit lorsque l’indicateur de mouvement de l’indice 220 et l’indicateur d’oscillation de la bande de prix adaptative sont émis simultanément. Cela permet de filtrer efficacement certains signaux inefficaces et d’améliorer la qualité du signal.

Analyse des avantages

Les stratégies de négociation de volatilité de la double courbe combinant l’utilisation de l’indicateur de courbe et de l’indicateur de volatilité présentent les caractéristiques suivantes:

  1. Signal de transaction fiable. La vérification à deux facteurs améliore la qualité du signal et filtre efficacement les signaux inefficaces.

  2. L’utilisation combinée d’une ligne moyenne et d’un indicateur de bande de prix permet de déterminer avec précision les points de basculement dans une situation de choc.

  3. La fréquence d’opération est modérée. La stratégie de la moyenne mobile à deux indices permet de réduire le nombre de transactions invalides.

  4. Les règles de signaux sont claires, les paramètres sont simples et il est facile de programmer pour réaliser des transactions automatiques.

Analyse des risques

Les stratégies de négociation de choc à double équilibre comportent également les risques suivants:

  1. Le signal peut être retardé plus longtemps. Les signaux de filtrage combinés de l’indicateur double peuvent être manqués et l’occasion d’une reprise rapide du prix peut être manquée.

  2. La stratégie dépend principalement de l’évolution de la convulsion. Lorsque la convulsivité s’atténue, les signaux de négociation et la marge de profit diminuent.

  3. L’impact de l’optimisation des paramètres est significatif. La définition des paramètres de l’indicateur a un impact significatif sur les résultats des transactions. Une optimisation du système est nécessaire pour déterminer les paramètres optimaux.

Pour les risques ci-dessus, il est possible d’utiliser une méthode d’ajustement dynamique des paramètres pour répondre aux changements de l’environnement du marché, tout en définissant une stratégie de stop-loss pour contrôler le risque de perte.

Direction d’optimisation

Les stratégies de négociation de la volatilité à double équilibre peuvent être optimisées dans les domaines suivants:

  1. Testez plus de combinaisons de lignes moyennes et de bandes de prix. Testez systématiquement des combinaisons de lignes moyennes et de bandes de prix de différentes longueurs pour trouver la combinaison optimale.

  2. Ajout d’un signal de filtrage des indicateurs de volume de transaction. En combinaison avec un signal de volume de transaction anormal et un signal de filtrage des prix moyens, la qualité du signal peut être encore améliorée.

  3. Mettre en place un mécanisme de stop-loss dynamique. Lorsque la volatilité du marché s’atténue, le point de stop-loss est ajusté de manière appropriée pour réduire les pertes individuelles.

  4. Combination avec des modèles d’apprentissage en profondeur. Utilisation de modèles d’apprentissage en profondeur tels que LSTM pour vérifier les signaux de transaction, rendant les stratégies plus intelligentes.

Résumer

La stratégie de négociation de choc à double équilibre produit un signal de négociation de choc de haute qualité, capable de s’adapter à des marchés à forte volatilité tels que les indices boursiers, les devises et les matières premières. Elle présente des avantages tels que la qualité du signal et la facilité d’automatisation. Il est également nécessaire de contrôler le risque de retard dans l’identification des points de basculement et de l’ajustement dynamique des paramètres.

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

//@version=5
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 02/03/2022
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This indicator plots 2/20 exponential moving average. For the Mov 
// Avg X 2/20 Indicator, the EMA bar will be painted when the Alert criteria is met.
//
// Second strategy
// The adaptive price zone (APZ) is a volatility-based technical indicator that helps investors 
// identify possible market turning points, which can be especially useful in a sideways-moving 
// market. It was created by technical analyst Lee Leibfarth in the article “Identify the 
// Turning Point: Trading With An Adaptive Price Zone,” which appeared in the September 2006 issue 
// of the journal Technical Analysis of Stocks and Commodities.
// This indicator attempts to signal significant price movements by using a set of bands based on 
// short-term, double-smoothed exponential moving averages that lag only slightly behind price changes. 
// It can help short-term investors and day traders profit in volatile markets by signaling price 
// reversal points, which can indicate potentially lucrative times to buy or sell. The APZ can be 
// implemented as part of an automated trading system and can be applied to the charts of all tradeable assets.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
EMA20(Length) =>
    pos = 0.0
    xPrice = close
    xXA = ta.ema(xPrice, Length)
    nHH = math.max(high, high[1])
    nLL = math.min(low, low[1])
    nXS = nLL > xXA or nHH < xXA ? nLL : nHH
    iff_1 = nXS < close[1] ? 1 : nz(pos[1], 0)
    pos := nXS > close[1] ? -1 : iff_1
    pos

APZ(nPeriods,nBandPct) =>
    pos = 0.0
    xHL = high - low
    nP = math.ceil(math.sqrt(nPeriods))
    xVal1 = ta.ema(ta.ema(close,nP), nP)
    xVal2 = ta.ema(ta.ema(xHL,nP), nP)
    UpBand = nBandPct * xVal2 + xVal1
    DnBand = xVal1 - nBandPct * xVal2
    pos := low < DnBand ? 1 : high > UpBand ? -1 : pos[1] 
    pos

strategy(title='Combo 2/20 EMA & Adaptive Price Zone', shorttitle='Combo', overlay=true)
var I1 = '●═════ 2/20 EMA ═════●'
Length = input.int(14, minval=1, group=I1)
var I2 = '●═════ Adaptive Price Zone  ═════●'
nPeriods = input(20)
nBandPct = input(2)
var misc = '●═════ MISC ═════●'
reverse = input.bool(false, title='Trade reverse', group=misc)
var timePeriodHeader = '●═════ Time Start ═════●'
d = input.int(1, title='From Day', minval=1, maxval=31, group=timePeriodHeader)
m = input.int(1, title='From Month', minval=1, maxval=12, group=timePeriodHeader)
y = input.int(2005, title='From Year', minval=0, group=timePeriodHeader)

StartTrade = time > timestamp(y, m, d, 00, 00) ? true : false
posEMA20 = EMA20(Length)
prePosAPZ = APZ(nPeriods,nBandPct)
iff_1 = posEMA20 == -1 and prePosAPZ == -1 and StartTrade ? -1 : 0
pos = posEMA20 == 1 and prePosAPZ == 1 and StartTrade ? 1 : iff_1
iff_2 = reverse and pos == -1 ? 1 : pos
possig = reverse and pos == 1 ? -1 : iff_2
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)