Stratégie de négociation de tendance basée sur l'extrémité des prix

Auteur:ChaoZhang est là., Date: 2023-12-12 14h36
Les étiquettes:

img

Résumé

Cette stratégie calcule les points de prix maximum et minimum sur une certaine période pour former des bandes supérieures et inférieures. Lorsque le prix actuel franchit la bande supérieure ou inférieure, des positions longues ou courtes sont prises. La stratégie juge principalement la tendance des prix et des transactions lorsque la tendance se renforce.

La logique de la stratégie

L'indicateur de base de cette stratégie est de calculer les prix maximaux et minimaux sur une période.

Bande supérieure: balayez la ligne K dans la période de gauche à droite pour trouver un point maximum, puis déterminez si la 1ère ligne K à sa gauche vers l'extrême gauche et la 1ère ligne K à sa droite vers l'extrême droite sont toutes deux inférieures à ce point maximum.

bande inférieure: scannez la ligne K dans la période de gauche à droite pour trouver un point bas minimum, puis déterminez si la 1ère ligne K à sa gauche à l'extrême gauche et la 1ère ligne K à sa droite à l'extrême droite sont toutes deux supérieures à ce point bas minimum. Si oui, ce point est confirmé comme le bas de la plage.

En répétant ce calcul, les bandes supérieures et inférieures des prix sur une période peuvent être obtenues. Prenez des positions longues lorsque les prix franchissent la bande supérieure et prenez des positions courtes lorsque les prix franchissent la bande inférieure. Cela forme une stratégie de trading de tendance basée sur la détermination de la tendance par des points d'extrême prix.

Analyse des avantages

La façon dont cette stratégie juge la tendance est assez simple en déterminant la partie de renforcement de la tendance à travers les points d'extrême des prix, ce qui peut filtrer efficacement les scénarios de consolidation et éviter les transactions dans les consolidations.

Analyse des risques

La stratégie prend des signaux assez strictement, ce qui peut manquer plus d'opportunités de trading. En outre, les points d'extrême ont besoin de temps pour s'accumuler et se former, ce qui sera relativement en retard. Les paramètres doivent être correctement optimisés. Lorsque les paramètres sont incorrects, des signaux erronés sont également très susceptibles de se produire.

La rigueur du jugement des points extrêmes peut être modérément réduite pour permettre certaines fluctuations afin de réduire le risque d'erreur de jugement.

Directions d'optimisation

Le cycle de détermination des bandes supérieures et inférieures peut être correctement optimisé pour mieux capturer la tendance.

Afin de réduire la possibilité de manquer des opportunités commerciales, les conditions de détermination des points d'extrême peuvent être modérément assouplies afin de permettre une certaine fluctuation.

On peut tenter de confirmer avec d'autres indicateurs tels que les indicateurs de volume, les moyennes mobiles, etc., afin d'éviter le risque de signaux erronés résultant d'un jugement sur un seul indicateur.

Conclusion

La manière dont cette stratégie juge les caractéristiques de la tendance par les points d'extrême prix est assez simple et efficace. Elle peut filtrer efficacement la consolidation et déterminer le temps de renforcement des tendances pour le trading de tendance. L'avantage de la stratégie réside dans une bonne position de génération de signal pour poursuivre les tendances. L'inconvénient est que les signaux peuvent avoir un certain retard et qu'il est difficile de capturer les virages. Grâce à l'optimisation des paramètres et des conditions, cette stratégie peut devenir un outil de jugement de tendance relativement fiable.


/*backtest
start: 2022-12-05 00:00:00
end: 2023-12-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 19/02/2018
//  Stock market moves in a highly chaotic way, but at a larger scale, the movements 
// follow a certain pattern that can be applied to shorter or longer periods of time 
// and we can use Fractal Chaos Bands Indicator to identify those patterns. Basically, 
// the Fractal Chaos Bands Indicator helps us to identify whether the stock market is 
// trending or not. When a market is trending, the bands will have a slope and if market 
// is not trending the bands will flatten out. As the slope of the bands decreases, it 
// signifies that the market is choppy, insecure and variable. As the graph becomes more 
// and more abrupt, be it going up or down, the significance is that the market becomes 
// trendy, or stable. Fractal Chaos Bands Indicator is used similarly to other bands-indicator 
// (Bollinger bands for instance), offering trading opportunities when price moves above or 
// under the fractal lines.
//
// The FCB indicator looks back in time depending on the number of time periods trader selected 
// to plot the indicator. The upper fractal line is made by plotting stock price highs and the 
// lower fractal line is made by plotting stock price lows. Essentially, the Fractal Chaos Bands 
// show an overall panorama of the price movement, as they filter out the insignificant fluctuations 
// of the stock price.
//
// You can change long to short in the Input Settings
// WARNING:
//  - For purpose educate only
//  - This script to change bars colors.
////////////////////////////////////////////////////////////
fractalUp(pattern) =>
    p = high[pattern+1]
    okl = 1
    okr = 1
	for i = pattern to 1
		okl := iff(high[i] < high[i+1] and okl == 1 , 1, 0)
	for i = pattern+2 to pattern*2+1
		okr := iff(high[i] < high[i-1] and okr == 1, 1, 0)
	res = iff(okl == 1 and okr == 1, p, res[1])
    res

fractalDn(pattern) =>
    p = low[pattern+1]
    okl = 1
    okr = 1
	for i = pattern to 1
		okl := iff(low[i] > low[i+1] and okl == 1 , 1, 0)
	for i = pattern+2 to pattern*2+1
		okr := iff(low[i] > low[i-1] and okr == 1, 1, 0)
	res = iff(okl == 1 and okr == 1, p, res[1])
    res

strategy(title="Fractal Chaos Bands", overlay = true)
Pattern = input(1, minval=1)
reverse = input(false, title="Trade reverse")
xUpper = fractalUp(Pattern)
xLower = fractalDn(Pattern)
pos = iff(close > xUpper, 1,
       iff(close < xLower, -1, nz(pos[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)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )  
plot(xUpper, color=red, title="FCBUp")
plot(xLower, color=green, title="FCBDn")

Plus de