MA Trendline Strategi Terobosan

Penulis:ChaoZhang, Tanggal: 2023-10-30 11:39:31
Tag:

img

Strategi ini mewujudkan profitabilitas berkelanjutan di pasar yang tidak stabil dengan melacak terobosan rata-rata bergerak.

Logika Strategi

Logika inti dari strategi ini adalah membuka posisi berdasarkan terobosan garis rata-rata bergerak. Ini menggunakan MA untuk mengumpulkan beberapa rata-rata bergerak untuk membentuk garis rata-rata bergerak utama. Sinyal perdagangan dihasilkan ketika harga menembus garis rata-rata bergerak utama.

Secara khusus, strategi ini mengadopsi rata-rata bergerak ganda WMA 60 periode sebagai garis rata-rata bergerak utama. Pada saat yang sama, strategi ini menghitung rentang sebenarnya dari harga dan menarik band atas dan bawah.

Di atas sinyal terobosan, strategi ini juga menggabungkan RSI dan EMA sebagai indikator tambahan. Hal ini membutuhkan RSI> 50 dan harga di atas EMA untuk pergi panjang, dan RSI < 50 dan harga di bawah EMA untuk pergi pendek, sehingga menghindari terobosan palsu.

Selain itu, strategi ini menggunakan formasi rata-rata bergerak tiga untuk menentukan titik keluar.

Analisis Keuntungan

  • Menggunakan MA untuk meluruskan perubahan harga, dapat secara efektif mengidentifikasi arah tren
  • Perdagangan berdasarkan channel breakout dapat menghasilkan keuntungan yang layak di pasar range bound
  • Menggabungkan RSI dan EMA menghindari sinyal breakout palsu
  • Menggunakan formasi triple MA untuk menentukan titik keluar menghindari tren habis

Analisis Risiko

  • Garis MA dapat menghasilkan banyak kegagalan palsu di pasar yang sangat berfluktuasi
  • Waktu keluar dari Triple MA mungkin tidak terlalu akurat
  • Parameter RSI yang tidak tepat dapat menyebabkan perdagangan berlebihan

Risiko ini dapat dikurangi dengan mengoptimalkan periode MA, menyesuaikan pengaturan triple MA, menggunakan RSI dengan hati-hati dll.

Arahan Optimasi

  • Mengoptimalkan periode MA untuk menemukan pengaturan yang lebih baik untuk garis rata-rata bergerak utama
  • Cobalah indikator tambahan yang berbeda untuk mengganti RSI, misalnya KDJ, MACD dll.
  • Sesuaikan parameter triple MA untuk mengidentifikasi titik pembalikan dengan lebih tepat
  • Tambahkan stop loss untuk mengontrol risiko per perdagangan

Ringkasan

Secara singkat, ini adalah strategi breakout yang sangat baik untuk pasar yang terikat kisaran. Ide utamanya adalah untuk membuka posisi berdasarkan breakout MA, disaring oleh indikator tren, dan mewujudkan keuntungan yang stabil di pasar non-trending. Keluar ditentukan lebih awal menggunakan formasi MA triple. Ada ruang yang cukup untuk mengoptimalkan parameter, meningkatkan logika masuk / keluar dll untuk memaksimalkan kinerja di pasar kisaran.


/*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')





Lebih banyak