
Die dynamische Schwankungs-Erschöpfung-Strategie ist eine Trend-Tracking-Strategie, die die Verwendung von Moving Averages und Preis-Prozent-Schwankungs-Indikatoren verwendet, um das Risiko eines Falls zu minimieren. Die Strategie gehört zum Indexfonds-Handelsmodell und kann das Risiko effektiv kontrollieren.
Die Kernindikatoren der Strategie sind der Abnahmewert und der Abnahmegewinn. Der Abnahmewert ist eine Kennzahl für die Preisschwankungen, die aus den Schlusspreisen, Höchstpreisen und Tiefpreisen berechnet wird. Die spezifische Berechnungsmethode lautet: ((Schlusspreise + Höchstpreise + Tiefpreis - Moving Average des Abnahmewertes) / ((Moving Average des Abnahmewertes)). Der Abnahmegewinn ist der Moving Average des Abnahmewertes.
Die Strategie nutzt außerdem langfristige Moving Averages, um Trends zu beurteilen, darunter die 300-Tage-, 150-Tage- und 50-Tage-Linien. Ein Trendwechsel sollte berücksichtigt werden, wenn ein langfristiger Moving Average unter dem kurzfristigen Moving Average liegt.
Der MACD wird auch für die Beurteilung von kurzfristigen Kauf- und Verkaufspunkten eingesetzt. Wenn der MACD-Linear über die Signallinie geht, wird er hoch und wenn er die Signallinie überschreitet, wird er unten sein. Der niedrige RSI wird auch als Kaufsignal verwendet.
Die Ein- und Ausstiegslogik lautet:
Kaufbedingungen: Der Erschöpfungsgehalt liegt über dem Erschöpfungsgehalt und die 50-Tage-Linie liegt über der 150-Tage-Linie; oder der RSI liegt unter 30.
Kurzfristige Stopp-Bedingungen: Durchschnittsdurchschnittsdurchschnittsdurchschnittsdurchschnittsdurchschnittsdurchschnittsdurchschnittsdurchschnittsdurchschnittsdurchschnittsdurchschnittsdurchschnittsdurchschnittsdurchschnittsdurchschnittsdurchschnittsdurchschnittsdurchschnittsdurchschnittsdurchschnittsdurchschnittsdurchschnitts
Mittel- und langfristige Stop-Loss-Bedingungen: 150 Tage unter der 50-Tage-Linie; oder 300 Tage unter der 150-Tage-Linie.
Die Strategie kombiniert mehrere Indikatoren, um die Tendenz endtime exhaustion zu beurteilen, um das Risiko zu kontrollieren, und hat folgende Vorteile:
Der Ausfallindikator ist ein guter Indikator für die Bereinigung und Umkehr. Die zeitnahe Erkennung von Trendumkehr ist der Schlüssel zur effektiven Risikokontrolle.
Die Verwendung von mehrfachen Zeiträumen beweglichen Durchschnitten Trends zu beurteilen, um zu vermeiden, dass von kurzfristigen Marktgeräuschen in die Irre geführt.
Die MACD hilft bei der Bestätigung von Kauf- und Verkaufspunkten und verbessert die Wirksamkeit von Strategien.
Der RSI nutzt die Effektivität von “Bei niedrigem Preis” und “Bei hohem Preis” und kauft, wenn der Preis über den Preis liegt.
Eine eindeutige Stop-Loss-Strategie, die das Risiko für jeden Handel effektiv kontrolliert.
Die Strategie birgt auch Risiken:
Die falsche Einstellung der Parameter kann zu Fehlsignalen führen. Die Optimierungsparameter müssen wiederholt getestet werden.
Der Ausfallindikator ist nicht vollständig zuverlässig und kann bei niedriger Abweichung fehlerhaft sein.
Störpunkte, die falsch eingestellt sind, können zu ultrakurzen Schwingungen führen. Die Störpunkte sollten die langfristigen Auswirkungen der Strategie berücksichtigen.
Wenn die Masse insgesamt schwankt, wird der Indikator ausfallen, und es ist wichtig, die Größe der Position zu kontrollieren.
Diese Strategie kann in folgenden Bereichen optimiert werden:
Verschiedene Parameterkombinationen werden getestet, um die optimalen Parameter zu finden, um Fehlsignale zu reduzieren. Eingestellte Schlüsselparameter sind die Durchschnitts-Periode, die Abbau-Periode usw.
Die Stop-Loss-Werte werden in Kombination mit Volatilitätsindikatoren wie ATR dynamisch angepasst, um die Stop-Loss-Werte bei großen Schwankungen entsprechend zu lockern.
Optimierung der Positionsverwaltung durch die Bereitstellung unterschiedlicher Positionsverhältnisse für verschiedene Großplattenphasen.
In Kombination mit grafischen Kennzahlen wie Akkumulationslinien und Stützlinien verbessert die Strategie die Wirksamkeit in der Praxis.
Erweiterung der Algorithmen für maschinelles Lernen, um die Wirksamkeit von Kennzahlen zu beurteilen und dynamische Optimierungen zu ermöglichen.
Die Strategie hat die Fähigkeit, Trends zu verfolgen, und kann effektiv entscheiden, wann es Zeit ist, zu kaufen oder zu verkaufen. Die Effektivität der Strategie kann durch Parameteroptimierung, die Einrichtung von Stop-Loss-Regeln und die Unterstützung von Grafiken weiter verbessert werden. Insgesamt hat die Strategie eine gewisse Adaptionsfähigkeit gegenüber großen Börsenbewegungen und kann als eine der Optionen für eine risikokontrollierte Strategie verwendet werden.
/*backtest
start: 2022-11-09 00:00:00
end: 2023-11-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © spiritualhealer117
//@version=4
strategy("Infiten Slope Strategy", overlay=false,calc_on_every_tick = true, default_qty_type=strategy.percent_of_equity, default_qty_value = 100)
// //TIME RESTRICT FOR BACKTESTING {
// inDateRange = (time >= timestamp(syminfo.timezone, 2003,
// 1, 1, 0, 0)) and
// (time < timestamp(syminfo.timezone, 2021, 5, 25, 0, 0))
// //}
//OPTIMAL PARAMETERS {
daysback = 30
volumesens = 1.618
//}
//Calculating Exhaustion and Exhaustion Moving Average {
clh = close+low+high
exhaustion = (clh-sma(clh,daysback))/sma(clh,daysback)
exhaustionSma = sma(exhaustion,daysback)
//}
//Long Term Moving Averages for sell signals {
red = sma(close,300)
white = sma(close,150)
blue = sma(close,50)
plot(red,color=color.red)
plot(white,color=color.white)
plot(blue,color=color.blue)
//}
//MACD Calculation {
fast_length = input(title="Fast Length", type=input.integer, defval=12)
slow_length = input(title="Slow Length", type=input.integer, defval=26)
src = input(title="Source", type=input.source, defval=close)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)
sma_source = input(title="Simple MA (Oscillator)", type=input.bool, defval=false)
sma_signal = input(title="Simple MA (Signal Line)", type=input.bool, defval=false)
// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal
//}
//SIGMOID Bottom {
timeAdjust = 300/sma(close,500)
//}
//RSI bottom {
len = input(14, minval=1, title="Length")
up = rma(max(change(src), 0), len)
down = rma(-min(change(close), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
//}
//Entry and exit conditions {
//Sell conditions
bigVolume = sma(volume,30)*volumesens
sellcond1 = crossunder(exhaustion,exhaustionSma) and volume > bigVolume
sellcond2 = crossunder(macd,signal) and volume > bigVolume
midtermsellcond1 = crossunder(blue,white)
longtermsellcond1 = white < red
//Buy conditions
buycond = crossover(exhaustion,exhaustionSma) and not longtermsellcond1
buycond2 = rsi < 30
buycond3 = crossover(blue,white) and longtermsellcond1
//}
//Backtest Run Buy/Sell Commands {
strategy.entry("buycond",true, when=buycond and bigVolume)
strategy.entry("buycond2",true, when=buycond2 and bigVolume)
strategy.close_all(when=sellcond1,comment="short term sell signal 1")
strategy.close_all(when=midtermsellcond1, comment="mid term sell signal 1")
strategy.close_all(when=longtermsellcond1, comment="long term sell signal 1")
strategy.close_all(when=sellcond2, comment="short term sell signal 2")
plot(strategy.position_size)
//Sell on last tested day (only for data collection)
//strategy.close_all(when=not inDateRange)
//}