
Diese Strategie ermöglicht es, in einem wackligen Markt nachhaltige Gewinne zu erzielen, indem sie Durchbrüche in der Gleichgewichtlinie verfolgt.
Die Strategie basiert hauptsächlich auf dem Prinzip des Durchbruchs der Durchschnittslinie, wobei die MA die Mehrfachdurchschnittslinie zusammenführt, um die Hauptdurchschnittslinie zu bilden. Es wird ein Handelssignal erzeugt, wenn der Preis die Hauptdurchschnittslinie durchbricht.
Insbesondere verwendet die Strategie einen 60-Zyklus-WMA-Doppelgleitenden Durchschnitt als Hauptmittellinie. Gleichzeitig wird der tatsächliche Umfang der Preisschwankungen berechnet und eine Auf- und Abwärtskanal erstellt.
Auf der Basis von Breakouts werden die RSI- und EMA-Indikatoren eingeführt, um zu vermeiden, dass ein Falschbruch vermieden wird.
Die Strategie nutzt außerdem die starken oder schwachen Positionen der Dreiecksgleichlinie, um eine Position zu beenden. Wenn die Dreiecksgleichlinie-Formationen schwach sind (−1), wählt man den Ausgangspunkt als einen umgekehrten Durchbruch.
Risiken können durch Optimierung der MA-Zyklusparameter, Anpassung der Dreifach-Mittellinie-Einstellung und sorgfältige Verwendung der RSI-Parameter verringert werden.
Diese Strategie ist eine brechende Strategie, die sich sehr gut für Erschütterungen eignet. Die Kernidee basiert auf der MA-Breakthrough-Position, unterstützt durch einen Trendfilter, der in Erschütterungen nachhaltig profitiert. Gleichzeitig wird mit der dreifachen Mittellinie entschieden, dass die Umkehrzeit vorzeitig ausfällt. Die Strategie hat viel Optimierungsraum und kann optimiert werden, indem sie Parameter anpasst, sich in den Einstieg und den Ausstieg ändert und möglicherweise in Erschütterungen besser funktioniert.
/*backtest
start: 2022-10-23 00:00:00
end: 2023-03-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
//exapple bot
strategy('RIPO BOT', shorttitle='RIPO BOT', overlay=true, process_orders_on_close=true, calc_on_order_fills=false, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
sl_inp = input(0.1, title='Stop Loss %') / 100
tp_inp = input(0.33, title='Take Profit %') / 100
length = input(defval=21)
upper = ta.highest(length)
lower = ta.lowest(length)
lengthChop = input.int(14, minval=1)
ci = 100 * math.log10(math.sum(ta.atr(1), lengthChop) / (ta.highest(lengthChop) - ta.lowest(lengthChop))) / math.log10(lengthChop)
offset = input.int(0, "Offset", minval = -500, maxval = 500)
plot(ci, "CHOP", color=#2962FF, offset = offset)
band1 = hline(61.8, "Upper Band", color=#787B86, linestyle=hline.style_dashed)
hline(50, "Middle Band", color=color.new(#787B86, 50))
band0 = hline(38.2, "Lower Band", color=#787B86, linestyle=hline.style_dashed)
fill(band1, band0, color = color.rgb(33, 150, 243, 90), title = "Background")
rsi = ta.rsi(close, 14)
var float entry_price = na
output = 100 * (close - upper) / (upper - lower)
ema = ta.ema(output, input(defval=13, title='EMA'))
ma(src, len) =>
ta.wma(2 * ta.wma(src, len / 2) - ta.wma(src, len), math.round(math.sqrt(len)))
BBMC = ma(close, 60)
rangema = ta.ema(ta.tr, 60)
upperk = BBMC + rangema * 0.2
lowerk = BBMC - rangema * 0.2
color_bar = close > upperk ? color.blue : close < lowerk ? color.fuchsia : color.gray
ExitHigh = ma(high, 15)
ExitLow = ma(low, 15)
Hlv3 = int(na)
Hlv3 := close > ExitHigh ? 1 : close < ExitLow ? -1 : Hlv3[1]
sslExit = Hlv3 < 0 ? ExitHigh : ExitLow
base_cross_Long = ta.crossover(close, sslExit)
base_cross_Short = ta.crossover(sslExit, close)
codiff = base_cross_Long ? 1 : base_cross_Short ? -1 : na
entry_long = false
entry_short = false
if ta.crossover(close, BBMC) and output > ema
entry_long := true
if ta.crossunder(close, BBMC) and output < ema
entry_short := true
if entry_long and strategy.position_size == 0
entry_price := close
strategy.entry('enter long', strategy.long, comment='ENTER-LONG_BYBIT_MATICUSDT_BOT-NAME_1M_85915e4dc80fb663')
if strategy.position_size > 0
strategy.exit('Stop Loss/TP long', 'enter long', limit=entry_price * (1 + tp_inp), stop = color_bar == color.fuchsia ? BBMC : na, comment='EXIT-LONG_BYBIT_MATICUSDT_BOT-NAME_1M_85915e4dc80fb663')
plot(entry_price * (1 + tp_inp), color=color.new(color.green, 0))
//if entry_short and strategy.position_size == 0
//entry_price := close
//strategy.entry('enter short', strategy.short, comment='ENTER-SHORT_BYBIT_MATICUSDT_BOT-NAME_1M_85915e4dc80fb663')
if strategy.position_size < 0
strategy.exit('Stop Loss/TP short', 'enter short', limit=entry_price * (1 - tp_inp), stop = color_bar == color.blue ? BBMC : na, comment='EXIT-SHORT_BYBIT_MATICUSDT_BOT-NAME_1M_85915e4dc80fb663')
plot(entry_price * (1 + tp_inp), color=color.new(color.green, 0))
// plot(entry_price * (1 - sl_inp), color=color.new(color.red, 0))
plot(rsi, color=color.yellow)
plot(output, title='%R', color=color.new(color.yellow, 0), linewidth=2)
plot(ema, title='EMA', color=color.new(color.aqua, 0), linewidth=2)
plotarrow(codiff, colorup=color.new(color.blue, 35), colordown=color.new(color.fuchsia, 35), title='Exit Arrows', maxheight=20, offset=0)
plot(BBMC, color=color_bar, linewidth=4, title='MA Trendline')