Stratégie de trading stop suiveur Stochastic Supertrend


Date de création: 2024-01-25 16:04:39 Dernière modification: 2024-01-25 16:04:39
Copier: 0 Nombre de clics: 712
1
Suivre
1617
Abonnés

Stratégie de trading stop suiveur Stochastic Supertrend

Aperçu

Il s’agit d’une stratégie de tracking stop loss qui combine plusieurs indicateurs techniques. La stratégie utilise principalement les indicateurs Supertrend, Stochastic, 200-day moving average et ATR stop loss pour identifier les signaux de trading et définir les points de stop loss.

Principe de stratégie

Lorsque la ligne Stochastic K descend de la zone de survente, la Supertrend indique une tendance à la hausse et le prix franchit la moyenne mobile à 200 jours, faites plus; lorsque la ligne Stochastic K monte de la zone de survente et la Supertrend indique une tendance à la baisse et le prix franchit la moyenne mobile à 200 jours, faites un stop. Utilisez l’indicateur ATR pour définir un stop loss dynamique après la transaction.

Plus précisément, lorsque la valeur de Stochastic K dépasse 80, il est considéré comme un signal de survente; lorsque la valeur de Stochastic K dépasse 20, il est considéré comme un signal de survente. L’indicateur Supertrend détermine la direction de la tendance des prix.

Les conditions de déclenchement des signaux multiples sont les suivantes: ligne stochastique K en dessous de la zone de survente (<80); direction supérieure de la Supertrend; prix supérieur à la moyenne mobile à 200 jours.

Conditions de déclenchement du signal de vide: la ligne stochastique K monte de la zone de survente (plus de 20), la Supertrend indique la baisse, le prix est inférieur à la moyenne mobile à 200 jours.

Après l’entrée en bourse, définissez un stop ATR pour suivre le risque de contrôle de la fluctuation des prix. Le stop multiples est le prix le plus bas moins le facteur ATR multiplié par le facteur ATR. Le stop vide est le prix le plus élevé plus le facteur ATR multiplié par le facteur ATR.

Avantages stratégiques

Cette stratégie, combinée à plusieurs indicateurs permettant de déterminer la direction de la tendance et le moment de l’entrée, permet de filtrer efficacement les fausses signaux. En outre, l’utilisation de l’ATR pour suivre les stop-loss dynamiques permet de contrôler les risques en fonction des fluctuations du marché et de conserver au maximum les fonds.

Cette stratégie permet de mieux capturer les points de basculement que les stratégies de suivi de tendance comme les moyennes mobiles simples. Cette stratégie offre une plus grande flexibilité que la méthode de stop-loss unique.

Risque stratégique

La stratégie repose principalement sur le jugement des indicateurs, qui peuvent entraîner des pertes en raison de la rétroaction si le signal est erroné. En outre, dans des situations de choc, le stop loss peut être fréquemment déclenché et entraîner des pertes.

De plus, l’ATR Stop, bien qu’il puisse être ajusté en fonction des fluctuations, ne peut pas éviter complètement la probabilité que le Stop soit dépassé. Si le prix est en hausse, le Stop Stop peut être déclenché directement.

Optimisation de la stratégie

Cette stratégie peut être optimisée à partir des dimensions suivantes:

  1. Ajuster les paramètres de l’indicateur pour optimiser l’exactitude des signaux d’achat et de vente. Par exemple, un indicateur stochastique qui peut tester différents paramètres, ou ajuster les paramètres de cycle et de multiplication ATR d’un indicateur Supertrend.

  2. Tester l’efficacité d’autres méthodes d’arrêt. Par exemple, vous pouvez essayer des algorithmes d’arrêt intelligents auto-adaptatifs plus flexibles que l’arrêt ATR, ou envisager de faire suivre l’arrêt à un arrêt mobile.

  3. Ajout de conditions de filtrage pour une entrée plus fiable. Par exemple, des filtres tels que l’indicateur d’énergie du volume de transaction peuvent être ajoutés pour éviter une entrée erronée en fonction de l’indicateur lorsque le volume est insuffisant.

  4. Optimiser les stratégies de gestion des fonds, par exemple en ajustant dynamiquement les positions.

Résumer

Stochastic Supertrend suit une stratégie de trading stop-loss intégrée qui utilise plusieurs indicateurs pour déterminer la direction de la tendance et utilise un suivi intelligent ATR pour contrôler les risques. Cette stratégie peut filtrer efficacement le bruit de chaque entrée, avec un meilleur rapport risque/bénéfice. Nous pouvons continuer à optimiser cette stratégie en modifiant les paramètres, en modifiant les méthodes de stop-loss et en ajoutant des conditions de filtrage, afin de pouvoir s’adapter à un environnement de marché plus complexe.

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © araamas

//@version=5
strategy("stoch supertrd atr 200ma", overlay=true, process_orders_on_close=true)
var B = 0
if strategy.position_size > 0 //to figure out how many bars away did buy order happen
    B += 1 

if strategy.position_size == 0
    B := 0
    
atrPeriod = input(10, "ATR Length")
factor = input.float(3.0, "Factor", step = 0.01)

[supertrend, direction] = ta.supertrend(factor, atrPeriod)

bodyMiddle = plot((open + close) / 2, display=display.none)
upTrend = plot(direction < 0 ? supertrend : na, "Up Trend", color = color.green, style=plot.style_linebr)
downTrend = plot(direction < 0? na : supertrend, "Down Trend", color = color.red, style=plot.style_linebr)

ema = ta.ema(close, 200)
plot(ema, title="200 ema", color=color.yellow)

b = input.int(defval=14, title="length k%")
d = input.int(defval=3, title="smoothing k%")
s = input.int(defval=3, title="smoothing d%")
smooth_k = ta.sma(ta.stoch(close, high, low, b), d)
smooth_d = ta.sma(smooth_k, s)

////////////////////////////////////////////////////////////////////////////////
length = input.int(title="Length", defval=12, minval=1)
smoothing = input.string(title="Smoothing", defval="SMA", options=["RMA", "SMA", "EMA", "WMA"])
m = input(1.5, "Multiplier")
src1 = input(high)
src2 = input(low)
pline = input(true, "Show Price Lines")
col1 = input(color.blue, "ATR Text Color")
col2 = input(color.teal, "Low Text Color",inline ="1")
col3 = input(color.red, "High Text Color",inline ="2")

collong = input(color.teal, "Low Line Color",inline ="1")
colshort = input(color.red, "High Line Color",inline ="2")

ma_function(source, length) =>
	if smoothing == "RMA"
		ta.rma(source, length)
	else
		if smoothing == "SMA"
			ta.sma(source, length)
		else
			if smoothing == "EMA"
				ta.ema(source, length)
			else
				ta.wma(source, length)
				
a = ma_function(ta.tr(true), length) * m
x = ma_function(ta.tr(true), length) * m + src1
x2 = src2 - ma_function(ta.tr(true), length) * m

p1 = plot(x, title = "ATR Short Stop Loss", color=color.blue)
p2 = plot(x2, title = "ATR Long Stop Loss", color= color.blue)


///////////////////////////////////////////////////////////////////////////////////////////////

shortCondition = high < ema and direction == 1 and smooth_k > 80
if (shortCondition) and strategy.position_size == 0
    strategy.entry("sell", strategy.short)

longCondition = low > ema and direction == -1 and smooth_k < 20
if (longCondition) and strategy.position_size == 0
    strategy.entry("buy", strategy.long)
    
g = (strategy.opentrades.entry_price(0)-x2) * 2
k = (x - strategy.opentrades.entry_price(0)) * 2

if strategy.position_size > 0
    strategy.exit(id="buy exit", from_entry="buy",limit=strategy.opentrades.entry_price(0) + g, stop=x2) 

if strategy.position_size < 0
    strategy.exit(id="sell exit", from_entry="sell",limit=strategy.opentrades.entry_price(0) - k, stop=x) 
    
//plot(strategy.opentrades.entry_price(0) - k, color=color.yellow)
//plot(strategy.opentrades.entry_price(0) + g, color=color.red)