
Die Strategie basiert auf der Optimierung der Rate der Veränderung des Roten Kennziffers (ROC). Im Vergleich zur ursprünglichen ROC-Strategie wurden folgende Optimierungen vorgenommen:
Durch diese Optimierungsmethoden können viele unwirksame Signale gefiltert und die Strategie stabiler und zuverlässiger gemacht werden.
Der Kern der Strategie ist die Rate of Change (ROC). Die ROC misst die Rate der Veränderung der Aktienpreise in einem bestimmten Zeitraum. Die Strategie berechnet zunächst einen ROC-Wert mit einer Länge von 9 Zyklen.
Diese relative Stärke wird durch einen SMA von Länge 10 geschliffen, um kurzfristige Schwankungen zu filtern und eine Schliffkurve zu erhalten. Wenn die Schliffkurve 3 Tage in Folge hoch ist und unter -80% liegt, wird davon ausgegangen, dass der Kursrückgang langsamer wird und Anzeichen für eine Bottom-Position auftritt, also mehr; wenn die Schliffkurve 3 Tage in Folge niedriger ist und der Kurs über 80% liegt, wird davon ausgegangen, dass der Kursrückgang langsamer wird und Anzeichen für eine Top-Position auftritt, daher ist die Position schlicht.
Diese Strategie hat folgende Vorteile gegenüber der ursprünglichen ROC-Strategie:
Insgesamt ist die Strategie eine effektive Sekundärverarbeitung des ROC-Indikators, was ihn für den Handel mit realen Discs besser geeignet macht.
Diese Strategie birgt folgende Risiken:
Um die oben genannten Risiken zu verringern, können Sie die Kombination von Trendindikatoren in Betracht ziehen, um den Trend zu beurteilen; die Schwellenwertparameter anpassen, die optimalen Parameter testen; die SMA-Zyklusparameter optimieren.
Die Strategie kann in folgenden Richtungen optimiert werden:
Die Strategie ist eine Optimierungsstrategie für die Sekundärentwicklung auf der Grundlage von ROC-Indikatoren. Sie führt Methoden wie historische Maximalwertvergleiche, SMA-Gleichung und Kauf- und Verkaufsschwellen ein, die unwirksame Signale filtern können, um die Strategie stabiler zu machen. Der Hauptvorteil ist die hohe Signalqualität, die für die reale Welt geeignet ist.
/*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")