Stratégie de clôture de N lignes K consécutives négatives


Date de création: 2023-12-26 10:29:12 Dernière modification: 2023-12-26 10:29:12
Copier: 1 Nombre de clics: 562
1
Suivre
1623
Abonnés

Stratégie de clôture de N lignes K consécutives négatives

Aperçu

Cette stratégie est basée sur des indicateurs techniques pour juger de la tendance du marché, et est une stratégie de trading en ligne courte lorsqu’il y a une clôture négative de la ligne K de la racine N.

Principe de stratégie

Cette stratégie utilise la variable nCounter pour calculer le nombre de lignes de réception en série. Lorsque le prix de clôture est inférieur au prix d’ouverture, la valeur de nCounter est augmentée; lorsque le prix de clôture est supérieur au prix d’ouverture, nCounter est réinitialisé à 0. Lorsque nCounter atteint le paramètre d’entrée nLength, il est marqué par l’apparition d’une ligne de réception en série de lignes de réception en série de lignes de K, avec un signal de sortie C2 = 1.

Lorsque le signal apparaît, ouvrez la position à zéro si vous n’avez pas de position en cours; continuez à la détenir si vous avez déjà un ordre de fermeture. Après l’ouverture de la position, enregistrez le prix d’ouverture à l’aide de posprice.

Analyse des avantages

Les principaux avantages de cette stratégie sont les suivants:

  1. Les règles sont simples, claires et faciles à comprendre.
  2. Paramètres personnalisables, adaptés aux différentes conditions du marché.
  3. Le système de suspension et d’arrêt de perte permet de contrôler efficacement le risque.

Analyse des risques

Les principaux risques de cette stratégie sont les suivants:

  1. Les courbes K de N racines successives ne permettent pas de déterminer complètement le renversement de tendance, et des fausses ruptures peuvent survenir. Les valeurs de N peuvent être ajustées de manière appropriée ou combinées avec d’autres indicateurs de vérification.
  2. Un mauvais réglage du stop-loss peut entraîner un départ prématuré ou une expansion des pertes. Des paramètres raisonnables doivent être définis en fonction de la volatilité du marché.

Direction d’optimisation

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

  1. Augmenter le filtrage des tendances afin d’éviter que les ajustements à court terme sur des marchés incertains ne soient mal interprétés. Par exemple, la combinaison d’indicateurs tels que la ligne moyenne pour juger de la tendance globale.

  2. L’augmentation de la quantité peut être confirmée, par exemple, par l’augmentation du volume de transactions, ce qui permet de mieux confirmer le renversement de tendance.

  3. Optimiser les stratégies de stop-loss, par exemple en utilisant des méthodes de stop-loss aléatoires ou proportionnelles, pour rendre le stop-loss plus intelligent.

  4. Les paramètres sont optimisés à l’aide d’une méthode d’apprentissage automatique, permettant d’ajuster les valeurs de nLength en fonction des variations du marché en temps réel.

Résumer

Cette stratégie détermine les tendances à court terme en fonction de la relation entre la taille du prix de clôture et celle du prix d’ouverture. Elle génère un signal de transaction lorsqu’elle détecte la clôture d’une ligne K de racine N. La stratégie est simple et intuitive, ses paramètres sont réglables, elle est dotée d’un mécanisme de stop-loss qui permet de filtrer certaines transactions de bruit.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 05/02/2020
// Evaluates for n number of consecutive lower closes. Returns a value 
// of 1 when the condition is true or 0 when false.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="N Bars Down", shorttitle="NBD Backtest", overlay = false) 
nLength = input(4, minval=1)
input_takeprofit = input(20, title="Take Profit pip", step=0.01)
input_stoploss = input(10, title="Stop Loss pip", step=0.01)
nCounter = 0
nCounter := iff(close[1] <= open[1], nz(nCounter[1],0)+1,
             iff(close[1] > open[1], 0, nCounter))
C2 = iff(nCounter >= nLength, 1, 0)
posprice = 0.0
pos = 0
barcolor(nz(pos[1], 0) == -1 ? color.red: nz(pos[1], 0) == 1 ? color.green : color.blue ) 
posprice := iff(C2== 1, close, 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))
plot(C2, title='NBD', color=color.red)