
La stratégie de suivi des tendances de la courbe de variation progressive utilise plusieurs moyennes mobiles de différentes périodes pour capturer les changements de tendance des prix, en plus d’un indicateur d’oscillateur pour déterminer les zones de survente et de survente, et pour réaliser une stratégie de suivi des tendances de vente à bas prix. La stratégie s’applique aux positions de courbe moyenne et longue, pour suivre les tendances les plus évidentes.
Cette stratégie utilise plusieurs groupes de moyennes mobiles de 18 cycles, 26 cycles et 36 cycles pour capturer la tendance des prix. Lorsqu’une courte moyenne traverse la moyenne à long terme, elle est considérée comme étant en tendance à la hausse. Lorsqu’une courte moyenne traverse la moyenne à long terme, elle est considérée comme en tendance à la baisse.
En même temps, la stratégie utilise également des indicateurs d’oscillation tels que le MACD, le RSI et l’EFI pour juger des zones de survente et de survente. Par exemple, la ligne de colonne MACD est en hausse et en baisse à la suite d’une inversion négative et négative; Le RSI est en hausse et en baisse à la baisse; L’indicateur EFI est en hausse et en baisse à moins de 0 heures.
Règles d’entrée:
Plus simple: la courte moyenne est traversée par la longue moyenne et le MACD est supérieur à 0 et le RSI recule et l’EFI est inférieur à 0
Billets blancs: la courte moyenne est inférieure à la longue moyenne et la MACD est inférieure à 0 et le RSI est en retrait et l’EFI est supérieur à 0
Règles de prévention des pertes:
Stop multiple: l’indicateur EFI est supérieur à la dépréciation ET le prix est inférieur à la moyenne spécifiée
Stop-loss sur les billets blancs: les indices EFI sont inférieurs à la dépréciation et le prix dépasse la moyenne spécifiée
La robustesse et l’anti-fragilité sont des caractéristiques clés qui aident à assurer la résilience au fil du temps pour capturer les principaux points de changement de tendance.
Les combinaisons d’indicateurs d’oscillateurs sont utilisées pour déterminer les zones de survente et de survente, afin d’éviter de suivre les hauts et les bas.
Les règles de stop loss tiennent compte de la tendance et des flux de fonds, et contrôlent efficacement les risques.
Les paramètres de la stratégie ont été testés et optimisés à plusieurs reprises pour s’adapter à la plupart des situations.
La fréquence d’opération est modérée, les signaux de transaction sont stables et permettent de suivre la tendance des lignes longues.
La chute soudaine peut entraîner un effet de stop-loss, et la marge de stop-loss doit être augmentée de manière appropriée.
La fréquence des transactions peut être trop élevée en cas de choc et les paramètres doivent être ajustés de manière appropriée pour réduire la fréquence des transactions.
La période de détention trop longue peut entraîner une expansion des pertes. Le cycle de la moyenne devrait être raccourci de manière appropriée et les pertes arrêtées en temps opportun.
Il existe un risque de suradaptation lors de la réévaluation, l’effet en direct est à vérifier.
Optimiser la fréquence des transactions et les gains pour trouver la meilleure combinaison de paramètres.
Ajout d’algorithmes d’apprentissage automatique, paramètres d’optimisation dynamique et adaptation aux évolutions du marché
Ajout d’un mécanisme d’arrêt de perte adaptatif, utilisant différents niveaux d’arrêt de perte selon les circonstances.
La mise en place d’un système de gestion de l’activité, combiné à un plus grand nombre d’indicateurs pour déterminer le moment de l’entrée, améliore la stabilité stratégique.
Augmenter les stratégies de gestion des fonds, contrôler la taille des positions individuelles et gérer les risques globaux.
La stratégie de suivi de la tendance de la courbe graduelle, qui permet de juger de la direction de la tendance à l’aide de plusieurs courbes, combinée à un filtre d’indicateur pour entrer dans le moment, peut suivre efficacement la tendance majeure et atteindre l’objectif de maintenir des gains stables sur la longue ligne. La stratégie a déjà une certaine stabilité grâce à l’optimisation des paramètres, mais il reste encore à améliorer le contrôle des risques et le mécanisme d’adaptation, à réduire les rétractions et à améliorer le taux de victoire.
/*backtest
start: 2023-09-25 00:00:00
end: 2023-10-25 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/
// © murdocksilva
//@version=5
strategy("Daily_Mid Term_Consulting BOLT")
//calculo longuitud
longuitud = input(58, title= "longitud_sma")
px = ta.sma(close, 1)
px2 = ta.sma(low, 1)
Length1 = input.int(18)
Length2 = input.int(18)
Length3 = input.int(26)
Length4 = input.int(36)
Length5 = input.int(78)
Length6 = input.int(1)
Length7 = input.int(1500)
Length8 = input.int(58)
Length9 = input.int(3000)
Length10 = input.int(2)
Length11 = input.int(14)
ma1 = ta.sma(low, Length1)
ma2 = ta.sma(high, Length2)
ma3 = ta.sma(close, Length3)
ma4 = ta.sma(close, Length4)
ma5 = ta.sma(close, Length5)
ma6 = ta.sma(close, Length6)
ma7 = ta.sma(close, Length7)
ma8 = ta.sma(close, Length8)
ma9 = ta.sma(close, Length9)
ma10 = ta.sma(close, Length10)
ma11 = ta.sma(close, Length11)
// calculo EFI
efi = (close[1]-close) * volume / 1000
efi_indicador = (efi[1] + efi) / 2
//Variable RSI - calculo desv estandar
b = (px-ma10)*(px-ma10)
b2 = (px[1]-ma10[1])*(px[1]-ma10[1])
c = b + b2
c2 = c / 2
desv = math.sqrt(c2)/10
//calculo MACD
macd = ma4 - ma5
//calculo RSI
rsi = ta.rsi(close, 9)
// calculo Divergencia
ma = ta.sma(close, longuitud)
dist = close - ma
porcentaje = dist * 100 / close
ma_dista = ta.sma(porcentaje, 333)
//condición de entrada y salida long
long = ma1[1] < ma1 and ma2[1] < ma2 and macd > 0 and px > ma3 and efi_indicador < 9 and px > ma7 and macd[1] < macd
clong = efi_indicador > 22000 and px < ma8
strategy.entry("BUY", strategy.long, when = long)
strategy.close("BUY", when = clong)
//condición de entrada y salida short
short = ma1[1] > ma1 and ma2[1] > ma2 and macd < 0 and px < ma3 and efi_indicador > 9 and macd[1] > macd
cshort = efi_indicador < 14000 and px > ma8 and ma11 > desv
strategy.entry("SELL", strategy.short, when = short)
strategy.close("SELL", when = cshort)
//SL Y TP
//strategy.exit("long exit", "Daily_Mid Term_Consulting BOLT", profit = close * 40 / syminfo.mintick, loss = close * 0.02 / syminfo.mintick)
//strategy.exit("shot exit", "Daily_Mid Term_Consulting BOLT", profit = close * 40 / syminfo.mintick, loss = close * 0.02 / syminfo.mintick)
// GRAFICA smas
plot(ma1, color=color.new(color.orange, 0))
plot(ma2, color=color.new(color.orange, 0))
plot(ma3, color=color.new(color.orange, 0))
plot(ma4, color=color.new(color.orange, 0))
plot(ma5, color=color.new(color.orange, 0))
plot(ma6, color=color.new(color.green, 0))
plot(ma7, color=color.new(color.orange, 0))
plot(ma8, color=color.new(color.orange, 0))
plot(ma9, color=color.new(color.orange, 0))
//GRAFICA MACD
plot(macd, color=color.new(color.red, 0), style = plot.style_columns)
//GRAFICA DIVERGENCIA
plot(porcentaje, style = plot.style_columns)
//GRAFICA MA DIVERGENCIA
plot(ma_dista, color=color.new(color.white, 0))
//GRAFICA MA DIVERGENCIA
plot(desv, color=color.new(color.blue, 0))
//GRAFICA EFI
plot(efi_indicador, color=color.new(color.yellow, 0))
// GRAFICA RSI
l1 = hline(70, color=color.new(color.green, 0))
l2 = hline(30, color=color.new(color.green, 0))
plot(rsi, color=color.new(color.white, 0))
//prueba 1 stop loss and take profit
//sl = 0.05
//tp = 0.1
//calculo de precio para sl y tp
//longstop=strategy.position_avg_price*(1-sl)
//longprofit=strategy.position_avg_price*(1+tp)
//shortstop=strategy.position_avg_price*(1+sl)
//shortprofit=strategy.position_avg_price*(1-tp)
//if (long)
// strategy.exit("BUY", strategy.long)
//sl and tp long|short
//if strategy.entry("BUY", strategy.long)
//if strategy.position_avg_price > 0
//strategy.exit("BUY", limit = longprofit, stop = longstop)
//if strategy.position_avg_price < 0
//strategy.exit("SELL", limit = shortprofit, stop=shortstop)