Diese Strategie optimiert die ursprüngliche Rate of Change (ROC) -Strategie. Im Vergleich zur ursprünglichen ROC-Strategie hat diese Strategie folgende Optimierungen:
Durch diese Optimierungsmaßnahmen können viele ungültige Signale herausgefiltert werden, um die Strategie stabiler und zuverlässiger zu machen.
Der Kernindikator dieser Strategie ist die Rate of Change (ROC). ROC misst die Veränderungsrate der Aktienkurse über einen bestimmten Zeitraum. Diese Strategie berechnet zuerst den ROC-Wert über einen Zeitraum von 9. Dann wird der maximale Wert dieses ROC-Indikators in den letzten 200 Perioden aufgezeichnet und der aktuelle ROC als Prozentsatz des maximalen historischen ROC berechnet, um die relative Stärke der Dynamik zu erhalten. Zum Beispiel, wenn der höchste ROC in den letzten 200 Tagen 100 erreicht hat, dann ist die relative Stärke 80% wenn der heutige ROC 80 ist.
Die relative Stärke wird durch eine 10-Perioden-SMA glättet, um kurzfristige Schwankungen auszufiltern und eine glatte Kurve zu erhalten. Wenn die glatte Kurve 3 Tage lang kontinuierlich steigt und der Wert unter -80% liegt, wird davon ausgegangen, dass der Kursrückgang langsamer wird und das Tiefstzeichen erscheint, also gehen Sie lang; wenn die glatte Kurve 3 Tage lang kontinuierlich fällt und der Wert über 80% liegt, wird davon ausgegangen, dass der Kursanstieg langsamer wird und das oberste Zeichen erscheint, so dass die Position dicht ist.
Im Vergleich zur ursprünglichen ROC-Strategie weist diese Strategie folgende Hauptvorteile auf:
Im Allgemeinen verarbeitet diese Strategie den ROC-Indikator effektiv, um ihn für den Live-Handel geeigneter zu machen.
Die wichtigsten Risiken dieser Strategie sind:
Um die oben genannten Risiken zu reduzieren, sollten Trendindikatoren kombiniert werden, um die wichtigsten Trends zu ermitteln; Schwellenparameter angepasst und optimale Parameter getestet werden; SMA-Zyklusparameter optimiert werden.
Die Strategie kann wie folgt optimiert werden:
Dies ist eine Optimierungsstrategie, die auf der sekundären Entwicklung des ROC-Indikators basiert. Sie führt Mittel wie historischen Maximalwertvergleich, SMA-Gleichung und Kauf- und Verkaufsschwellen ein, um ungültige Signale auszufiltern und die Strategie stabiler zu machen. Der Hauptvorteil ist die hohe Signalqualität, die für den Live-Handel geeignet ist. Nachfolgsverbesserungen können durch Kombination von Trends, Parameteroptimierung usw. vorgenommen werden, um die Strategieleistung weiter zu verbessern.
/*backtest start: 2024-02-12 00:00:00 end: 2024-02-19 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(title="Rate Of Change Mod Strategy", shorttitle="ROC", format=format.price, precision=2) //length = input.int(9, minval=1) //source = input(close, "Source") //roc = 100 * (source - source[length])/source[length] //plot(roc, color=#2962FF, title="ROC") //hline(0, color=#787B86, title="Zero Line") length = input.int(9, minval=1, title="Length") maxHistory = input(200, title="Max Historical Period for ROC") lenghtSmooth = input.int(10, minval=1, title="Length Smoothed ROC") lenghtBUY = input.int(-80, title="Buy Threshold") lenghtSELL = input.int(80, title="Buy Threshold") source = close roc = 100 * (source - source[length]) / source[length] // Calculate the maximum ROC value in the historical period maxRoc = ta.highest(roc, maxHistory) // Calculate current ROC as a percentage of the maximum historical ROC rocPercentage = (roc / maxRoc) * 100 rocPercentageS = ta.sma(rocPercentage, lenghtSmooth) if ta.rising(rocPercentageS, 3) and rocPercentageS < lenghtBUY strategy.entry("Buy", strategy.long) if ta.falling(rocPercentageS, 3) and rocPercentageS > lenghtSELL strategy.close("Buy") plot(rocPercentage, color=color.new(color.blue, 0), title="Percentage ROC") plot(rocPercentageS, color=color.new(#21f32c, 0), title="Percentage ROC") hline(0, color=color.new(color.gray, 0), title="Zero Line")