Stratégie d'inversion du modèle de retournement de tendance


Date de création: 2023-11-15 15:36:39 Dernière modification: 2023-11-15 15:36:39
Copier: 0 Nombre de clics: 632
1
Suivre
1617
Abonnés

Stratégie d’inversion du modèle de retournement de tendance

Aperçu

La stratégie combine les stratégies de 123 shape reversal et easy to move, qui visent à faire des transactions en capturant les points de basculement des prix. La stratégie de 123 shape reversal génère des signaux lorsque les prix des actions forment un modèle spécifique pendant trois jours consécutifs. La stratégie easy to move (EOM) utilise les changements de prix et de volume des transactions pour déterminer la dynamique du marché.

Principe de stratégie

La stratégie est composée de deux volets:

  1. 123 Stratégie de retour en arrière
  • L’indicateur de Stoch est utilisé pour juger les surachats et les surventeurs
  • Faire un short lorsque le cours de clôture est en baisse pendant deux jours consécutifs et que la ligne rapide de Stoch est supérieure à la ligne lente
  • Faire plus lorsque le cours de clôture est en hausse pendant deux jours consécutifs et que la ligne rapide de Stoch est inférieure à la ligne lente
  1. Stratégies de mobilité facile
  • Calculer la moyenne de la journée précédente
  • Motion (variation) du milieu de la période par rapport à la journée précédente
  • Calculer le rapport entre le déplacement du milieu de la période et le volume des transactions
  • Le ratio augmente lorsque la valeur est supérieure à la dépréciation et diminue lorsque la valeur est inférieure à la dépréciation.

La combinaison de deux signaux, ouvrir une position de plus lorsque Easy of Movement et la forme 123 font simultanément plusieurs signaux; ouvrir une position de vide lorsque Easy of Movement et la forme 123 font simultanément des signaux de vide.

Analyse des avantages

Cette stratégie présente les avantages suivants:

  1. L’accélération de l’évolution des prix et la dynamique du marché améliorent la précision des signaux

  2. 123 forme inverse pour capturer les points de basculement, facile à déplacer pour juger de la dynamique de la tendance, les deux se complètent

  3. L’indicateur Stoch évite de répéter des positions nettes lors de la liquidation

  4. La logique des transactions est simple, claire et facile à mettre en œuvre.

  5. Paramètres personnalisables pour s’adapter à différents environnements de marché

Analyse des risques

Cette stratégie comporte aussi des risques:

  1. Une dépendance excessive à la configuration des paramètres peut entraîner des transactions fréquentes ou des feuilles manquantes

  2. Utilisation conjointe de plusieurs conditions de filtrage, la fréquence de génération du signal peut être trop faible

  3. Indicateurs mobiles sensibles aux fluctuations du marché et susceptibles de déclencher de faux signaux

  4. Le marché de l’immobilier est en baisse, il faut maîtriser la taille des positions

  5. Pour les actions tendances uniquement, pas pour la liquidation

Direction d’optimisation

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

  1. Optimiser les paramètres, ajuster la rigueur des conditions de filtrage, équilibrer la fréquence des transactions et la qualité du signal

  2. Adhérer à une stratégie de stop-loss et contrôler strictement les pertes individuelles

  3. Filtrez les tendances et évitez le trading à contre-courant

  4. Ajout d’un module de gestion de fonds pour ajuster les positions en fonction de la volatilité

  5. Optimiser les paramètres à l’aide de l’apprentissage automatique pour les adapter dynamiquement au marché

Résumer

La stratégie intègre des indicateurs techniques de prix et des indicateurs de dynamique du marché, confirme la qualité de la tendance tout en capturant les points de basculement, et a une valeur de combat élevée. Cependant, il faut également prendre en compte le risque de contrôler la fréquence des transactions, les pertes monétaires et les opérations de contre-courant. La stabilité et la rentabilité de la stratégie peuvent être encore améliorées par des moyens tels que l’optimisation des paramètres, la stratégie d’arrêt des pertes et le filtrage de la tendance.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 14/04/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 indicator gauges the magnitude of price and volume movement. 
// The indicator returns both positive and negative values where a 
// positive value means the market has moved up from yesterday's value 
// and a negative value means the market has moved down. A large positive 
// or large negative value indicates a large move in price and/or lighter 
// volume. A small positive or small negative value indicates a small move 
// in price and/or heavier volume.
// A positive or negative numeric value. A positive value means the market 
// has moved up from yesterday's value, whereas, a negative value means the 
// market has moved down. 
//
// 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

EOM(BuyZone, SellZone) =>
    pos = 0
    xHigh = high
    xLow = low
    xVolume = volume
    xHalfRange = (xHigh - xLow) * 0.5
    xMidpointMove = mom(xHalfRange, 1)
    xBoxRatio = iff((xHigh - xLow) != 0, xVolume / (xHigh - xLow), 0)
    nRes = iff(xBoxRatio != 0, 1000000 * ((xMidpointMove - xMidpointMove[1]) / xBoxRatio), 0)
    pos := iff(nRes > BuyZone, 1,
             iff(nRes < SellZone, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Ease of Movement (EOM)", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
BuyZone = input(4000, minval=1)
SellZone = input(-4000)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posEOM = EOM(BuyZone, SellZone)
pos = iff(posReversal123 == 1 and posEOM == 1 , 1,
	   iff(posReversal123 == -1 and posEOM == -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 )