Trendfolgende kurzfristige Handelsstrategien


Erstellungsdatum: 2023-11-16 11:11:32 zuletzt geändert: 2023-11-16 11:11:32
Kopie: 0 Klicks: 667
1
konzentrieren Sie sich auf
1617
Anhänger

Trendfolgende kurzfristige Handelsstrategien

Überblick

Die Strategie ist eine Short-Line-Handelsstrategie, die Trends anhand mehrerer Indikatoren beurteilt. Sie verwendet 8 Indikatoren, darunter WOW, BMA, BarColor, SuperTrend, DI, TTS, RSI und WTO, um die Richtung der Trends zu bestimmen und damit Kauf- und Verkaufsentscheidungen zu treffen.

Strategieprinzip

Die Strategie berechnet und beurteilt zunächst die Richtung der 8 Indikatoren WOW, BMA, BarColor, SuperTrend, DI, TTS, RSI und WTO.

Der WOW-Indikator beurteilt den Hochraumtrend anhand der Position der Einheit im Preis. Wenn die Position der Einheit in der Nähe der Oberbahn ist, ist sie positiv; wenn sie in der Nähe der Unterbahn ist, ist sie negativ.

Der BMA-Indikator beurteilt Trends anhand der SMA-Höhe, wenn der Schlusskurs auf der SMA als bullish und der Schlusskurs als bearish bezeichnet wird.

Der BarColor-Indikator beurteilt Trends anhand der Farbe der K-Linien, wobei mehrere aufeinanderfolgende Sonnenleiter als positiv und mehrere Sonnenleiter als negativ bezeichnet werden.

Der SuperTrend-Indikator beurteilt die Preisentwicklung anhand der durchschnittlichen Schwankungsbreite, wobei der Preis oberhalb der oberen Bahn bullish und unterhalb der unteren Bahn bearish ist.

Der DI-Indikator beurteilt Trends anhand der Größenverhältnisse zwischen der Luftbewegung und der Luftbewegung. Die Luftbewegung ist größer als die Luftbewegung. Die Luftbewegung ist bullish und die Luftbewegung ist bullish.

Der TTS-Indikator beurteilt den Trend nach dem Verhältnis zwischen der Position des Preises und der Durchschnittslinie.

Der RSI-Indikator beurteilt die Richtung des Trends anhand der Position eines relativ starken Indikators gegenüber einem schwachen.

Die WTO-Indikatoren beurteilen die Richtung der Trends anhand der Mehrheit der Volatilitätsindikatoren.

Die Strategie berechnet dann die Anzahl der Positiven in den 8 Indikatoren und zeichnet daraus die SILA-Positiven-Unterstützungs- und Resistenzlinien. Je mehr Unterstützungs- und Resistenzlinien vorhanden sind, desto stärker ist das Trendsignal.

Wenn mehrere Indikatoren bullish sind, erzeugt dies ein Kaufsignal, wenn der Schlusskurs über der niedrigsten Unterstützungslinie liegt. Wenn mehrere Indikatoren bullish sind, erzeugt dies ein Verkaufssignal, wenn der Schlusskurs unter der niedrigsten Resistenzlinie liegt.

Darüber hinaus nutzt die Strategie die K-Linie-Form, um die Chancen auf eine kurzfristige Abwärtskurve zu beurteilen und bei einer Trendwende nach günstigeren Einstiegspunkten zu suchen.

Strategische Vorteile

  1. Mehrfache Indikatoren zur Ermittlung von Trends und zur Verbesserung der Genauigkeit

Die Strategie beruht nicht auf einem einzigen Indikator, sondern auf der Kombination von acht häufig verwendeten Indikatoren für die Beurteilung von Trends, die eine vielseitige Beurteilung von Trends ermöglichen, um die Genauigkeit und Zuverlässigkeit der Beurteilung zu verbessern.

  1. SILA-Systeme erfassen die Widerstandsstufe der Trends und erkennen, ob ein Trendsignal stark ist

Die Strategie basiert auf bullish-bullish Signalen von mehreren Indikatoren und verwendet das SILA-System, um mehrere Stufen von Unterstützungs- und Widerstandslinien zu zeichnen. Je mehr Linien, desto stärker ist das Trendsignal. Dies kann den Händlern helfen, die Stärke des Signals weiter zu erkennen.

  1. Mit der K-Line-Form sucht man nach Rückrufmöglichkeiten, um einen besseren Einstieg zu erzielen.

Die Strategie basiert nicht nur auf der Richtung der Trendindikatoren, sondern auch auf der K-Line-Form, um nach kurzfristigen Rückschlägen zu suchen, um bei einer Trendwende einen besseren Einstiegspunkt zu erreichen.

Strategisches Risiko

  1. Es kann zwischen mehreren Indikatoren zu Abweichungen kommen

Die Strategie verwendet mehrere Indikatoren, zwischen denen es in bestimmten Fällen zu unterschiedlichen Urteilen kommen kann, die der Händler selbst abwägen muss, was die Entscheidungsfindung erschwert.

  1. Die Einstellungen für die Indexparameter müssen optimiert werden

Viele der Indikatoren in dieser Strategie verwenden Standardparameter, die in der Praxis optimiert werden müssen, um die besten Ergebnisse zu erzielen.

  1. Systemische Risiken müssen berücksichtigt werden

Bei einem schwerwiegenden Black Swan-Ereignis führt ein Systemrisiko dazu, dass die normalen technischen Indikatoren ausfallen, und es ist wichtig, das Systemrisiko des Marktes zu bewerten.

  1. Rückzug Risiken

Trendspezifische Rückgänge können in der Expansionsphase relativ groß sein, und es ist darauf zu achten, die Größe der einzelnen Geschäfte zu kontrollieren, um Rückgänge zu begrenzen.

Richtung der Strategieoptimierung

  1. Testoptimierung für Kennzahlen

Die Parameter für die einzelnen Indikatoren, wie z. B. die Länge der Periode, die Größe der Werte, können durch eine systematischere Methode optimiert werden, um die optimale Kombination von Parametern zu finden.

  1. Erhöhung der Stop-Loss-Methode

Es kann in Erwägung gezogen werden, den mobilen Stopp oder den Prozentsatz des Stopps zu erhöhen, um den Rückzug zu kontrollieren.

  1. Bindungskonzentrationsindikator

Die Kombination von Quantitativindikatoren wie MAVP, OBV und Trendindikatoren kann die Genauigkeit von taktischen Entscheidungen verbessern.

  1. Optimierung der Positionsführung

Es ist möglich, den Anteil der Positionen in verschiedenen Marktphasen zu untersuchen, um die Positionen zu erhöhen, wenn die Trends besser sind.

Zusammenfassen

Diese Strategie Overall ist eine Kurzlinie-Handelsstrategie, die Trends mit mehreren Indikatoren verfolgt. Sie verwendet mehrere Indikatoren, um die Richtung der Trends zu bestimmen, die Signalstärke mit dem SILA-System zu identifizieren und die Eintrittsoptimierung mit der K-Linienform zu unterstützen. Diese Strategie kann die Richtigkeit der Beurteilung verbessern, jedoch muss auf die Gefahr der Diskrepanz verschiedener Indikatoren geachtet werden.

Strategiequellcode
/*backtest
start: 2023-10-16 00:00:00
end: 2023-11-15 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// (c) Noro
//2017

//@version=2

strategy(title="Noro's SILA v1.6L Strategy", shorttitle="SILA v1.6L str", overlay=true)

//settings
sensup = input(5, title="Uptrend-sensivity", minval = -8, maxval = 8)
sensdn = input(5, title="Downtrend-sensivity", minval = -8, maxval = 8)
usewow = input(true, title="Use trend-indicator WOW?")
usebma = input(true, title="Use trend-indicator BestMA?")
usebc = input(true, title="Use trend-indicator BarColor?")
usest = input(true, title="Use trend-indicator SuperTrend?")
usedi = input(true, title="Use trend-indicator DI?")
usetts = input(true, title="Use trend-indicator TTS?")
usersi = input(true, title="Use trend-indicator RSI?")
usewto = input(true, title="Use trend-indicator WTO?")
dist = input(100, title="Distance SILA-lines", minval = 0, maxval = 100)
usetl = input(true, title="Need SILA-lines?")
usebgup = input(true, title="Need uptrend-background?")
usebgdn = input(true, title="Need downtrend-background?")
usealw = input(true, title="Need background always?")
usearr = input(true, title="Need new-trend-arrows?")
useloco = input(true, title="Need locomotive-arrows?")
usemon = input(true, title="Need money?") //joke

// WOW 1.0 method
lasthigh = highest(close, 30)
lastlow = lowest(close, 30)
center = (lasthigh +lastlow) / 2
body = (open + close) / 2
trend1 = body > center ? 1 : body < center ? -1 : trend1[1]
trend2 = center > center[1] ? 1 : center < center[1] ? -1 : trend2[1]
WOWtrend = usewow == true ? trend1 == 1 and trend2 == 1 ? 1 : trend1 == -1 and trend2 == -1 ? -1 : WOWtrend[1] : 0

// BestMA 1.0 method
SMAOpen = sma(open, 30)
SMAClose = sma(close, 30)
BMAtrend = usebma == true ? SMAClose > SMAOpen ? 1 : SMAClose < SMAOpen ? -1 : BMAtrend[1] : 0

// BarColor 1.0 method
color = close > open ? 1 : 0
score = color + color[1] + color[2] + color[3] + color[4] + color[5] + color[6] + color[7]
BARtrend = usebc == true ? score > 5 ? 1 : score < 3 ? -1 : BARtrend[1] : 0

// SuperTrend mehtod
Up = hl2 - (7 * atr(3))
Dn = hl2 + (7 * atr(3))
TrendUp = close[1] > TrendUp[1] ? max(Up, TrendUp[1]) : Up
TrendDown = close[1] < TrendDown[1] ? min(Dn, TrendDown[1]) : Dn
SUPtrend = usest == true ? close > TrendDown[1] ? 1: close < TrendUp[1]? -1 : SUPtrend[1] : 0

//DI method
th = 20
TrueRange = max(max(high-low, abs(high-nz(close[1]))), abs(low-nz(close[1])))
DirectionalMovementPlus = high-nz(high[1]) > nz(low[1])-low ? max(high-nz(high[1]), 0): 0
DirectionalMovementMinus = nz(low[1])-low > high-nz(high[1]) ? max(nz(low[1])-low, 0): 0
SmoothedTrueRange = nz(SmoothedTrueRange[1]) - (nz(SmoothedTrueRange[1])/14) + TrueRange
SmoothedDirectionalMovementPlus = nz(SmoothedDirectionalMovementPlus[1]) - (nz(SmoothedDirectionalMovementPlus[1])/14) + DirectionalMovementPlus
SmoothedDirectionalMovementMinus = nz(SmoothedDirectionalMovementMinus[1]) - (nz(SmoothedDirectionalMovementMinus[1])/14) + DirectionalMovementMinus
DIPlus = SmoothedDirectionalMovementPlus / SmoothedTrueRange * 100
DIMinus = SmoothedDirectionalMovementMinus / SmoothedTrueRange * 100
DItrend = usedi == true ? DIPlus > DIMinus ? 1 : -1 : 0

//TTS method (Trend Trader Strategy)
//Start of HPotter's code
//Andrew Abraham' idea
avgTR      = wma(atr(1), 21)
highestC   = highest(21)
lowestC    = lowest(21)
hiLimit = highestC[1]-(avgTR[1] * 3)
loLimit = lowestC[1]+(avgTR[1] * 3)
ret = iff(close > hiLimit and close > loLimit, hiLimit, iff(close < loLimit and close < hiLimit, loLimit, nz(ret[1], 0)))
pos =	iff(close > ret, 1, iff(close < ret, -1, nz(pos[1], 0))) 
//End of HPotter's code

TTStrend = usetts == true ? pos == 1 ? 1 : pos == -1 ? -1 : TTStrend[1] : 0

//RSI method
RSIMain = (rsi(close, 13) - 50) * 1.5
rt = iff(RSIMain > -10, 1, iff(RSIMain < 10, -1, nz(pos[1], 0))) 
RSItrend = usersi == true ? rt : 0

//WTO ("WaveTrend Oscilator") method by LazyBear
//Start of LazyBear's code
esa = ema(hlc3, 10)
d = ema(abs(hlc3 - esa), 10)
ci = (hlc3 - esa) / (0.015 * d)
tci = ema(ci, 21)
//End of LazyBear's code

WTOtrend = usewto == true ? tci > 0 ? 1 : tci < 0 ? -1 : 0 : 0

//plots
trends = usemon == true ? WOWtrend + BMAtrend + BARtrend + SUPtrend + DItrend + TTStrend + RSItrend + WTOtrend: -1 * (WOWtrend + BMAtrend + BARtrend + SUPtrend + DItrend + TTStrend + RSItrend + WTOtrend)
pricehi = sma(high, 10)
pricelo = sma(low, 10)
per = usetl == 1 ? dist / 10000 : 0

color1 = usetl == true ? trends > 0 ? blue : na : na
plot(pricelo * (1 - per), color=color1, linewidth=1, title="SILA-line")
color2 = usetl == true ? trends > 1 ? blue : na : na
plot(pricelo * (1 - 2 * per), color=color2, linewidth=1, title="SILA-line")
color3 = usetl == true ? trends > 2 ? blue : na : na
plot(pricelo * (1 - 3 * per), color=color3, linewidth=1, title="SILA-line")
color4 = usetl == true ? trends > 3 ? blue : na : na
plot(pricelo * (1 - 4 * per), color=color4, linewidth=1, title="SILA-line")
color5 = usetl == true ? trends > 4 ? blue : na : na
plot(pricelo * (1 - 5 * per), color=color5, linewidth=1, title="SILA-line")
color6 = usetl == true ? trends > 5 ? blue : na : na
plot(pricelo * (1 - 6 * per), color=color6, linewidth=1, title="SILA-line")
color7 = usetl == true ? trends > 6 ? blue : na : na
plot(pricelo * (1 - 7 * per), color=color7, linewidth=1, title="SILA-line")
color8 = usetl == true ? trends > 7 ? blue : na : na
plot(pricelo * (1 - 8 * per), color=color8, linewidth=1, title="SILA-line")

color10 = usetl == true ? trends < 0 ? black : na : na
plot(pricehi * (1 + per), color=color10, linewidth=1, title="SILA-line")
color11 = usetl == true ? trends < -1 ? black : na : na
plot(pricehi * (1 + 2 * per), color=color11, linewidth=1, title="SILA-line")
color12 = usetl == true ? trends < -2 ? black : na : na
plot(pricehi * (1 + 3 * per), color=color12, linewidth=1, title="SILA-line")
color13 = usetl == true ? trends < -3 ? black : na : na
plot(pricehi * (1 + 4 * per), color=color13, linewidth=1, title="SILA-line")
color14 = usetl == true ? trends < -4 ? black : na : na
plot(pricehi * (1 + 5 * per), color=color14, linewidth=1, title="SILA-line")
color15 = usetl == true ? trends < -5 ? black : na : na
plot(pricehi * (1 + 6 * per), color=color15, linewidth=1, title="SILA-line")
color16 = usetl == true ? trends < -6 ? black : na : na
plot(pricehi * (1 + 7 * per), color=color16, linewidth=1, title="SILA-line")
color17 = usetl == true ? trends < -7 ? black : na : na
plot(pricehi * (1 + 8 * per), color=color17, linewidth=1, title="SILA-line")

//background
col = usebgup == true and trends >= sensup ? 1 : usebgdn == true and trends <= (-1 * sensdn) ? -1 : usealw == true ? col[1] : 0
bgcolor = col == 1 ? lime : col == -1 ? red : na
//bgcolor(bgcolor, transp=70)

//arrows
posi = trends >= sensup ? 1 : trends <= (-1 * sensdn) ? -1 : posi[1]
arr = usearr == true ? posi == 1 and posi[1] < 1 ? 1 : posi == -1 and posi[1] > -1 ? -1 : na : na
//plotarrow(arr == 1 ? 1 : na, title="UpArrow", colorup=blue, maxheight=60, minheight=50, transp=0)
//plotarrow(arr == -1 ? -1 : na, title="DnArrow", colordown=blue, maxheight=60, minheight=50, transp=0)

//locomotive
bar = close > open ? 1 : close < open ? -1 : 0
locotop = bar == -1 and bar[1] == 1 and bar[2] == 1 ? 1 : 0
locobot = bar == 1 and bar[1] == -1 and bar[2] == -1 ? 1 : 0
entry = useloco == false ? 1 : posi == posi[1] ? (locotop == 1 and posi == -1) or (locobot == 1 and posi == 1) ? 1 : entry[1] : 0
//plotarrow(locobot == 1 and entry[1] == 0 and posi == 1 ? 1 : na, title="UpLocomotive", colorup=yellow, maxheight=60, minheight=50, transp=0)
//plotarrow(locotop == 1 and entry[1] == 0 and posi == -1 ? -1 : na, title="DnLocomotive", colordown=yellow, maxheight=60, minheight=50, transp=0)

longCondition = arr == 1
if (longCondition)
    strategy.entry("Long", strategy.long)

shortCondition = arr == -1
if (shortCondition)
    strategy.entry("Short", strategy.short)