Stratégie de trading combinée basée sur l'inversion de modèle et l'indicateur MACD


Date de création: 2023-09-19 17:17:30 Dernière modification: 2023-09-19 17:17:30
Copier: 0 Nombre de clics: 715
1
Suivre
1617
Abonnés

Aperçu

La stratégie consiste à combiner le 123 inversion de forme et l’indicateur MACD pour un filtrage de signal de transaction plus puissant. Le 123 inversion de forme capte les occasions de reprise à court terme, tandis que le MACD fournit un jugement de tendance à moyen et long terme. Le signal combiné permet de trouver efficacement des points de transaction à haute probabilité.

Principe de stratégie

  1. Stratégie de retournement de forme 123, qui détermine la baisse des deux jours précédents et la hausse des cours de clôture aujourd’hui, et achète lorsque l’indicateur stochastique est en dessous de la dépréciation; deux jours de hausse et de baisse aujourd’hui, et vendu lorsque le stochastique est supérieur à la dépréciation.

  2. Stratégie de l’indicateur MACD, faire plus quand la ligne rapide est supérieure à la ligne lente, faire moins quand la ligne rapide est inférieure à la ligne lente.

  3. Il n’est possible de négocier que lorsque les deux signaux stratégiques sont en accord, sinon pas de négociation. Il est possible de passer de la négociation positive à inverse.

Analyse des avantages

Les principaux avantages de cette stratégie sont les suivants:

  1. Les signaux combinés permettent de filtrer efficacement les fausses percées et d’améliorer le taux de réussite.

  2. La forme 123 permet de saisir les occasions de revirement à court terme, et le MACD détermine la direction de la tendance de la ligne médiane longue.

  3. L’indicateur stochastique combiné à la forme 123 évite les sur-transactions après un renversement de tendance.

  4. Les deux stratégies partagent des tâches de trading différentes et peuvent être vérifiées l’une par l’autre, réduisant ainsi le risque de sur-optimisation d’une seule stratégie.

  5. Il est possible de basculer facilement dans plusieurs directions pour s’adapter à différents types de marchés.

Analyse des risques

Les principaux risques de cette stratégie:

  1. Les signaux combinés sont trop conservateurs et risquent de manquer une bonne occasion.

  2. Les formes inversées sont sujettes à des événements soudains et à des défaillances.

  3. Il existe un risque de pertes importantes sans tenir compte des mécanismes de prévention des pertes.

  4. Les signaux de double filtrage peuvent manquer une opportunité de tendance.

  5. Sans considération pour l’optimisation des paramètres, les paramètres par défaut ne conviennent pas forcément à toutes les variétés.

Direction d’optimisation

L’optimisation peut se faire à partir des éléments suivants:

  1. Testez différentes combinaisons de paramètres pour trouver le paramètre optimal.

  2. Il a ajouté: “Nous avons besoin d’une stratégie de réduction des pertes et d’une stratégie de contrôle des pertes”.

  3. Ajout d’autres paramètres de filtrage pour améliorer la qualité du signal

  4. Ajout de modèles d’apprentissage automatique pour optimiser automatiquement les paramètres.

  5. Test de la stabilité de la stratégie dans plus de variétés de transactions.

  6. Paramètres de commutation en fonction de l’environnement du marché.

Résumer

Dans l’ensemble, la combinaison de signaux doubles permet d’éviter efficacement les problèmes de sur-optimisation d’une seule stratégie. Avec l’ajout d’autres indicateurs de filtrage et d’améliorations telles que le mécanisme de stop-loss, il peut s’agir d’une stratégie de trading quantitative plus robuste et pratique.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 24/07/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
// This is one of the techniques described by William Blau in his book
// "Momentum, Direction and Divergence" (1995). If you like to learn more,
// we advise you to read this book. His book focuses on three key aspects
// of trading: momentum, direction and divergence. Blau, who was an electrical
// engineer before becoming a trader, thoroughly examines the relationship 
// between price and momentum in step-by-step examples. From this grounding,
// he then looks at the deficiencies in other oscillators and introduces some
// innovative techniques, including a fresh twist on Stochastics. On directional 
// issues, he analyzes the intricacies of ADX and offers a unique approach to help 
// define trending and non-trending periods.
// Blau`s indicator is like usual MACD, but it plots opposite of meaningof
// stndard MACD indicator.  
//
// 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

fADX(Len) =>
    up = change(high)
    down = -change(low)
    trur = rma(tr, Len)
    plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, Len) / trur)
    minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, Len) / trur)
    sum = plus + minus 
    100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), Len)

EMACD(r,SmthLen,LengthMACD) =>
    pos = 0
    source = close
    fastMA = ema(source, r)
    slowMA = ema(source, LengthMACD)
    xmacd = fastMA - slowMA
    xMA_MACD = ema(xmacd, SmthLen)
    pos := iff(xmacd < xMA_MACD, -1,
    	     iff(xmacd > xMA_MACD, 1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Ergodic MACD", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
r = input(14, minval=1)
LengthMACD = input(21, minval=1)
SmthLen = input(5, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posEMACD = EMACD(r,SmthLen,LengthMACD)
pos = iff(posReversal123 == 1 and posEMACD == 1 , 1,
	   iff(posReversal123 == -1 and posEMACD == -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 )