
Strategi ini menggunakan kombinasi dari garis rata-rata ganda, indikator relatif kuat (RSI) dan indikator garis parallax (PSAR), untuk menilai titik balik harga, melakukan operasi beli dan jual saat titik balik terjadi, termasuk strategi perdagangan reversal.
Strategi ini didasarkan pada indikator teknis berikut untuk menentukan titik balik harga:
Garis rata ganda: Menghitung rata-rata bergerak cepat (MA) dan rata-rata bergerak lambat (MA). Ketika melewati garis cepat, menilai sebagai pasar multihead, lakukan lebih banyak; Ketika melewati garis cepat di bawah garis lambat, menilai sebagai pasar kosong, lakukan kosong.
Indikator RSI: RSI menilai kondisi overbought dan oversold dengan menghitung kenaikan dan penurunan rata-rata close over a period of time. RSI lebih besar dari 70 adalah zona overbought dan lebih kecil dari 30 adalah zona oversold.
Indikator PSAR: Indikator SAR garis paralistik menentukan arah tren. Di bawah titik SAR adalah pasar multihead, di atas adalah pasar kosong.
Indikator ADX: ADX menilai kekuatan tren dengan menghitung intensitas perubahan arah harga. Nilai ADX lebih besar dari 20 menunjukkan tren, dan lebih kecil dari 20 menunjukkan konsolidasi.
Logika sinyal beli dan jual berdasarkan indikator di atas adalah sebagai berikut:
Sinyal beli: melalui garis lambat pada garis cepat, RSI kurang dari 30 (zona oversold), titik SAR di atas harga, ADX lebih dari 20, mengeluarkan sinyal beli.
Sinyal jual: Sinyal jual di bawah garis cepat, RSI lebih besar dari 70 (zona overbought), titik SAR di bawah harga, ADX lebih besar dari 20.
Pada saat terjadi sinyal beli dan jual, masing-masing 10 persen dari posisi yang dibuat untuk posisi over dan posisi kosong. Ketika sinyal reversal gagal, tepat waktu untuk menghentikan posisi kosong.
Menggunakan dua garis rata untuk menentukan arah tren besar, dan menambahkan indikator seperti RSI dan SAR untuk menghapus sinyal yang salah, dapat lebih akurat menentukan titik pembalikan.
Menggunakan kombinasi dari berbagai indikator untuk menghindari kesalahan sinyal yang disebabkan oleh satu indikator teknis.
Tetapkan kondisi stop loss untuk mengontrol risiko secara efektif.
Operasi strategi sederhana, jelas, dan mudah diterapkan.
Strategi ini memiliki beberapa bentuk respons terhadap penurunan pasar dan dapat diterapkan dalam berbagai situasi.
Bila dua garis rata menghasilkan sinyal kosong, situasi mungkin terjadi false breaks, perlu dipertimbangkan dalam kombinasi dengan indikator lain. Periode garis rata dapat diperpanjang sesuai, atau menambahkan indikator Brin untuk menilai keaslian penembusan.
Indikator RSI dapat menghasilkan sinyal yang salah karena parameter yang tidak tepat. Parameter RSI harus disesuaikan dengan tepat, dan indikator lain harus ditambahkan untuk mengkonfirmasi sinyal RSI.
Jika nilai ADX di bawah 20, trading harus dihentikan untuk menghindari berbalik dari pasar tanpa arah. Atau, secara tepat, turunkan parameter siklus ADX.
Stop loss SetStringry terlalu kecil dan dapat menyebabkan stop loss yang tidak perlu. Stop loss harus diatur secara rasional sesuai dengan tingkat fluktuasi pasar.
Frekuensi perdagangan mungkin terlalu tinggi, dan dapat disesuaikan dengan baik untuk mengurangi frekuensi perdagangan.
Uji kombinasi garis rata-rata dari periode panjang yang berbeda untuk mencari parameter optimal.
Uji parameter RSI yang berbeda untuk mengoptimalkan penilaian overbought dan oversold.
Cobalah untuk menambahkan indikator lain, seperti Brinks, KDJ, dan lain-lain, untuk memperkaya logika penilaian sinyal jual beli.
Mengatur mekanisme stop loss dinamis sesuai dengan varietas dan kondisi pasar.
Menambahkan strategi manajemen posisi agar profit bisa lebih baik mengikuti tren.
Uji parameter ADX yang berbeda untuk menemukan nilai yang paling baik untuk menentukan kekuatan tren.
Modul stop loss otomatis ditambahkan, sehingga strategi dapat stop loss otomatis.
Strategi ini menggunakan arah besar penilaian dua garis rata, kombinasi RSI, SAR dan indikator lainnya untuk memfilter sinyal reversal, setelah pengaturan parameter optimasi, dapat secara efektif menilai titik reversal harga, sehingga menangkap tren sebelum dan sesudah reversal. Dalam real-time harus memperhatikan pengendalian risiko, pengaturan stop loss yang masuk akal, dan terus mengoptimalkan parameter, sehingga strategi lebih stabil dan keuntungan yang lebih tinggi. Secara keseluruhan, strategi ini digunakan dalam kombinasi dengan indikator silang, berpikir jernih, dan mudah dioperasikan, merupakan strategi reversal yang dapat diandalkan.
/*backtest
start: 2023-10-10 00:00:00
end: 2023-11-09 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
//Based on Senpai BO 3
strategy(title="Senpai_Strat_3", shorttitle="Senpai_Strat_3", overlay=false, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
src = close
//psar
start = input(0.02)
increment = input(0.02)
maximum = input(0.2)
psar = sar(start, increment, maximum)
//ADX Init
adxlen = input(30, title="ADX Smoothing")
dilen = input(30, title="DI Length")
dirmov(len) =>
up = change(high)
down = -change(low)
truerange = rma(tr, len)
plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, len) / truerange)
minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, len) / truerange)
[plus, minus]
adx(dilen, adxlen) =>
[plus, minus] = dirmov(dilen)
sum = plus + minus
adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
[adx, plus, minus]
[sig, up, down] = adx(dilen, adxlen)
// BB Init
source = close
length = input(50, minval=1)
mult = input(0.5, title="Mult Factor", minval=0.001, maxval=50)
alertLevel=input(0.1)
impulseLevel=input(0.75)
showRange = input(false, type=bool)
//RSI CODE
up1 = rma(max(change(src), 0), 14)
down1 = rma(-min(change(src), 0), 14)
rsi = down1 == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up1 / down1))
//BB CODE
basis = sma(source, length)
dev = mult * stdev(source, length)
upper = basis + dev
lower = basis - dev
bbr = source>upper?(((source-upper)/(upper-lower))/10): source<lower?(((source-lower)/(upper-lower))/10) : 0.05
bbi = bbr - nz(bbr[1])
//////////////////// Algo
//if (rsi>50 and n1>n2)
//strategy.exit("Close", "Short")
// strategy.entry("Long", strategy.long)
//if (rsi<50 and n2>n1)
//strategy.exit("Close", "Long")
// strategy.entry("Short", strategy.short)
//col = ma30 > ma50 > ma200 and rsi <=53?lime: ma50 < ma200 and rsi >= 60?red : silver
//short1 = sig<18.5 and high>=upper and rsi>=70 and psar<close = 100%
//long1 = sig<18.5 and low<=lower and rsi<=30 and psar>close = 100%
short1 = sig<18.5 and high>=upper and rsi>=70 and psar<close
long1 = sig<18.5 and low<=lower and rsi<=30 and psar>close
//Entry
long = long1[1] == 0 and long1 == 1
short = short1[1] == 0 and short1 == 1
longclose = long[3] == 1
shortclose = short[3] == 1
strategy.entry("short", strategy.short,qty = 10, when=short)
strategy.entry("long", strategy.long,qty=10, when=long)
strategy.close("long",when=longclose)
strategy.close("short",when=shortclose)
/////////////////////
///PLOT
plot(long,"long",color=green,linewidth=1)
plot(short,"short",color=red,linewidth=1)
plot(longclose,"close",color=blue,linewidth=1)
plot(shortclose,"close",color=orange,linewidth=1)
//plot(short,"short",color=red,linewidth=1)
//
//strategy.exit(id="long",qty = 100000,when=longclose)
//strategy.exit(id="short",qty = 100000,when=shortclose)
//strategy.exit(id="Stop", profit = 20, loss = 100)