Diese Strategie basiert auf dem Hull Moving Average-Indikator, berechnet den Hull MA in verschiedenen Zeitrahmen und vergleicht die Hull MA-Tendenzen in verschiedenen Zeitrahmen, um Trendveränderungen zu identifizieren.
Eingabeparameter: Hull MA-Periode Periode, HMA2-Zeitrahmen Resolution2, HMA3-Zeitrahmen Resolution3
Berechnen Sie den Hull-MA-Wert HMA
Berechnung des Hull MA-Wertes HMA2 auf dem Resolution2-Zeitrahmen
Berechnung des Hull MA-Wertes HMA3 auf dem Resolution3-Zeitrahmen
Vergleichen Sie die Größenverhältnisse zwischen HMA, HMA2, HMA3
Erstellen Sie ein Kaufsignal, wenn HMA>HMA2>HMA3
Erzeugen Sie ein Verkaufssignal, wenn HMA
Anzeige der Hull MA-Werte und -Signale für verschiedene Zeitrahmen oben links im Diagramm
Verwenden Sie Farben, um Aufwärtstrend und Abwärtstrend zu unterscheiden
Mit mehreren Zeitrahmen kann man falsche Ausbrüche filtern und Fallen vermeiden.
Anpassungsfähige Zeitrahmenparameter, die an unterschiedliche Perioden und Volatilität angepasst werden können.
Echtzeitsignalanzeige, intuitive Bedienung.
Visualisierte Hull MA-Trends helfen, den aktuellen Trend zu bestimmen.
Eine falsche Einstellung der Parameter kann zu einem Überhandel führen.
Längere Zeitrahmen Hull MA hat Verzögerungseffekt, kann Trendwendepunkte verpassen.
Kann falsche Signale gegen den Bullen-Bären-Übergang erzeugen.
Ausbruchsstrategien sind anfällig für falsche Ausbrüche.
Handelsprovisionen werden nicht berücksichtigt, was sich auf den tatsächlichen Gewinn auswirkt.
Die Risiken können reduziert werden, indem Parameter optimiert, andere Indikatoren für die Filtration kombiniert und ein breiteres Stop-Loss ermöglicht wird.
Optimierung der Hull-MA-Periode, die sich an verschiedene Perioden und Volatilität anpassen lässt.
Fügen Sie den Lautstärkenanzeiger hinzu, um falsche Ausbrüche zu vermeiden.
Fügen Sie Oszillatoren hinzu, um die Trendstärke zu bestimmen.
Einbeziehung von Modellen des maschinellen Lernens für den Kauf-/Verkaufszeitplan.
Kombinieren Sie Stimmungsindikatoren, um Markthype zu erkennen.
Anpassung der Stop-Loss-Strategie für ein besseres Risikomanagement.
Anpassung der Kauf-/Verkaufsbedingungen an andere Indikatorsignale.
Hinzufügen von Preiskanal- oder Wellenhandelsstrategien.
Diese Strategie verwendet Multi-Timeframe Hull MA, um die Trendrichtung zu bestimmen, indem sie gleitende Durchschnittsneigungsschwellen über Zeiträume hinweg vergleicht und bei Trendumkehrungen Signale erzeugt. Multi-Timeframe Hull MA ist effektiver bei der Filterung falscher Ausbrüche als einzelne MA. Diese Strategie hat jedoch auch Einschränkungen bei Parameter-Tuning, Trendbestimmung usw. Die Integration mehrerer Indikatoren, die Optimierung von Parametern, die Verbesserung des Stop-Loss kann die Rentabilität und das Risikokontrolle verbessern.
/*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)