
Dieser Artikel analysiert hauptsächlich die quantitative Handelsstrategie, die Ravikant_sharma entwickelt hat und die auf mehreren Index-Moving Averages (EMA) und relativ starken Index (RSI) basiert. Die Strategie ermittelt die Preisentwicklung durch die Kreuzung verschiedener EMA-Zyklen und die numerische Bestimmung des RSI, um die Ein- und Ausstiegszeiten zu bestimmen.
Die Strategie verwendet 5 EMAs mit unterschiedlichen Perioden, darunter die 9-Tage-Linie, die 21-Tage-Linie, die 51-Tage-Linie, die 100-Tage-Linie und die 200-Tage-Linie. Nur die ersten 4 EMAs werden im Code abgebildet. Die RSI-Parameter sind auf 14 festgelegt.
Die Strategie besteht darin, eine Position zu eröffnen, wenn eine der folgenden Bedingungen erfüllt ist:
Der RSI muss größer als 65 sein, um einen starken Aufwärtstrend zu zeigen.
Strategische Ausgleichszahlungen erfolgen, wenn eine der folgenden Bedingungen erfüllt ist:
Dies ist eine typische Trend-Tracking-Strategie mit folgenden Vorteilen:
Die Strategie birgt auch einige Risiken:
Die Strategie kann auch in folgenden Richtungen optimiert werden:
Diese Strategie ist insgesamt eine zuverlässige, leicht umzusetzende Trendverfolgung. Sie verwendet mehrere EMA-Zyklen, um die Trendrichtung zu bestimmen, und kombiniert mit dem RSI-Filter-Falschsignal, um die Parameter zu optimieren und die Modelloptimierung auf der Grundlage der besseren Rückmessung zu optimieren, um einen stabilen Gewinn zu erzielen.
/*backtest
start: 2024-01-30 00:00:00
end: 2024-02-29 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Ravikant_sharma
//@version=5
strategy('new', overlay=true)
start = timestamp(1990, 1, 1, 0, 0)
end = timestamp(2043, 12, 12, 23, 59)
ema0 = ta.ema(close, 9)
ema1 = ta.ema(close, 21)
ema2 = ta.ema(close, 51)
ema3 = ta.ema(close, 100)
ema4 = ta.ema(close, 200)
rsi2=ta.rsi(ta.sma(close,14),14)
plot(ema0, '9', color.new(color.green, 0))
plot(ema1, '21', color.new(color.black, 0))
plot(ema2, '51', color.new(color.red, 0))
plot(ema3, '200', color.new(color.blue, 0))
//plot(ema4, '100', color.new(color.gray, 0))
//LongEntry = ( ta.crossover(ema0,ema3) or ta.crossover(ema0,ema2) or ta.crossunder(ema2,ema3) ) // ta.crossover(ema0,ema1) //
LongEntry=false
if ta.crossover(ema0,ema1)
if rsi2>65
LongEntry:=true
if ta.crossover(ema1,ema2)
if rsi2>65
LongEntry:=true
LongExit = ta.crossunder(ema0,ema2) or close >(strategy.position_avg_price*1.25) or rsi2 <40 or close < (strategy.position_avg_price*0.98)
if time >= start and time <= end
if(LongEntry and rsi2>60)
strategy.entry('Long', strategy.long, 1)
if(LongExit)
strategy.close('Long')