Dies ist eine Trend-nachfolgende Long-Line-Tracking-Strategie, die den Trend basierend auf Preisfraktalen beurteilt. Sie entscheidet, Positionen basierend auf dem Durchbruch des letzten Fraktalpunktes zu eröffnen. Gleichzeitig beurteilt sie die Trendrichtung, indem sie den durchschnittlichen Preis der letzten N Fraktalpunkte berechnet und schließt Positionen, wenn sich der Trend ändert.
Berechnen Sie die Fraktalpunkte der Preise. Der Fraktalpunkt ist definiert als der höchste Preis heute, der höher ist als die höchsten Preise der letzten zwei Tage und die nächsten zwei Tage.
Erfassen Sie den Preis des letzten Fraktalpunktes als Widerstand.
Wenn der Schlusskurs den letzten Fraktalpunkt durchbricht, wird davon ausgegangen, dass der Widerstand gebrochen und eine Long-Position eingerichtet wurde.
Berechnen Sie den Durchschnittspreis der letzten N Fraktalpunkte, um den Trend zu bestimmen.
Wenn sich der durchschnittliche Preis des Fraktalpunktes während der Long-Position verringert, schließen Sie die Position.
Der größte Vorteil dieser fractalbasierten Trendbeurteilung ist, dass sie effektiv Marktlärm filtern und längerfristige Trendrichtungen bestimmen kann. Im Vergleich zu einfachen gleitenden Durchschnittslinien und anderen Indikatoren ist sie widerstandsfähiger gegen plötzliche abnorme Schwankungen.
Darüber hinaus sind die Kriterien für die Eröffnung und Schließung von Positionen dieser Strategie sehr klar, was den häufigen Handel vermeidet und sie besonders für langfristige Beteiligungen geeignet macht.
Das größte Risiko dieser Strategie liegt in der probabilistischen Natur der Fraktalpunkte selbst. Fraktalpunkte können nicht vollständig vorhersagen, ob sich die Preise definitiv umkehren werden, d.h. die Wahrscheinlichkeit eines Fehleinschätzens besteht immer noch.
Darüber hinaus ist die Zeitspanne für das Beurteilen von Fraktalpunkten lang und kann sich nicht an den Hochfrequenzhandel anpassen.
In Anbetracht der Wahrscheinlichkeit einer Fehleinschätzung von Fraktalpunkten können wir auf folgende Weise optimieren:
Kombination mit anderen Indikatoren wie Bollinger-Bändern, gleitenden Durchschnitten usw., um Fehleinschätzungen zu vermeiden, die ausschließlich auf Fraktalpunkten basieren.
Anpassen der Parameter von Fraktalpunkten, z. B. Anzahl der Perioden vor und nach dem Urteil, um die Fractalpunkturteile zu optimieren.
Hinzufügen von Stop-Loss-Strategien, um Verluste zu stoppen, wenn sich die Verluste bis zu einem gewissen Grad ausweiten.
Die Fractal Breakout Strategie eignet sich sehr gut für die Beurteilung langfristiger Trends insgesamt und eignet sich sehr gut für die Verwendung durch langfristige Anleger. Solange wir die Parameter angemessen anpassen, andere Filterindikatoren hinzufügen, um die Richtigkeit des Urteils zu gewährleisten, können wir diese Strategie erheblich optimieren und zu einem wichtigen Teil der quantitativen Entscheidung machen.
/*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=2 strategy("Fractal Breakout Strategy (by ChartArt)", shorttitle="CA_-_Fractal_Breakout_Strat", overlay=true) // ChartArt's Fractal Breakout Strategy // // Version 1.0 // Idea by ChartArt on April 24, 2016. // // This long only strategy determines the last fractal top // and enters a trade when the price breaks above the last // fractal top. The strategy also calculates the average // price of the last 2 (or 3) fractal tops to get the trend. // // The strategy exits the long trade when the average of the // fractal tops is falling (when the trend is lower highs). // And the user can manually set a delay of this exit. // // In addition the fractals tops can be colored in blue // and a line can be drawn based on the fractal tops. // This fractal top line is colored by the fractal trend. // // List of my work: // https://www.tradingview.com/u/ChartArt/ // // __ __ ___ __ ___ // / ` |__| /\ |__) | /\ |__) | // \__, | | /~~\ | \ | /~~\ | \ | // // // input n_time = input(title='Always exit each trade after this amount of bars later (Most important strategy setting)', defval=3) price = input(hl2,title='Price type to determine the last fractal top and the fractal breakout, the default is (high+low)/2') // fractal calculation fractal_top = high[2] > high[3] and high[2] > high[4] and high[2] > high[1] and high[2] > high[0] fractal_price = valuewhen(fractal_top, price, 1) use_longer_average = input(true,title='Use Fractal price average of the last 3 fractals instead of the last 2 fractals?') fractal_average = use_longer_average?(fractal_price[1] + fractal_price[2] + fractal_price[3] ) / 3 : (fractal_price[1] + fractal_price[2]) / 2 fractal_trend = fractal_average[0] > fractal_average[1] no_repainting = input(true,title='Use the price of the last bar to prevent repainting?') fractal_breakout = no_repainting?price[1] > fractal_price[0]:price[0] > fractal_price[0] // highlight fractal tops show_highlight = input(true,title='Highlight fractal tops in blue and color all other bars in gray?') highlight = fractal_top?blue:silver barcolor(show_highlight?highlight:na,offset=-2) show_fractal_top_line = input(true,title='Draw a colored line based on the fractal tops?') fractal_top_line = change(fractal_top) != 0 ? price : na fractal_top_line_color = change(fractal_price) > 0 and fractal_breakout == true ? green : change(fractal_price) < 0 and fractal_breakout == false ? red : blue plot(show_fractal_top_line?fractal_top_line:na,offset=-2,color=fractal_top_line_color,linewidth=4) // strategy trade_entry = fractal_trend and fractal_breakout trade_exit = fractal_trend[n_time] and fractal_trend == false if (trade_entry) strategy.entry('Long', strategy.long) if (trade_exit) strategy.close('Long')