
La stratégie de choc aléatoire utilise un ensemble d’indicateurs techniques tels que le croisement de la ligne de moyenne, l’indicateur MACD et la moyenne mobile de Hull, pour former un système de décision de négociation plus scientifique et plus systématique. La stratégie vise à capturer les points de changement de tendance dans une situation de choc afin de découvrir et de saisir les opportunités potentielles de la situation.
Tout d’abord, la stratégie utilise un indicateur à la fois de la ligne de basculement et de la ligne de référence. La ligne de basculement est la moyenne des prix les plus élevés et les plus bas de 9 cycles, et la ligne de référence est la moyenne des prix les plus élevés et les plus bas de 24 cycles.
Deuxièmement, le MACD est un indicateur important de suivi de la tendance, qui est également utilisé par la stratégie. Le MACD est utilisé pour calculer la différence entre les émas à court terme (12 jours) et à long terme (24 jours) et pour calculer la ligne de signal (9 jours).
En outre, la moyenne mobile de Hull a été introduite dans la stratégie pour réduire le retard de la moyenne mobile et améliorer la sensibilité du signal de retournement de prix. Sa méthode de calcul est la suivante: multiplier par 2 le WMA d’un demi-cycle, en soustrayant le WMA d’un cycle complet, puis en calculant le WMA d’un cycle ouvert.
En fin de compte, la stratégie synthétise les résultats de plusieurs indicateurs ci-dessus, formant un système de décision de négociation plus fiable. Les opérations d’achat et de vente réelles ne se produisent que lorsque plusieurs indicateurs, tels que le MACD et le Hull MA, émettent des signaux de synchronisation.
La combinaison de plusieurs indicateurs, l’utilisation combinée d’une seule tranche, du MACD et des trois indicateurs de la MA de Hull, forme un plus fort pouvoir de décision.
Réduction des faux signaux, vérification entre les différents indicateurs, réduction de la probabilité d’erreur de jugement sur un seul indicateur.
Pour améliorer l’efficacité de l’opération, il suffit d’effectuer des transactions lorsque plusieurs indicateurs sont alignés, et d’éviter les transactions fréquentes.
Les paramètres sont réglables, les paramètres de l’indicateur peuvent être ajustés en fonction du marché pour améliorer l’adaptabilité de la stratégie.
Pour réduire le retard, Hull MA a amélioré le calcul des moyennes mobiles afin de capturer plus tôt les variations de prix.
Le risque de confusion aérienne est élevé et les signaux peuvent être erronés.
La mauvaise configuration des paramètres de l’indicateur peut également affecter les performances de la stratégie.
Si vous faites trop attention aux signaux d’inversion, vous risquez de manquer la tendance.
Hull MA est un indicateur relativement nouveau dont l’efficacité à long terme reste à vérifier.
La fréquence des transactions peut être faible et ne pas permettre de saisir toutes les opportunités à temps.
Il est possible de tester d’autres indicateurs, tels que les bandes de Bollinger, pour optimiser davantage le système de décision.
Les paramètres de l’indicateur peuvent être ajustés pour trouver la combinaison optimale de paramètres.
Des mécanismes d’arrêt dynamique peuvent être introduits pour contrôler les pertes individuelles.
Les indicateurs de tendance peuvent être combinés pour éviter de rater des opportunités de tendance.
Optimisation de la gestion des positions et adaptation de la fréquence des transactions et des positions aux différents marchés.
La stratégie de choc aléatoire utilise une combinaison d’indicateurs et de méthodes d’analyse technique pour rechercher des opportunités de négociation dans des conditions de choc. Elle présente des avantages en termes de combinaison d’indicateurs, de réduction des faux signaux et d’amélioration de l’efficacité opérationnelle.
/*backtest
start: 2022-10-30 00:00:00
end: 2023-11-05 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("Ichimoku Kinko Hyo + HULL-MA_X + MacD", shorttitle="@m", overlay=true, default_qty_type=strategy.percent_of_equity, max_bars_back=1000, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0)
keh=input(title="Double HullMA",defval=12, minval=1)
n2ma=2*wma(close,round(keh/2))
nma=wma(close,keh)
diff=n2ma-nma
sqn=round(sqrt(keh))
n2ma1=2*wma(close[1],round(keh/2))
nma1=wma(close[1],keh)
diff1=n2ma1-nma1
sqn1=round(sqrt(keh))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
b=n1>n2?lime:red
c=n1>n2?green:red
d=n1>n2?red:green
TenkanSenPeriods = input(9, minval=1, title="Tenkan Sen Periods")
KijunSenPeriods = input(24, minval=1, title="Kijun Sen Periods")
SenkouSpanBPeriods = input(51, minval=1, title="Senkou Span B Periods")
displacement = input(24, minval=1, title="Displacement")
donchian(len) => avg(lowest(len), highest(len))
TenkanSen = donchian(TenkanSenPeriods)
KijunSen = donchian(KijunSenPeriods)
SenkouSpanA = avg(TenkanSen, KijunSen)
SenkouSpanB = donchian(SenkouSpanBPeriods)
LS=close, offset = -displacement
MACD_Length = input(9)
MACD_fastLength = input(12)
MACD_slowLength = input(24)
MACD = ema(close, MACD_fastLength) - ema(close, MACD_slowLength)
aMACD = ema(MACD, MACD_Length)
a1=plot(n1,color=c)
a2=plot(n2,color=c)
plot(cross(n1, n2) ? n1 : na, style = circles, color=b, linewidth = 4)
plot(cross(n1, n2) ? n1 : na, style = line, color=d, linewidth = 3)
plot(TenkanSen, color=blue, title="Tenkan Sen", linewidth = 2)
plot(KijunSen, color=maroon, title="Kijun Sen", linewidth = 3)
plot(close, offset = -displacement, color=orange, title="Chikou Span", linewidth = 2)
p1=plot (SenkouSpanA, offset = displacement, color=green, title="Senkou Span A", linewidth = 2)
p2=plot (SenkouSpanB, offset = displacement, color=red, title="Senkou Span B", linewidth = 3)
fill(p1, p2, color = SenkouSpanA > SenkouSpanB ? green : red)
closelong = n1<n2 and close<n2 and (MACD<aMACD or TenkanSen<KijunSen or close<KijunSen)
if (closelong)
strategy.close("Long")
closeshort = n1>n2 and close>n2 and (MACD>aMACD or TenkanSen>KijunSen or close>KijunSen)
if (closeshort)
strategy.close("Short")
longCondition = n1>n2 and close>n2 and MACD>aMACD and (TenkanSen>KijunSen or close>KijunSen)
if (longCondition)
strategy.entry("Long",strategy.long)
shortCondition = n1<n2 and close<n2 and MACD<aMACD and (TenkanSen<KijunSen or close<KijunSen)
if (shortCondition)
strategy.entry("Short",strategy.short)