Die Strategie erzeugt ein Kaufsignal durch eine Kreuzung von schnellen EMAs mit Kauf- und Verkaufsgrenzen und schnellen SMAs mit Verkaufsgrenzen und nutzt die ATR-Dynamik zur Verfolgung von Stop-Loss-Risiken, um die Kauf-Holding-Strategie durch eine geringe Anzahl von Geschäften zu übertreffen.
Berechnen Sie die schnelle EMA-Kauf-Mittellinie und die langsame SMA-Kauf-Mittellinie, die ein Kaufsignal erzeugen, wenn die schnelle Linie die langsame Linie durchbricht und eine bestimmte Kaufintensität erreicht.
Berechnen Sie die schnelle EMA zum Verkauf der Durchschnittslinie und die langsame SMA zum Verkauf der Durchschnittslinie, die ein Verkaufssignal erzeugen, wenn die schnelle Linie unter der langsamen Linie liegt.
N-Tagesdurchschnittswerte mit dem ATR-Indikator multipliziert mit dem Multiplikator als dynamische Tracking-Stopp-Lösung zur Risikokontrolle.
Strategie zu starten, zu kaufen und zu verkaufen während der Rückmeldung.
Jede Aktie optimiert verschiedene Parameterkombinationen, um die besten Parameter zu finden.
Die Strategie kombiniert die Vorzüge der Trendbeurteilung durch Moving Average Indicators mit den Vorteilen von Cross Signals und ATR-Dynamic Tracking Stop Losses, um die Eigenschaften jeder Sorte durch Parameteroptimierung anzupassen, mit dem Ziel, über den Kauf- und Halteüberschuss durch wenige Präzisionsgeschäfte zu erzielen.
Die Kreuzung von schnellen EMA und langsamen SMA erzeugt Handelssignale, die Trends erkennen können.
ATR-Stop-Positionen werden entsprechend der Marktschwankungen angepasst, um das Risiko effektiv zu kontrollieren.
Die Optimierung der Parameter für jede Aktie kann die Gewinnquote erhöhen.
Einfache Handelslogik und -regeln, die leicht zu implementieren und zu verifizieren sind.
Die Rückmeldung ist vollständig, um die Wirksamkeit der Strategie zu überprüfen.
Die Stabilität übersteigt die Überschüsse, die man durch das Kaufen und Halten erwirbt.
Optimierte Parameter sind nicht unbedingt für die Zukunft geeignet und müssen möglicherweise regelmäßig neu optimiert werden.
Eine Kreuzung von EMA und SMA kann zu Fehlsignalen oder Signalverzögerungen führen.
ATR-Stillstand kann zu radikal sein und kann entsprechend erweitert werden.
Es ist zu unfrequent, und man verpasst gute Handelschancen.
Die Auswirkungen der Transaktionskosten sind zu berücksichtigen.
Versuchen Sie weiter, verschiedene Parameterkombinationen zu testen, um die optimale Parameter zu finden.
Versuchen Sie, andere Indikatoren einzuführen, um die Signale zu filtern.
Optimierung der ATR-Zyklusparameter und Ausgleich der Stop-Loss-Sensitivität
Beurteilung der Wirksamkeit einer angemessenen Lockerung der Schadenssperre
Berücksichtigen Sie Methoden, die automatische Optimierungsparameter in Kombination mit maschinellem Lernen ermitteln.
Die Wirkung der Erhöhung der Häufigkeit von Lageröffnungen wurde untersucht.
Die Moving Average-Stop-Strategie, die die Vorteile der Signalgenerierung durch einheitliche Kreuzung und die Risikokontrolle von ATR-Stop-Verlusten kombiniert, ist eine einfache und praktische Überkauf-Holding-Strategie, die sich an die Merkmale jeder Aktie anpasst, indem sie die Parameter optimiert. Obwohl die optimierten Parameter keine Garantie für die zukünftige Wirkung sind, ist die Strategie klar und praktisch. Die Gesamthandelslogik ist klar und handlungsfähig.
/*backtest
start: 2023-01-01 00:00:00
end: 2023-09-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
//created by XPloRR 04-03-2018
strategy("XPloRR MA-Trailing-Stop Strategy",overlay=true, initial_capital=1000,default_qty_type=strategy.percent_of_equity,default_qty_value=100)
testStartYear = input(2005, "Start Year")
testStartMonth = input(1, "Start Month")
testStartDay = input(1, "Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)
testStopYear = input(2050, "Stop Year")
testStopMonth = input(12, "Stop Month")
testStopDay = input(31, "Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)
testPeriodBackground = input(title="Background", type=bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na
bgcolor(testPeriodBackgroundColor, transp=97)
ema1Period = input(12, "Fast EMA Buy")
sma1Period = input(54, "Slow SMA Buy")
strength1 = input(52, "Minimum Buy Strength")
ema2Period = input(18, "Fast EMA Sell")
sma2Period = input(55, "Slow SMA Sell")
strength2 = input(100, "Minimum Sell Strength")
delta = input(8, "Trailing Stop (#ATR)")
testPeriod() => true
ema1val=ema(close,ema1Period)
sma1val=sma(close,sma1Period)
ema1strength=10000*(ema1val-ema1val[1])/ema1val[1]
ema2val=ema(close,ema2Period)
sma2val=sma(close,sma2Period)
ema2strength=10000*(ema2val-ema2val[1])/ema2val[1]
plot(ema1val,color=blue,linewidth=1)
plot(sma1val,color=orange,linewidth=1)
plot(ema2val,color=navy,linewidth=1)
plot(sma2val,color=red,linewidth=1)
long=crossover(ema1val,sma1val) and (ema1strength > strength1)
short=crossunder(ema2val,sma2val) and (ema2strength < -strength2)
stopval=ema(close,6)
atr=sma((high-low),15)
inlong=0
buy=0
stop=0
if testPeriod()
if (inlong[1])
inlong:=inlong[1]
buy:=close
stop:=iff((stopval>(stop[1]+delta*atr)),stopval-delta*atr,stop[1])
if (long) and (not inlong[1])
strategy.entry("buy",strategy.long)
inlong:=close
buy:=close
stop:=stopval-delta*atr
plot(buy,color=iff(close<inlong,red,lime),style=columns,transp=90,linewidth=1)
plot(stop,color=iff((short or (stopval<stop)) and (close<inlong),red,lime),style=columns,transp=60,linewidth=1)
if testPeriod()
if (short or (stopval<stop)) and (inlong[1])
strategy.close("buy")
inlong:=0
stop:=0
buy:=0