Stratégie de négociation de l'oscillation à moyenne mobile double

Auteur:ChaoZhang est là., Date: 2023-12-04 15:28:12 Je vous en prie.
Les étiquettes:

img

Résumé

La stratégie de trading d'oscillation de moyenne mobile double génère des signaux de trading en combinant la moyenne mobile exponentielle 2/20 et l'indicateur d'oscillation de la zone de prix adaptative pour réaliser des bénéfices sur les marchés oscillants.

Principe de stratégie

La stratégie de négociation de la double moyenne mobile à oscillation se compose de deux parties:

  1. 2/20 Moyenne mobile exponentielle. Cet indicateur génère un signal d'achat lorsque le prix franchit la ligne de 20 jours et ne franchit pas la ligne de 2 jours en hausse; il génère un signal de vente lorsque le prix franchit la ligne de 2 jours et ne dépasse pas la ligne de 20 jours en baisse.

  2. Indicateur d'oscillation de la zone de prix adaptative. Cet indicateur construit des bandes de prix en fonction de la fourchette de volatilité des prix et juge les points tournants du marché par les prix qui franchissent les bandes de prix supérieures et inférieures pour générer des signaux d'achat et de vente.

La stratégie de trading d'oscillation de moyenne mobile double ne génère des signaux de trading réels que lorsque la moyenne mobile exponentielle 2/20 et l'indicateur d'oscillation de la zone de prix adaptative émettent des signaux en même temps pour mettre en œuvre la stratégie de trading. Cela peut filtrer efficacement certains signaux invalides et améliorer la qualité du signal.

Analyse des avantages

La stratégie de négociation à double oscillation de moyenne mobile combine les avantages des indicateurs de moyenne mobile et des indicateurs de volatilité, avec les caractéristiques suivantes:

  1. La vérification à double indicateur améliore la qualité du signal et filtre efficacement les signaux non valides.

  2. L'utilisation combinée d'indicateurs de moyenne mobile et d'indicateurs de fourchette de prix permet de déterminer avec précision les points tournants des marchés oscillants.

  3. Fréquence d'opération modérée: par rapport à la stratégie de la moyenne mobile exponentielle double, elle peut réduire l'occurrence de transactions invalides.

  4. Les règles du signal sont claires et les paramètres sont simples à définir, ce qui est facile à programmer pour réaliser le trading automatique.

Analyse des risques

La stratégie de négociation à double moyenne mobile à oscillation comporte également les risques suivants:

  1. La combinaison d'indicateurs doubles pour filtrer les signaux peut manquer des opportunités d'inversions rapides des prix.

  2. La stratégie repose principalement sur des marchés oscillants, et les signaux de négociation et les marges bénéficiaires diminueront à mesure que la volatilité s'affaiblira.

  3. Les paramètres des indicateurs peuvent avoir un impact plus important sur les résultats des transactions et doivent être systématiquement optimisés pour des paramètres optimaux.

En réponse aux risques susmentionnés, des méthodes telles que l'ajustement dynamique des paramètres peuvent être adoptées pour s'adapter aux changements environnementaux du marché, tout en établissant des stratégies de stop loss pour contrôler le risque à la baisse.

Directions d'optimisation

La stratégie de négociation de la double moyenne mobile à oscillation peut être optimisée dans les aspects suivants:

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

  2. L'ajout d'un indicateur de volume aux signaux de filtrage.

  3. Lorsque la volatilité du marché s'affaiblit, resserrer les points d'arrêt des pertes de manière appropriée pour réduire les pertes uniques.

  4. Utilisez LSTM et d'autres modèles d'apprentissage profond pour vérifier les signaux de trading pour rendre les stratégies plus intelligentes.

Résumé

La stratégie de trading d'oscillation de moyenne mobile double génère des signaux de trading d'oscillation de haute qualité en combinant la moyenne mobile exponentielle 2/20 et l'indicateur d'oscillation de la zone de prix adaptative, qui peut s'adapter à des marchés volatils tels que l'indice boursier, le forex, les matières premières à fortes fluctuations et effectuer des arbitrages commerciaux fréquents dans la plage d'oscillation. La stratégie présente des avantages tels qu'une qualité de signal élevée et une automatisation facile. En même temps, des risques tels que l'identification tardive des points tournants et l'ajustement dynamique des paramètres doivent également être contrôlés, et il y a encore beaucoup de place pour l'optimisation sur cette base.


/*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)

Plus de