Stratégie d'inversion de la rupture de l'élan binaire

Auteur:ChaoZhang est là., Date: 2024-02-28 17:20:02 Je vous en prie.
Les étiquettes:

img

Résumé

La stratégie d'inversion de la rupture du momentum binomial combine l'indicateur stochastique et l'indicateur Bull Power pour mettre en œuvre un double filtrage des signaux et une inversion des transactions aux points tournants du marché afin de traquer les situations de survente et de surachat.

La logique de la stratégie

La stratégie se compose de deux parties:

  1. 123 Stratégie d'inversion

    Il utilise la stratégie d'inversion proposée par Ulf Jensen dans son livre Comment j'ai triplé mon argent sur le marché des contrats à terme. Il va long lorsque le prix de clôture est supérieur à la clôture précédente pendant 2 jours consécutifs et que le stochastique lent de 9 jours est inférieur à 50; il va court lorsque le prix de clôture est inférieur à la clôture précédente pendant 2 jours consécutifs et que le stochastique rapide de 9 jours est supérieur à 50.

  2. Indicateur de puissance haussière

    Il utilise l'indicateur de dynamique proposé par Vadim Gimelfarb dans son livre Indicateur de balance taureau et ours . Il juge la puissance haussière / baissière en calculant la relation entre la ligne K actuelle et la ligne K précédente, et génère des signaux de trading.

La stratégie combine les deux stratégies de signal unique ci-dessus. Elle génère des signaux de trading uniquement lorsque les signaux de deux stratégies sont cohérents pour mettre en œuvre le double filtrage des signaux.

Analyse des avantages

La stratégie combine les avantages des stratégies d'inversion et des stratégies de suivi. Elle peut capturer les signaux d'inversion en temps opportun lorsque le marché montre des signes d'inversion, tout en réduisant les faux signaux grâce à un double filtrage des signaux pour éviter de poursuivre les hauts et de vendre les bas. Les principaux avantages sont:

  1. Utiliser le modèle 123 pour déterminer les points tournants du marché et identifier les situations de survente et de surachat.
  2. Le mécanisme de double filtrage des signaux évite les faux signaux générés par des indicateurs uniques et améliore la qualité des signaux de négociation.
  3. Le commerce de renversement pour saisir les opportunités de tendance apportées par les renversements de marché.
  4. Une large marge d'optimisation des paramètres pour s'adapter aux différents environnements du marché en ajustant les paramètres des indicateurs.

Analyse des risques

La stratégie comporte également certains risques:

  1. Le risque d'échec de l'inversion. L'identification des signaux d'inversion a une certaine difficulté. La probabilité que les prix continuent la tendance initiale après avoir donné des signaux d'inversion est également très élevée.
  2. Perte d'opportunités lorsque les signaux sont incohérents entre deux indicateurs.
  3. Identification inexacte des signaux de renversement en raison de paramètres inappropriés.
  4. La stratégie est plus adaptée aux transactions à moyen et long terme, mais l'effet des transactions à court terme n'est pas très bon.

Les contre-mesures:

  1. Adopter des stratégies de stop loss pour contrôler les pertes uniques.
  2. Optimiser les paramètres: différentes combinaisons peuvent être sélectionnées pour différentes variétés.
  3. Combinez d'autres indicateurs comme jugement auxiliaire.

Directions d'optimisation

La stratégie peut être encore optimisée dans les aspects suivants:

  1. Testez l'impact de différents paramètres sur la performance de la stratégie pour trouver la combinaison optimale de paramètres.
  2. Augmenter les stratégies de stop loss pour contrôler les pertes individuelles.
  3. Combiner d'autres indicateurs pour la vérification des signaux. Par exemple, le MACD, le KD, le RSI et d'autres indicateurs peuvent être considérés lors de la génération de signaux de trading.
  4. Utiliser des algorithmes d'apprentissage automatique pour optimiser les paramètres et obtenir un ajustement dynamique des paramètres.

Résumé

L'indicateur stochastique et l'indicateur Bull Power sont combinés pour réaliser un double filtrage des signaux et un trading inversé. Il peut saisir les opportunités d'inversion du marché et éviter le bruit généré par des signaux uniques. Il s'agit d'une stratégie quantitative stable et efficace.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 05/07/2019
// 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
//  Bull Power Indicator
//  To get more information please see "Bull And Bear Balance Indicator" 
//  by Vadim Gimelfarb. 
//
// 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

BullPower(SellLevel, BuyLevel) =>
    pos = 0
    value = iff (close < open ,  
             iff (close[1] < open ,  max(high - close[1], close - low), max(high - open, close - low)),
              iff (close > open, 
               iff(close[1] > open,  high - low, max(open - close[1], high - low)), 
                 iff(high - close > close - low, 
                  iff (close[1] < open, max(high - close[1], close - low), high - open), 
                   iff (high - close < close - low, 
                     iff(close[1] > open,  high - low, max(open - close, high - low)), 
                      iff (close[1] > open, max(high - open, close - low),
                       iff(close[1] < open, max(open - close, high - low), high - low))))))
    pos := iff(value > SellLevel, -1,
	         iff(value <= BuyLevel, 1, nz(pos[1], 0)))
    pos

strategy(title="Combo Backtest 123 Reversal & Bull Power", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
SellLevel = input(15, step=1)
BuyLevel = input(3, step=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posBullPower = BullPower(SellLevel, BuyLevel)
pos = iff(posReversal123 == 1 and posBullPower == 1 , 1,
	   iff(posReversal123 == -1 and posBullPower == -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 )

Plus de