Stratégie de backtest Harami de retournement baissier


Date de création: 2023-11-23 11:47:10 Dernière modification: 2023-11-23 11:47:10
Copier: 0 Nombre de clics: 654
1
Suivre
1617
Abonnés

Stratégie de backtest Harami de retournement baissier

Aperçu

La stratégie de retracement Harami inverse en bourse permet d’effectuer des transactions automatiques en identifiant le mouvement Harami inverse en bourse sur le graphique. Lorsque le mouvement Harami inverse est identifié, la stratégie entre en position de coupe.

Principe de stratégie

La clé de la stratégie est que la première ligne K est une ligne longue, que la deuxième ligne K est une ligne de clôture contenue dans la première ligne K, et que la deuxième ligne K est une ligne négative.

La logique du jugement est la suivante:

  1. Calculer si la taille de la ligne K précédente ABS ((Close1 - Open1) est plus grande que la taille de l’entité minimale définie
  2. Détermine si la ligne K précédente est la ligne droite Close1 > Open1
  3. Détermine si la ligne K actuelle est une ligne négative
  4. Détermine si le prix d’ouverture de la ligne K actuelle est inférieur ou égal au prix de clôture de la ligne K précédente
  5. Détermine si le prix d’ouverture d’une ligne K précédente est inférieur ou égal au prix de clôture de la ligne K actuelle Open1 <= Close
  6. Déterminer si l’entité de la ligne K actuelle est plus petite que la ligne K précédente Open - Close < Close1 - Open1
  7. Si les conditions ci-dessus sont remplies, le marché baissier se renverse et Harami entre dans une position de couverture.

Analyse des avantages

Cette stratégie présente les avantages suivants:

  1. Le retour en bourse de Harami, un signal fort de reprise, pour augmenter les chances de profit
  2. Les données de détection sont abondantes, les transactions simulées sont excellentes
  3. La logique de la stratégie est simple et claire, facile à comprendre et à optimiser
  4. Un point d’arrêt personnalisable pour contrôler les risques

Analyse des risques

Cette stratégie comporte aussi des risques:

  1. Il est possible que le marché se trompe de rupture et que la position soit bloquée. Il est possible d’assouplir le point de rupture ou d’ajouter des conditions de filtrage.
  2. Il est possible que la volatilité des prix des titres visés soit excessive et qu’ils ne puissent pas être arrêtés. Il convient de choisir des variétés de transactions à faible volatilité.
  3. Les données de retracement sont insuffisantes et peuvent ne pas refléter la situation réelle du marché.

Direction d’optimisation

La stratégie peut également être optimisée dans les domaines suivants:

  1. Augmenter le volume, le MACD et autres indicateurs de filtrage pour améliorer la qualité du signal
  2. Optimisation des stratégies de stop loss et des points d’ajustement dynamiques
  3. Amélioration de l’efficacité de la tenue de position, combinée à des facteurs tels que la tendance, réduire les transactions inefficaces
  4. Essayez différentes variétés de trading et choisissez celles qui sont plus adaptées à la volatilité

Résumer

La logique globale de la stratégie de rétro-évaluation Harami est claire, facile à comprendre et à optimiser, et les résultats de la rétro-évaluation sont meilleurs. Le risque est contrôlable, avec un espace d’ajustement en direct.

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

//@version=3
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 16/01/2019 
//    This is a bearish reversal pattern formed by two candlesticks in which a short 
//    real body is contained within the prior session's long real body. Usually the 
//    second real body is the opposite color of the first real body. The Harami pattern 
//    is the reverse of the Engulfing pattern. 
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title = "Bearish Harami Backtest", overlay = true)
input_takeprofit = input(20, title="Take Profit pip")
input_stoploss = input(10, title="Stop Loss pip")
input_minsizebody = input(3, title="Min. Size Body pip")
barcolor(abs(close- open) >= input_minsizebody ? close[1] > open[1] ? open > close ? open <= close[1] ? open[1] <= close ? open - close < close[1] - open[1] ? yellow :na :na : na : na : na : na)
pos = 0.0
barcolor(nz(pos[1], 0) == -1 ? red: nz(pos[1], 0) == 1 ? green : blue )
posprice = 0.0
posprice := abs( close - open) >= input_minsizebody? close[1] > open[1] ? open > close ? open <= close[1] ? open[1] <= close ? open - close < close[1] - open[1] ? close :nz(posprice[1], 0) :nz(posprice[1], 0) : nz(posprice[1], 0) : nz(posprice[1], 0) : nz(posprice[1], 0): nz(posprice[1], 0)
pos := iff(posprice > 0, -1, 0)
if (pos == 0) 
    strategy.close_all()
if (pos == -1)
    strategy.entry("Short", strategy.short)
posprice := iff(low <= posprice - input_takeprofit and posprice > 0, 0 ,  nz(posprice, 0))
posprice := iff(high >= posprice + input_stoploss and posprice > 0, 0 ,  nz(posprice, 0))