Strategi Pelacakan Rata-rata Pergerakan Terobosan Berosilasi


Tanggal Pembuatan: 2023-10-30 11:39:31 Akhirnya memodifikasi: 2023-10-30 11:39:31
menyalin: 1 Jumlah klik: 629
1
fokus pada
1617
Pengikut

Strategi Pelacakan Rata-rata Pergerakan Terobosan Berosilasi

Strategi ini bertujuan untuk menghasilkan keuntungan berkelanjutan di pasar yang bergoyang dengan melacak terobosan pada garis rata.

Prinsip Strategi

Strategi ini didasarkan pada prinsip penembusan rata-rata untuk membangun posisi, menggunakan MA yang mengelompokkan beberapa rata-rata untuk membentuk rata-rata utama. Sinyal perdagangan dihasilkan ketika harga menembus rata-rata utama.

Secara khusus, strategi ini menggunakan WMA dua kali lipat selama 60 siklus sebagai garis rata-rata utama. Pada saat yang sama, perhitungan jangkauan fluktuasi harga yang sebenarnya, dan memetakan saluran ke atas ke bawah.

Pada dasar terobosan, strategi ini juga memperkenalkan indikator RSI dan indikator EMA untuk penilaian tambahan, yang meminta RSI> 50 dan harga lebih tinggi dari EMA untuk melakukan over, dan RSI < 50 dan harga lebih rendah dari EMA untuk melakukan short, untuk menghindari terobosan palsu.

Selain itu, strategi menggunakan tren kuat atau lemah dari garis rata tiga untuk menentukan posisi akhir. Ketika formasi garis rata tiga adalah lemah (−1), pilih titik keluar sebagai jalur terbalik untuk menerobos.

Keunggulan Strategis

  • Menggunakan MA Multiple Average Line, mampu secara efektif meluruskan perubahan harga, mengidentifikasi arah tren
  • Transaksi Penembusan Saluran Berbasis Saluran Dapat Menghasilkan Lebih Banyak Uang Dalam Keadaan Guncangan
  • Pertimbangan tambahan yang digabungkan dengan RSI dan EMA untuk memfilter sinyal false breakout
  • Menggunakan status Triple Equilibrium untuk menentukan titik keluar yang tepat, untuk menghindari kegagalan.

Risiko Strategis

  • Dalam situasi yang sangat bergoyang, MA bisa menghasilkan lebih banyak false breakout
  • Pengadilan Triple Jurisdiction mungkin tidak tepat waktu untuk keluar.
  • RSI parameter yang tidak tepat dapat menyebabkan frekuensi perdagangan yang terlalu tinggi

Risiko dapat dikurangi dengan mengoptimalkan parameter siklus MA, menyesuaikan pengaturan garis rata-rata tiga, dan menggunakan parameter RSI dengan hati-hati.

Arah optimasi strategi

  • Optimalkan parameter siklus MA untuk mencari siklus rata-rata utama yang lebih cocok
  • Cobalah untuk mengganti RSI dengan indikator lain, seperti KDJ, MACD, dan lain-lain.
  • Menyesuaikan parameter garis rata-rata tiga kali lipat untuk mencari waktu pembalikan yang lebih akurat
  • Menambahkan strategi stop loss untuk mengendalikan risiko transaksi tunggal

Meringkaskan

Strategi ini secara keseluruhan merupakan strategi terobosan yang sangat cocok untuk situasi yang bergolak. Ide inti adalah berdasarkan pada MA untuk membangun posisi terobosan, ditambah dengan filter indikator tren, untuk terus menguntungkan dalam situasi yang bergolak.

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