Diese Strategie berechnet Heikin-Ashi-Kerzen, um die Preislinien zu glätten, und kombiniert den MACD-Indikator, um Handelssignale zu generieren, und implementiert eine quantitative Strategie, die mittelfristige und langfristige Trends verfolgt.
Berechnen Sie Heikin-Ashi-Offenen, Schließenden, Höhen und Tiefpreisen, um Heikin-Ashi-Kerzen und glatte Preistrends zu zeichnen.
MACD-Parameter setzen: schnelle Länge 12, langsame Länge 26, Signallänge 9.
Berechnen Sie DEA langsame Linie, DEA schnelle Linie und MACD Histogramm.
Gehen Sie lang, wenn das MACD-Histogramm oberhalb von 0 überschreitet; Gehen Sie kurz, wenn es unter 0 überschreitet.
Hinzufügen von Filtern für Jahr, Monat und Tag, um den Handel auf einen bestimmten Zeitrahmen zu beschränken.
Heikin-Aschi-Kerzenfilter filtern Marktgeräusche effektiv aus, um Trends zu erkennen.
Der MACD liefert klare Trend-Handelssignale.
Die Kombination von Heikin-Ashi und MACD verbessert die Signalqualität und die Rentabilität.
Zeitfilter helfen, den Handelszeitplan basierend auf der historischen Performance zu optimieren.
Potenzielle große Verluste bei einer Trendumkehr.
Unzulängliche MACD-Parameter können zu übermäßige wertlose Signale erzeugen.
Starrzeitfilter können gute Handelsmöglichkeiten verpassen.
Gegenmaßnahmen:
Setzen Sie Stop-Loss/Take-Profit, um Verluste zu begrenzen.
Optimieren Sie die MACD-Parameter, um die beste Kombination zu bestimmen.
Hinzufügen von Indikatoren zur Ermittlung lokaler Trends.
Verschiedene Parameterkombinationen testen, um das Optimum zu finden.
Fügen Sie Stop-Loss-Mechanismen wie Trailing Stop-Loss hinzu.
Fügen Sie Indikatoren wie EMA, KDJ hinzu, um Umkehrpunkte zu bestimmen.
Um Abweichungen zu vermeiden, fügen Sie Volumenindikatoren hinzu.
Diese Strategie erleichtert die Preisbewegung mit Heikin-Ashi-Kerzen und bestimmt die Trendrichtung und Eingangssignale mit dem MACD Tradingview-Indikator, um eine trendfolgende Quant-Strategie umzusetzen. Im Vergleich zu normalen MACD-Strategien filtert sie etwas Lärm aus, um eine klarere Trendidentifizierung zu ermöglichen. Weitere Verbesserungen bei Parameteroptimierung, Stop-Loss und Combo-Indikatoren können seine Stabilität und Rentabilität verbessern.
/*backtest start: 2023-11-18 00:00:00 end: 2023-12-18 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("MACD ASHI BARS .v1 ", overlay=false,default_qty_type = strategy.percent_of_equity, default_qty_value = 100,commission_type=strategy.commission.percent,commission_value=0.1,slippage=1) // Calculation HA Values haopen = 0.0 haclose = (open + high + low + close) / 4 haopen := na(haopen[1]) ? (open + close) / 2 : (haopen[1] + haclose[1]) / 2 hahigh = max(high, max(haopen, haclose)) halow = min(low, min(haopen, haclose)) // HA colors hacolor = haclose > haopen ? color.green : color.red src=haclose fastmacd = input(12,title='MACD Fast Line Length') slowmacd = input(26,title='MACD Slow Line Length') signalmacd = input(9,title='Signal Line Length') macdslowline1 = sma(src,slowmacd) macdslowline2 = sma(macdslowline1,slowmacd) DEMAslow = ((2 * macdslowline1) - macdslowline2 ) macdfastline1 = sma(src,fastmacd) macdfastline2 = sma(macdfastline1,fastmacd) DEMAfast = ((2 * macdfastline1) - macdfastline2) MACDLine = (DEMAfast - DEMAslow) SignalLine = sma(MACDLine, signalmacd) delta = MACDLine-SignalLine swap1 = delta>0?color.green:color.red plot(delta,color=swap1,style=plot.style_columns,title='Histo',histbase=0,transp=20) p1 = plot(MACDLine,color=color.blue,title='MACD Line') p2 = plot(SignalLine,color=color.red,title='Signal') fill(p1, p2, color=color.blue) hline(0) yearfrom = input(2020) yearuntil =input(2042) monthfrom =input(1) monthuntil =input(12) dayfrom=input(1) dayuntil=input(31) if ( crossover(delta,0) and year >= yearfrom and year <= yearuntil and month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil) strategy.entry("MMAL", strategy.long, stop=close, oca_name="TREND", comment="AL") else strategy.cancel(id="MMAL") if ( crossunder(delta,0) and year >= yearfrom and year <= yearuntil and month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil ) strategy.entry("MMSAT", strategy.short,stop=close, oca_name="TREND", comment="SAT") else strategy.cancel(id="MMSAT")