Mehrindikator-Kauf- und Verkaufsstrategie

Schriftsteller:ChaoZhang, Datum: 2023-10-18 11:36:38
Tags:

img

Übersicht

Diese Strategie kombiniert gleitende Durchschnittswerte, Überkauf-Überkauf- und Volatilitätsraten, um Trends zu verfolgen, um bei Überkauf auf Rallyes zu kaufen und bei Überkauf auf Rallyes zu verkaufen.

Strategie Logik

Nehmen Sie Positionen ein, wenn sich RSI und Stoch beide in Überverkauf/Überkaufszonen befinden und der AO-Oszillator ein Umkehrsignal anzeigt. Gehen Sie insbesondere lang, wenn RSI und Stoch niedrig sind (unter 30 und 20) und AO von negativ auf positiv wechselt; gehen Sie kurz, wenn RSI und Stoch hoch sind (über 70 und 80) und AO von positiv auf negativ wechselt. Setzen Sie Stop Loss und Take Profit basierend auf dem ATR-Wert, um die Verlust-/Gewinnniveaus entsprechend der Marktvolatilität anzupassen.

Die Strategie setzt hauptsächlich auf vier Indikatoren:

  • AO-Oszillator: spiegelt die Kursdynamik wider und kann zur Identifizierung einer Trendwende verwendet werden.
  • RSI: spiegelt Überkauf-/Überverkaufswerte wider. Unter 30 ist Überverkaufszone.
  • Stoch: zeigt Überkauf/Überverkaufszonen an. Unter 20 ist Überverkaufszone.
  • ATR: spiegelt die jüngste Kursvolatilität wider.

Wenn AO ein Umkehrsignal zeigt und RSI & Stoch beide in Überverkauf / Überkaufzonen sind, kann sich der Preis umkehren. Nehmen Sie zu diesem Zeitpunkt Positionen ein. Verwenden Sie ATR, um Stop-Loss und Take-Profit-Preise zu setzen, um nicht gefangen zu werden, indem Sie den Verlust-/Gewinnbereich basierend auf der Volatilität anpassen.

Vorteile

  • Verwenden Sie mehrere Indikatoren, um Signale zu bestätigen, und vermeiden Sie falsche Trades mit einem einzigen Indikator.
  • Einhaltverlust/Gewinn auf der Grundlage der Volatilität festlegen, um Einzelverluste zu kontrollieren.
  • Einfache und klare Logik, leicht zu verstehen und umzusetzen.
  • Nutzen Sie überkaufte/überverkaufte Situationen, um Umkehrungen zu erfassen.

Risiken und Lösungen

  • AO kann falsche Signale erzeugen und muss sich mit RSI und Stoch verbinden, um falsche Trades zu vermeiden.
  • Festgelegte Parameter können sich nicht an die Veränderungen des Marktes anpassen, sondern müssen optimiert werden.
  • Ein zu nahes Stop-Loss kann häufige Stopps auslösen, den Stop-Range lockern oder Exit-Strategien anwenden.
  • Festverzinsung kann zu früh oder zu spät ausfallen. Kann adaptive Verzinsung oder teilweise Ausgänge verwenden.

Um Risiken zu reduzieren, optimieren Sie die folgenden Aspekte:

  1. Optimierung der Parameter für unterschiedliche Perioden und Instrumente.
  2. Verbessern Sie Stop-Loss-Methoden wie Trailing-Stop, teilweise Ausgänge.
  3. Optimieren Sie die Einstiegsregeln, um falsche Signale zu vermeiden.
  4. Optimieren Sie Profit-Methoden wie adaptive Profit-Methoden, nach Trends segmentiert.

Optimierungsrichtlinien

Die folgenden Aspekte können für die Strategie optimiert werden:

  1. Optimieren Sie die Parameter-Einstellungen, indem Sie verschiedene Werte durchqueren.

  2. Fügen Sie Filterbedingungen bei Eintritt hinzu, um falsche Signale zu vermeiden.

  3. Optimieren Sie Stop-Loss-Methoden wie Trailing Stop-Loss.

  4. Optimieren profitieren Wege wie adaptive profitieren.

  5. Fügen Sie automatischen Take-Profit in der Nähe von Schlüsselniveaus hinzu, um Rückschläge zu vermeiden.

  6. Optimierung des Geldmanagements durch Anpassung der Positionsgröße an das Risiko.

  7. Test und Optimierung von Parametern und Stop/Profit-Levels auf der Grundlage verschiedener Instrumente und Zeitrahmen.

  8. Handhabung extremer Ereignisse wie Vermeidung von Trades während der Nachrichten oder schneller Verluste.

Zusammenfassung

Diese Strategie kombiniert gleitende Durchschnittswerte, überkaufte Überverkauf und Volatilitätssysteme, um niedrig zu kaufen und hoch zu verkaufen, mit starker Trendnachfolgefähigkeit. Es gibt jedoch einige Probleme wie feste Parameter und unsachgemäße Stop Loss. Wir können aus verschiedenen Aspekten wie Parameter-Tuning optimieren, Stop Loss verbessern, Filter hinzufügen, um es robuster zu machen. Im realen Handel müssen auf der Grundlage bestimmter Instrumente und Perioden getestet und optimiert werden, um seine Wirksamkeit und Rentabilität zu maximieren.


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

//@version=4

strategy("Buy&Sell Strategy depends on AO+Stoch+RSI+ATR by SerdarYILMAZ", shorttitle="Buy&Sell Strategy")
// Created by Serdar YILMAZ
// This strategy is just for training, its purpose is just learning code in pine script.
// Don't make buy or sell decision with this strategy.
// Bu strateji sadece pine script'te kodlamanın nasıl yapildigini ogrenmek icindir.
// Bu stratejiye dayanarak, kesinlikle al-sat islemleri yapmayin.

//AO

fast=input(title="Fast Length",type=input.integer,defval=5)
slow=input(title="Slow length",type=input.integer,defval=34)

awesome=(sma(hl2,fast)-sma(hl2,slow))*1000

plot(awesome, style=plot.style_histogram, color=(awesome>awesome[1]?color.green:color.red))

//Stoch

K=input(title="K",type=input.integer,defval=14)
D=input(title="D",type=input.integer,defval=3)
smooth=input(title="smooth",type=input.integer,defval=3)

k=sma(stoch(close,high,low,K),D)
d=sma(k,smooth)

hline(80)
hline(20)

plot(k,color=color.blue)

//RSI

rsisource=input(title="rsi source",type=input.source,defval=close)
rsilength=input(title="rsi length",type=input.integer,defval=10)

rsi=rsi(rsisource,rsilength)

hline(70,color=color.orange)
hline(30,color=color.orange)

plot(rsi,color=color.orange)

//ATR

atrlen=input(title="ATR Length", type=input.integer,defval=14)

atrvalue=rma(tr,atrlen)

plot(atrvalue*1000,color=color.green)

LongCondition=k<20 and rsi<30 and awesome>awesome[1]
ShortCondition=k>80 and rsi>70 and awesome<awesome[1]
if (LongCondition)
    stoploss=low-atrvalue
    takeprofit=close+atrvalue
    strategy.entry("Long Position", strategy.long)
    strategy.exit("TP/SL",stop=stoploss,limit=takeprofit)
    
if (ShortCondition)
    stoploss=high+atrvalue
    takeprofit=close-atrvalue
    strategy.entry("Short Position",strategy.short)
    strategy.exit("TP/SL",stop=stoploss,limit=takeprofit)
    
    

    
    




Mehr