
Diese Strategie kombiniert die Indikatoren der Durchschnittslinie, der Überkauf-Überverkauf-Indikatoren und der Volatilitätsindikatoren, um bei Überkürzungen bei einer Rebound-Rückkehr zu kaufen und bei Überkäufen bei einer Rückkehr zu verkaufen.
Positionen werden eingerichtet, wenn der RSI und der Stoch gleichzeitig in den Überverkaufszonen sind und der AO-Schwanz ein Umkehrsignal erzeugt. Insbesondere, wenn der RSI und der Stoch beide niedrig sind (niederhalb von 30 und 20), und der AO mehr ist, wenn er sich von einem Negativkurs korrigiert; wenn der RSI und der Stoch beide hoch sind (über 70 und 80), und der AO leer ist, wenn er sich von einem Negativkurs korrigiert. Die Stop-Loss- und Stop-Stops werden nach den Werten des ATR-Indikators gesetzt, so dass die Stop-Loss-Positionen entsprechend den Marktbewegungen angepasst werden können.
Die Strategie basiert auf vier Indikatoren:
Wenn ein AO-Umkehrsignal auftritt und der RSI und der Stoch gleichzeitig in der Überverkaufszone sind, zeigt dies an, dass ein Preisumkehr möglich ist, und es kann eingegriffen werden, um eine Position aufzubauen. Der ATR-Indikator wird verwendet, um einen Stop-Loss-Stop-Preis festzulegen, um die Stop-Loss-Width entsprechend der Marktvolatilität anzupassen, um zu verhindern, dass er eingeschränkt wird.
Um diese Risiken zu verringern, können Optimierungen in folgenden Bereichen vorgenommen werden:
Diese Strategie kann in folgenden Bereichen optimiert werden:
Optimierung der Parameter-Einstellungen. Eine bessere Parameterkombination kann durch die Durchforstung von Methoden wie Optimierungssuche gefunden werden.
Zusätzliche Filterbedingungen. Zusätzliche Indikatoren können bei der Anmeldung bestätigt werden, um falsche Signale zu vermeiden.
Optimierte Stop-Loss-Mechanismen. Sie können Risiken mit mobilen Stop-Loss-Methoden, Abgangsschichten und anderen Methoden kontrollieren.
Optimierte Stop-Off-Methoden. Sie können mit mobilen Stop-Off-Methoden oder mit Trend-Segmentierten Stop-Off-Methoden mehr Gewinne einsperren.
Hinzugefügt wird ein automatischer Stopp, z. B. bei der Annäherung an wichtige Integer-Schaltungen, um einen Rückfall zu vermeiden.
Optimierung des Kapitalmanagements, z. B. Anpassung der Positionsgröße an die Risikoveränderungen und Kontrolle des maximalen Verlusts.
Optimierung der Tests für bestimmte Sorten/Zyklen. Die Parameter und die Stop-Loss-Methoden sollten für verschiedene Sorten und Zyklen optimiert werden.
Die Erhöhung der Handhabung von Ereignissen, wie z.B. die Vermeidung von Geschäften bei wichtigen Nachrichten oder schnelle Verluste.
Diese Strategie verwendet ein einheitliches Linien-System, ein Überkauf-Überverkauf-System und ein Volatilitätssystem, das bei Unterbewertung mit niedrigem Kauf und bei Hochbewertung mit hohem Verkauf verbunden ist und eine starke Trendverfolgungskapazität hat. Es gibt jedoch auch einige Probleme mit der Festlegung von Parametern und unvollständigen Stop-Loss-Mechanismen.
/*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)