Trend nach der Strategie

Schriftsteller:ChaoZhang, Datum: 2023-09-25 17:50:11
Tags:

Übersicht

Noros Trendfollowing-Strategie ist eine einfache Trendhandelsstrategie, die auf Preiskanal, RSI und Body-Filter basiert.

Strategie Logik

Die wichtigsten Aspekte sind:

  1. Der Preiskanal bestimmt den Gesamttrend. Der durch Rückblick auf Hoch/Tief gebildete Kanal definiert Auf/Abtrend.

  2. Der RSI zeigt Überkauf/Überverkauf für den Eintrittszeitpunkt an. RSI über 60 ist Überkauf, unter 40 ist Überverkaufszone.

  3. Der Körperfilter liefert das letzte Signal und handelt nur, wenn der Kerzenkörper eine Schwelle überschreitet, um Lärm zu vermeiden.

  4. Eintritte, die auf der Kombination von Trend, RSI-Signal und Body-Filter basieren.

  5. Optionale Hintergrundfarben veranschaulichen den Trend.

  6. Anpassungsfähige Handelszeitrahmen für den selektiven Handel.

Mehrere Indikatoren richten sich aus, um einen relativ stabilen Trend zu erzeugen.

Vorteile

Die wichtigsten Vorteile sind:

  1. Der Preiskanal identifiziert intuitiv die allgemeine Trendrichtung.

  2. Der RSI erkennt effektiv Überkauf-/Überverkaufsniveaus für den Timing-Eintrag.

  3. Der Körperfilter verbessert die Signalqualität und verhindert falsche Signale.

  4. Mehrfach-Indikator-Bestätigung verbessert die Genauigkeit.

  5. Einfache Indikatoren verringern die Risiken einer Kurvenanpassung.

  6. Anpassbare Handelszeitrahmen erhöhen die Flexibilität.

  7. Einfach zu bedienen, mit minimalen Parametern.

  8. Hintergrundfarben machen das Bild deutlich.

Risiken

Einige Risiken zu berücksichtigen:

  1. Risiko einer falschen Identifizierung des Preiskanaltrends.

  2. Ungenaue RSI-Signalrisiken.

  3. Körperfilter eliminiert gültige Signale.

  4. Abzugsrisiko bei Trendkorrekturen.

  5. Optimierungsrisiko durch schlechte Parameteranpassung.

  6. Risikopositionsgrößerung durch Standard-Vollzuweisung.

  7. Das Risiko der Auswahl des Instruments, wenn es auf nicht-trendige Vermögenswerte angewendet wird.

  8. Handelszeitrahmenrisiken bei unsachgemäßer Konfiguration.

Möglichkeiten zur Verbesserung

Einige Verbesserungsmöglichkeiten:

  1. Hinzufügen einer Stop-Loss-Strategie, um Verluste pro Handel zu kontrollieren.

  2. Optimierung der Parameter basierend auf dem Instrumentenverhalten.

  3. Einbeziehung von Positionsgrößen auf der Grundlage der Trendstärke.

  4. Einführung von Anziehungsbeschränkungen, um Verluste einzudämmen.

  5. Zusätzliche Volumenpreisanalyse zur Signalüberprüfung.

  6. Einführung von maschinellem Lernen zur Optimierung von Parametern.

  7. Spezialisierte Parameter auf Basis der Anlageklasse.

  8. Verfeinern Sie die Handelszeitframe-Logik für mehr Flexibilität.

Schlussfolgerung

Noros Trend Following Strategie integriert Preiskanal, RSI und Body Filter in ein einfaches und praktisches Trend Trading System. Es kann entlang der Trends handeln und Kontratrend Trades vermeiden. Mit Parameteroptimierung, Risikokontrolle und anderen Verbesserungen hat die Strategie das Potenzial, eine konsequent profitable Trend Trading Strategie zu werden.


/*backtest
start: 2023-08-25 00:00:00
end: 2023-09-24 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(title = "Noro's TrendMaster Strategy v1.0", shorttitle = "TrendMaster str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "long")
needshort = input(true, defval = true, title = "short")
len = input(21, defval = 20, minval = 2, maxval = 200, title = "MA Period")
needbg = input(false, defval = false, title = "Need trend Background?")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//PriceChannel 1
lasthigh = highest(close, len)
lastlow = lowest(close, len)
center = (lasthigh + lastlow) / 2

//Trend
trend = low > center and low[1] > center[1] ? 1 : high < center and high[1] < center[1] ? -1 : trend[1]

//Bars
bar = close > open ? 1 : close < open ? -1 : 0

//Fast RSI
fastup = rma(max(change(close), 0), 2)
fastdown = rma(-min(change(close), 0), 2)
rsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))

//Body filter
nbody = abs(close - open)
abody = sma(nbody, 10)
body = nbody > abody / 2

//Signals
up1 = trend == 1 and rsi < 60 and (strategy.position_avg_price > close or strategy.position_size <= 0) and body
dn1 = trend == -1 and rsi > 40 and (strategy.position_avg_price < close or strategy.position_size >= 0) and body

//Lines
plot(center, color = blue, linewidth = 3, transp = 0, title = "MA")

//Background
col = needbg == false ? na : trend == 1 ? lime : red
bgcolor(col, transp = 80)

//Trading

if up1
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))

if dn1
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    
if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()
    

Mehr