Die Strategie nutzt die Vorteile von Moving Averages und relativ starken Indikatoren, um Trends zu identifizieren und zu verfolgen. Sie benötigt nur zwei Indikatoren, um Trends zu beurteilen und die Zeitpunkte für Ein- und Ausgänge zu wählen. Die Strategie zielt darauf ab, die Preisentwicklung der mittleren und langen Linie zu erfassen, ohne sich von kurzfristigen Marktgeräuschen ablenken zu lassen.
Die Strategie verwendet die EMA-Mittellinie aus drei verschiedenen Perioden, EMA-A mit der kürzesten Periode und EMA-B mit der längsten Periode. Wenn die kurze Periode EMA-A über EMA-B mit der längeren Periode durchbricht, bedeutet dies, dass der Preis im Aufwärtstrend ist.
Die Strategie kombiniert auch die RSI-Indikatoren, um den Exit-Zeitpunkt zu bestimmen. Wenn Sie mehrere Positionen halten, platzieren Sie, wenn der RSI über die 70-Linie geht. Wenn Sie keine Positionen halten, platzieren Sie, wenn der RSI unter die 30-Linie geht.
Diese Risiken können durch Optimierung der RSI-Parameter oder durch Hinzufügen von zusätzlichen Filterbedingungen verringert werden. Technische Analysemethoden wie Trend- und Resistenzunterstützung können auch verwendet werden, um die Strategieleistung zu verbessern.
Die Strategie integriert Trend-Tracking und Overselling Indikatoren, die nur zwei einfache Indikatoren benötigen, um Trends zu beurteilen und zu erfassen. Durch Parameteroptimierung und Regeloptimierung kann die Effektivität erheblich verbessert werden, während sie einfach bleibt. Es ist eine sehr praktische Trend-Tracking-Strategie-Vorlage für mittlere und langfristige Investoren.
/*backtest
start: 2023-08-26 00:00:00
end: 2023-09-25 00:00:00
period: 2h
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/
//@author Alorse
//@version=5
// strategy(title='Tendency EMA + RSI [Alorse]', shorttitle='Tendece EMA + RSI [Alorse]', overlay=true, pyramiding=0, currency=currency.USD, default_qty_type=strategy.percent_of_equity, initial_capital=1000, default_qty_value=20, commission_type=strategy.commission.percent, commission_value=0.01)
// Bollinger Bands
len = input.int(14, minval=1, title='Length', group='RSI')
src = input.source(close, 'Source', group='RSI')
rsi = ta.rsi(src, len)
// Moving Averages
len_a = input.int(10, minval=1, title='EMA A Length', group='Moving Averages')
out_a = ta.ema(close, len_a)
plot(out_a, title='EMA A', color=color.purple)
len_b = input.int(20, minval=1, title='EMA B Length', group='Moving Averages')
out_b = ta.ema(close, len_b)
plot(out_b, title='EMA B', color=color.orange)
len_c = input.int(100, minval=1, title='EMA C Length', group='Moving Averages')
out_c = ta.ema(close, len_c)
plot(out_c, title='EMA B', color=color.green)
// Strategy Conditions
stratGroup = 'Strategy'
showLong = input.bool(true, title='Long entries', group=stratGroup)
showShort = input.bool(false, title='Short entries', group=stratGroup)
closeAfterXBars = input.bool(true, title='Close after X # bars', tooltip='If trade is in profit', group=stratGroup)
xBars = input.int(24, title='# bars')
entryLong = ta.crossover(out_a, out_b) and out_a > out_c and close > open
exitLong = rsi > 70
entryShort = ta.crossunder(out_a, out_b) and out_a < out_c and close < open
exitShort = rsi < 30
bought = strategy.opentrades[0] == 1 and strategy.position_size[0] > strategy.position_size[1]
entry_price = ta.valuewhen(bought, open, 0)
var int nPastBars = 0
if strategy.position_size > 0
nPastBars := nPastBars + 1
nPastBars
if strategy.position_size == 0
nPastBars := 0
nPastBars
if closeAfterXBars
exitLong := nPastBars >= xBars and close > entry_price ? true : exitLong
exitLong
exitShort := nPastBars >= xBars and close < entry_price ? true : exitShort
exitShort
// Long Entry
strategy.entry('Long', strategy.long, when=entryLong and showLong)
strategy.close('Long', when=exitLong)
// Short Entry
strategy.entry('Short', strategy.short, when=entryShort and showShort)
strategy.close('Short', when=exitShort)