Stratégie de suivi du double renversement

Auteur:ChaoZhang est là., Date: 2023-11-22 17:42:23
Les étiquettes:

img

Résumé

La stratégie de suivi du double renversement combine les sous-stratégies 123 Reversal et Key Reversal Down pour obtenir une capture plus précise des signaux de négociation. La stratégie 123 Reversal observe la comparaison du prix de clôture avec les deux jours précédents et juge les renversements potentiels combinés avec l'indicateur Stock. La stratégie Key Reversal Down juge les signaux de renversement en observant de nouveaux bas dans une tendance à la baisse.

Principe

Cette stratégie se compose de deux sous-stratégies dont la première, la stratégie 123 Reversal, a la logique suivante:

  1. Si les prix de clôture d'aujourd'hui et d'hier sont tous deux supérieurs à ceux de l'avant-hier, et que l'indicateur Stoch rapide est inférieur à l'indicateur Stoch lent et que la ligne rapide est inférieure à 50, passez long.

  2. Si les prix de clôture d'aujourd'hui et d'hier sont tous deux inférieurs à ceux de l'avant-hier, et que l'indicateur Stoch rapide est supérieur à l'indicateur Stoch lent et que la ligne rapide est supérieure à 50, passez à la vente à découvert.

La deuxième sous-stratégie, la stratégie de renversement clé vers le bas, a une logique de jugement très simple:

Dans une tendance à la baisse, si un nouveau plus bas apparaît, allez court.

Le signal de négociation réel de l'ensemble de la stratégie est que le signal de négociation réel n'est émis que lorsque les signaux des deux sous-stratégies sont dans le même sens.

Analyse des avantages

Le plus grand avantage de cette stratégie est l'exactitude et la fiabilité des signaux. Parce qu'il exige que les signaux des deux sous-stratégies soient dans la même direction avant de passer des ordres, certaines transactions bruyantes peuvent être filtrées, ce qui améliore considérablement la stabilité de la stratégie.

En outre, la stratégie combine des informations sur plusieurs périodes, y compris une comparaison de ligne à deux jours et des informations sur l'indicateur Stoch à plusieurs jours, ce qui rend la base de jugement plus complète et plus fiable.

En principe, cette stratégie répond aux caractéristiques des stratégies d'inversion et de suivi de tendance, ce qui la rend adaptée à une application réelle dans la réalité.

Analyse des risques

Le plus grand risque de cette stratégie est que l'exigence de signaux doubles augmente également la probabilité d'opportunités manquées.

En outre, les sous-stratégies elles-mêmes présentent également certains problèmes. La stratégie 123 Reversal est très sensible aux paramètres et nécessite des tests et une optimisation soigneux.

Ces problèmes peuvent être résolus en ajustant les paramètres et en introduisant d'autres jugements auxiliaires.

Directions d'optimisation

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

  1. Adapter les paramètres des sous-stratégies pour mieux correspondre aux caractéristiques de produits spécifiques.

  2. Introduire des indicateurs auxiliaires tels que le volume et la volatilité pour améliorer la précision des décisions.

  3. Augmenter le jugement du modèle d'apprentissage automatique pour optimiser automatiquement les paramètres à l'aide de données historiques.

Résumé

La stratégie de suivi du double renversement réalise une double assurance de la capture du renversement grâce à la combinaison des sous-stratégies 123 Reversal et Key Reversal Down. Elle combine les avantages des stratégies de renversement et de suivi de tendance, avec de larges perspectives d'application dans la réalité.


/*backtest
start: 2023-01-01 00:00:00
end: 2023-06-14 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 21/12/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
// A key reversal is a one-day trading pattern that may signal the reversal of a trend. 
// Other frequently-used names for key reversal include "one-day reversal" and "reversal day."
// How Does a Key Reversal Work?
// Depending on which way the stock is trending, a key reversal day occurs when:
// In an uptrend -- prices hit a new high and then close near the previous day's lows.
// In a downtrend -- prices hit a new low, but close near the previous day's highs
//
// 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

KRD(nLength) =>
    pos = 0.0
    xHH = highest(high[1], nLength)
    C1 = iff(high > xHH and close < close[1], true, false)
    pos := iff(C1, -1, 0)
    pos

strategy(title="Combo Backtest 123 Reversal & Key Reversal Down", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
nLength = input(1, minval=1, title="Enter the number of bars over which to look for a new high in prices.")
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posKRD = KRD(nLength)
pos = iff(posReversal123 == 1 and posKRD == 1 , 1,
	   iff(posReversal123 == -1 and posKRD == -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