
La logique centrale de cette stratégie est de détecter si le cours de clôture de la ligne K de N à la racine continue est en hausse, si oui, faites-en plus; si non, faites-le. Ainsi, vous pouvez capturer la tendance à la hausse du cours de l’action et réaliser des bénéfices.
L’indicateur central de la stratégie est le nCounter, qui détermine la hausse des prix en comparant les prix de clôture et d’ouverture des lignes K actuelles.
En particulier, si vous êtes près de[1]>=open[1], alors nCounter plus 1 indique la hausse; si close[1]
On compare ensuite nCounter avec le paramètre nLength, et on obtient un signal C1 = 1 quand nCounter>= nLength; sinon, C1 = 0。 Ici, nLength est le nombre de lignes K de croix successives que nous définissons comme nécessaires pour produire le signal。
Après avoir reçu le signal C1 = 1, si aucune position n’est actuellement détenue, effectuez un plus; continuez à détenir si vous avez déjà plusieurs positions.
En outre, la stratégie impose des conditions de stop-loss et de stop-loss. Si le prix est inférieur à un certain pourcentage du prix d’entrée, la position est fermée et si elle est supérieure à un certain pourcentage du prix d’entrée, la position est arrêtée.
Il s’agit d’une stratégie de suivi de tendance typique qui présente les avantages suivants:
Cette stratégie comporte également des risques, principalement liés aux aspects suivants:
Pour réduire ces risques, nous pouvons définir des conditions d’arrêt plus strictes, optimiser les paramètres de nLength, ajouter des règles de jugement de grand marché ou tester des paramètres individuels pour différentes actions. Bien sûr, aucune stratégie ne peut éviter complètement les pertes et doit être adaptée aux préférences de risque des traders.
Compte tenu de ces risques, nous pouvons continuer à optimiser la stratégie dans les domaines suivants:
Cette stratégie permet de capturer les tendances à la hausse en détectant les lignes K de la racine N de l’augmentation continue et de suivre efficacement les tendances. L’avantage est la simplicité logique, la flexibilité d’ajustement des paramètres et la possibilité de filtrer les fausses percées.
/*backtest
start: 2023-01-01 00:00:00
end: 2023-12-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 05/02/2020
// Evaluates for n number of consecutive higher 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 Up", shorttitle="NBU 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))
C1 = 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(C1== 1, close, nz(posprice[1], 0))
pos := iff(posprice > 0, 1, 0)
if (pos == 0)
strategy.close_all()
if (pos == 1)
strategy.entry("Long", strategy.long)
posprice := iff(low <= posprice - input_stoploss and posprice > 0, 0 , nz(posprice, 0))
posprice := iff(high >= posprice + input_takeprofit and posprice > 0, 0 , nz(posprice, 0))
plot(C1, title='NBU', color=color.green)