Graphique à barres de changement de pourcentage de double inversion Stratégie quantitative


Date de création: 2023-12-06 17:44:35 Dernière modification: 2023-12-06 17:44:35
Copier: 0 Nombre de clics: 581
1
Suivre
1619
Abonnés

Graphique à barres de changement de pourcentage de double inversion Stratégie quantitative

Aperçu

Cette stratégie est appelée la stratégie de quantification de la colonne de changement de la colonne de changement de la colonne de changement de la colonne de changement de la colonne de changement de la colonne de changement de la colonne de changement de la colonne de changement de la colonne de changement de la colonne de changement de la colonne de changement de la colonne de changement de la colonne de changement de la colonne de changement de la colonne de changement de la colonne de changement de la colonne de changement de la colonne de changement de la colonne de changement de la colonne de changement de la colonne de changement de la colonne de changement de la colonne de changement de la colonne de changement de la colonne de changement de la colonne de changement de la colonne de changement de la colonne.

La première stratégie utilise le principe de l’inversion de la stratégie, en fonction de la comparaison du prix de clôture avec la journée ou les jours précédents, en collaboration avec l’indicateur Stoch pour déterminer si un signal de revers est apparu. La deuxième stratégie utilise l’indicateur de changement de pourcentage de colonne de l’indicateur de colonne de changement pour déterminer l’ampleur de la variation de la baisse de chaque jour, comme base pour la création d’une position.

Principe de stratégie

La stratégie de quantification de la colonne de changement de pourcentage à double inversion utilise deux composantes:

La première partie est la stratégie de 123 inversions, dont la logique de jugement est la suivante:

  1. Si le prix de clôture est inférieur au prix de clôture de la journée précédente et que la ligne rapide de Stoch est supérieure à la ligne lente et supérieure au niveau 50, considéré comme étant en survente, génère un signal de vente;

  2. Si le prix de clôture est supérieur au prix de clôture de la journée précédente et que la ligne rapide de Stoch est inférieure à la ligne lente et inférieure au niveau 50, considéré comme étant dans une zone de survente, génère un signal d’achat;

  3. En fonction des signaux d’achat et de vente générés, établir des positions sur le plus grand ou le plus petit nombre de têtes.

La deuxième partie est l’indicateur de la colonne de changement en pourcentage, dont la logique de jugement est la suivante:

  1. Calculer le pourcentage de variation de la ligne K actuelle par rapport à la ligne K précédente de racine N (définition du paramètre input_barsback);

  2. Si le pourcentage de variation est supérieur à la zone de valeur positive définie par le paramètre BuyZone, un signal d’achat est généré. Si le pourcentage de variation est inférieur à la zone de valeur négative définie par le paramètre SellZone, un signal de vente est généré.

  3. En fonction des signaux d’achat et de vente générés, établir des positions sur le plus grand ou le plus petit nombre de têtes.

Enfin, si les signaux produits par les deux stratégies sont identiques, la position est effectivement établie. Si les signaux ne sont pas identiques, aucune position n’est modifiée.

Analyse des avantages

Les stratégies de quantification du double inversion de la variation en pourcentage du diagramme de la colonne présentent les avantages suivants:

  1. L’absorption des avantages des deux types de stratégies est susceptible d’obtenir des rendements plus stables. Les stratégies de retournement 123 sont excellentes pour déterminer les points de retournement du marché. L’indicateur de la colonne de changement en pourcentage est rapide pour identifier les tendances de rupture.

  2. La combinaison de ces deux stratégies permet de filtrer efficacement certains signaux erronés, de réduire les pertes inutiles et de réduire le risque de transaction.

  3. Les paramètres de la stratégie de rétrogradation 123 peuvent être optimisés en modifiant la combinaison de paramètres pour s’adapter à différentes variétés et périodes.

  4. Le graphique de la colonne de variation en pourcentage est une stratégie intuitive qui permet de saisir et de contrôler facilement le risque de transaction en ajustant les paramètres.

Analyse des risques

La stratégie de quantification des doubles inversions de changement de pourcentage dans le diagramme de la colonne présente également des risques:

  1. Si les deux signaux stratégiques ne correspondent pas, la position ne peut pas être établie et certaines opportunités de négociation peuvent être manquées. La plage de paramètres de la colonne de variation en pourcentage peut être correctement relâchée, ce qui augmente la probabilité de correspondance.

  2. Les stratégies d’inversion sont sensibles aux paramètres et une combinaison inappropriée de paramètres peut entraîner une surproduction de signaux d’erreur. Les paramètres de test des différentes variétés doivent être testés séparément pour assurer la stabilité des paramètres.

  3. Si le signal d’achat et de vente généré par la colonne de variation en pourcentage est mal orienté et correspond à un signal de retournement de 123, des pertes plus importantes peuvent être générées. L’amplitude de la plage de variation en pourcentage des paramètres doit être réduite de manière appropriée pour contrôler les risques.

  4. Après un certain temps de fonctionnement de la stratégie, l’adaptabilité des paramètres diminue. Il est nécessaire de surveiller la courbe des gains et les signaux de négociation de la stratégie pour déterminer le moment opportun pour ajuster les paramètres.

Direction d’optimisation

Les stratégies de quantification de la colonne de variation en pourcentage de double inversion peuvent également être optimisées dans les directions suivantes:

  1. Optimiser les paramètres Length, KSmoothing, DLength, etc. de la stratégie de retournement 123 pour trouver les combinaisons de paramètres les plus appropriées pour différentes variétés et périodes.

  2. Ajustez le paramètre input_barsback de la colonne de changement de pourcentage pour déterminer l’impact d’une période de rétrogradation plus ou moins longue sur la stratégie.

  3. En introduisant une stratégie de stop-loss, il est possible d’éviter efficacement les pertes importantes causées par les signaux erronés générés par les variations en pourcentage du diagramme de colonnes.

  4. En essayant de former des modèles de variation en pourcentage qui détectent plus précisément les moments de vente et d’achat par des méthodes telles que l’apprentissage automatique, on obtient un taux de victoire plus élevé.

  5. L’augmentation de la fréquence des transactions, l’augmentation de la capacité de jugement des autres indicateurs techniques auxiliaires et l’enrichissement des signaux de négociation stratégiques.

Résumer

La stratégie de quantification de la colonne de changement de pourcentage à double inversion tire parti des avantages de deux types de stratégies différentes, est utilisée en combinaison et augmente l’espace de profit tout en contrôlant les risques. La stratégie est facile à comprendre et à optimiser, elle convient parfaitement à la recherche et à la pratique.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 31/03/2021
// 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 histogram displays price or % change from previous bar. 
//
// 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


PCB(input_percentorprice,input_barsback,SellZone,BuyZone) =>
    pos = 0.0
    xPrice = close
    xPrice1 = iff(input_percentorprice, xPrice - xPrice[input_barsback], ((xPrice - xPrice[input_barsback]) * 100)/ xPrice[input_barsback])
    pos := iff(xPrice1 > BuyZone, 1,
             iff(xPrice1 < SellZone, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Percent change bar", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- Percent change bar ----")
input_percentorprice = input(false, title="Price Change")
input_barsback = input(1, title="Look Back")
SellZone = input(-0.33, minval=0.01, step = 0.01)
BuyZone = input(0.33, minval=0.01, step = 0.01)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posPCB = PCB(input_percentorprice,input_barsback,SellZone,BuyZone)
pos = iff(posReversal123 == 1 and posPCB == 1 , 1,
	   iff(posReversal123 == -1 and posPCB == -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 )