Cette stratégie est basée sur l'indicateur Hull Moving Average, calculant Hull MA sur différentes périodes et comparant les tendances de Hull MA à travers les périodes pour identifier les changements de tendance.
Paramètres d'entrée: Période de l'AM de la coque Période, échéancier HMA2 Résolution2, échéancier HMA3 Résolution3
Calculer la valeur de la barre de courant MA de la coque HMA
Calculer la valeur HMA2 de Hull sur la période de résolution2
Calculer la valeur HMA3 de Hull sur la période de résolution3
Comparer la relation de grandeur entre HMA, HMA2, HMA3
Générer un signal d'achat lorsque HMA>HMA2>HMA3
Générer un signal de vente lorsque HMA
Afficher les valeurs et les signaux de Hull MA sur différentes périodes dans le coin supérieur gauche du graphique
Utilisez des couleurs pour distinguer la tendance haussière et la tendance baissière
Utiliser plusieurs délais peut filtrer les fausses fuites et éviter les pièges.
Paramètres de calendrier personnalisables, adaptables à différentes périodes et volatilités.
Affichage en temps réel, fonctionnement intuitif.
Les tendances visualisées de Hull MA aident à déterminer la tendance actuelle.
Des paramètres mal réglés peuvent entraîner une survente.
Les délais plus longs de Hull MA ont un effet de retard, peuvent manquer les points tournants de la tendance.
Peut générer de faux signaux autour de la transition taureau-ours.
Les stratégies d'évasion sont sujettes à être piégées par de fausses évasions.
Les commissions de négociation ne sont pas prises en compte, ce qui a une incidence sur le bénéfice réel.
Les risques peuvent être réduits en optimisant les paramètres, en combinant d'autres indicateurs pour la filtration et en permettant un stop loss plus large.
Optimiser la période de mise en marché de Hull adaptée à différentes périodes et volatilité.
Ajoutez l'indicateur de volume pour éviter les fausses éruptions.
Ajoutez des oscillateurs pour déterminer la force de la tendance.
Incorporer des modèles d'apprentissage automatique pour le calendrier d'achat/vente.
Combinez les indicateurs de sentiment pour détecter le battage médiatique sur le marché.
Adapter la stratégie de stop loss pour une meilleure gestion des risques.
Personnaliser les conditions d'achat/vente avec d'autres signaux d'indicateur.
Ajouter des stratégies de négociation basées sur le canal de prix ou les vagues.
Cette stratégie utilise un Hull MA multi-temporel pour déterminer la direction de la tendance en comparant les pentes moyennes mobiles à travers les périodes et génère des signaux lors d'inversions de tendance.
/*backtest start: 2023-10-07 00:00:00 end: 2023-11-06 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 // strategy("wtfBUYorSELLffs",overlay=true,currency="USD",initial_capital=100000,default_qty_type=strategy.percent_of_equity,default_qty_value=100,commission_type=strategy.commission.percent,commission_value=0.1) Period=input(title="Hull MA Period",type=input.integer,defval=6,minval=1) Resolution2=input(title="HMA2 Resolution", type=input.resolution,defval="60") Resolution3=input(title="HMA3 Resolution", type=input.resolution,defval="240") Price=input(title="Source of Price",type=input.source,defval=open) xOffset = input(40, title="Panel offset (X-Axis)") yOffset = input(0, title="Panel offset (y-Axis)") lightgray = #D3D3D3FF pnlTextColor = color.silver pnlColor = color.black HMA = hma(Price,Period) HMA2 = security(syminfo.tickerid, Resolution2, HMA,barmerge.gaps_off,barmerge.lookahead_off) HMA3 = security(syminfo.tickerid, Resolution3, HMA,barmerge.gaps_off,barmerge.lookahead_off) HUP = HMA > HMA[1] H1UP = security(syminfo.tickerid, Resolution2, HUP,barmerge.gaps_off,barmerge.lookahead_off) H2UP = security(syminfo.tickerid, Resolution3, HUP,barmerge.gaps_off,barmerge.lookahead_off) int barSize = timeframe.isdaily ? timeframe.multiplier*86400000 : timeframe.isseconds? timeframe.multiplier*1000 : timeframe.isminutes? timeframe.multiplier*60000 : (time[0]-time[1]) int lapos_x = timenow + barSize*xOffset float lapos_y = highest(20) + yOffset*syminfo.mintick * syminfo.pointvalue f_draw_infopanel(_x, _y, _line, _text)=> _rep_text = "" for _l = 0 to _line _rep_text := _rep_text + "\n" _rep_text := _rep_text + _text // var label _la = na // label.delete(_la) // _la := label.new( // x=_x, y=_y, // text=_rep_text, xloc=xloc.bar_time, yloc=yloc.price, // color=pnlColor, style=label.style_labelup, textcolor=pnlTextColor, size=size.normal) // f_draw_infopanel(lapos_x, lapos_y, 8, "╚═══════════════════════╝") f_draw_infopanel(lapos_x, lapos_y, 6, "HMA3 on TF " + Resolution3 + " = " + tostring(HMA3,"#.####") + (H2UP ? " BUY" : " SELL")) f_draw_infopanel(lapos_x, lapos_y, 4, "HMA2 on TF " + Resolution2 + " = " + tostring(HMA2,"#.####") + (H1UP ? " BUY" : " SELL")) f_draw_infopanel(lapos_x, lapos_y, 2, "HMA1 on TF " + timeframe.period + " = " + tostring(HMA,"#.####") + (HUP ? " BUY" : " SELL")) f_draw_infopanel(lapos_x, lapos_y, 0, "╔═════════ HMA(" + tostring(Period,"#") +") ════════╗") change_color=HMA>HMA3?color.green:color.red change_color2=HMA2>HMA3?color.lime:color.yellow plot1=plot(HMA3,color=change_color2,title="3 Hull MA Line",linewidth=2,transp=75) plot2=plot(HMA2,color=change_color,title="2 Hull MA Line",linewidth=2,transp=75) plot3=plot(HMA,color=color.white,title="Hull MA Line",linewidth=2,transp=75) fill(plot1,plot3,color=change_color,transp=90) fill(plot2,plot3,color=change_color2,transp=75) if (H2UP and H1UP and HUP) strategy.entry("BUY",strategy.long) if (not H2UP and not H1UP and not HUP) strategy.entry("SELL",strategy.short)