N Bar Close au-dessous de la stratégie courte ouverte

Auteur:ChaoZhang est là., Date: le 26-12-2023 à 10h29
Les étiquettes:

img

Résumé

Cette stratégie identifie la tendance à court terme sur la base d'indicateurs techniques et prend une position courte lorsqu'elle détecte N barres consécutives se clôturant en dessous du prix d'ouverture.

La logique de la stratégie

La stratégie utilise une variable nCounter pour compter le nombre de barres consécutives avec fermeture en dessous de l'ouverture. Lorsque le prix de fermeture est inférieur au prix d'ouverture, nCounter augmente de 1. Lorsque le prix de fermeture est supérieur au prix d'ouverture, nCounter se réinitialise à 0. Lorsque nCounter atteint le paramètre d'entrée nLength, il indique N barres consécutives qui se ferment en dessous du prix d'ouverture et le signal C2 devient 1.

Au signal, s'il n'y a pas de position, un ordre court sera envoyé. Si vous êtes déjà en position courte, maintenez la position. Après l'ouverture de la position, le postprice enregistre le prix d'entrée. Le profit et le stop loss sont définis en fonction du prix d'entrée: si le prix atteint le point de profit (entrée + entrée takeprofit), fermez la position et réinitialisez; si le prix atteint le point de stop loss (entrée - entrée stoploss), fermez la position et réinitialisez.

Analyse des avantages

Les principaux avantages de cette stratégie:

  1. Une logique simple et claire, facile à comprendre et à mettre en œuvre.
  2. Paramètres personnalisables, flexibles selon les différentes conditions du marché.
  3. Équipé de prise de profit et de stop loss, contrôler efficacement les risques.

Analyse des risques

Les principaux risques de cette stratégie:

  1. N bar close below open ne peut pas confirmer complètement l'inversion de tendance, un faux signal peut se produire.
  2. L'imposition incorrecte d'un stop loss ou d'une prise de profit peut entraîner une sortie prématurée ou une augmentation des pertes.

Directions d'optimisation

La stratégie peut être améliorée par les aspects suivants:

  1. Ajoutez un filtre de tendance pour éviter de juger mal les corrections à court terme sur le marché latéral.

  2. Ajoutez la confirmation du volume. Le volume en hausse peut mieux confirmer l'inversion de tendance.

  3. Optimiser les prises de profit et les arrêts de perte, par exemple en utilisant un arrêt de perte de retard, un arrêt de perte en pourcentage pour effectuer des sorties plus intelligentes.

  4. Utiliser des modèles d'apprentissage automatique pour ajuster dynamiquement des paramètres tels que nLength en fonction des changements du marché en temps réel.

Conclusion

Cette stratégie identifie la tendance à court terme en se basant simplement sur la relation entre le prix de clôture et le prix d'ouverture. Les signaux de trading sont générés lors de la détection de N barres consécutives qui se ferment en dessous du prix d'ouverture. La stratégie est intuitive, personnalisable et équipée d'une gestion efficace des risques. Cependant, un certain niveau de faux signaux existe. Il est recommandé de combiner des filtres supplémentaires pour l'optimisation. Avec le réglage des paramètres, la gestion des risques et l'amélioration du modèle, cela peut être un outil très pratique pour le trading à court terme.


/*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)

Plus de