Strategi ini didasarkan pada ide perdagangan jangka pendek klasik di mana setelah terbentuknya banyak garis terang berturut-turut, munculnya garis negatif akan kosong; setelah banyak garis negatif berturut-turut, munculnya garis terang akan lebih banyak. Secara khusus, strategi ini menilai munculnya banyak garis K dengan warna yang sama dengan deteksi tinggi dan warna garis K, dan kemudian dengan indikator RVI untuk menentukan apakah terbalik masuk. Secara keseluruhan, ini adalah strategi yang memanfaatkan karakteristik garis K berturut-turut pendek dengan kombinasi indikator RVI untuk mencapai perdagangan terbalik jangka pendek.
Logika inti dari strategi ini meliputi:
Untuk mendeteksi apakah ketinggian entitas K-line melebihi nilai ambang ketinggian minimum, untuk menyaring fluktuasi yang terlalu kecil dari yang dan yang.
Periksa apakah dua garis K di atas sama warna, jika demikian, maka mungkin ada kesempatan untuk membalikkan harga dalam jangka pendek.
Setelah menentukan bahwa dua garis K sebelumnya sama warna, sinyal transaksi dihasilkan jika garis K saat ini berbeda dengan warna dua garis K sebelumnya. Yaitu, satu garis terang muncul setelah dua garis terang berturut-turut.
Setelah trading masuk, arah memegang posisi diukur dengan crossover RVI. RVI dapat menentukan titik balik jangka pendek. Bila garis indikator RVI melewati garis sinyal, posisi posisi diukur.
Secara keseluruhan, strategi ini mempertimbangkan karakteristik garis K dan indikator RVI, membentuk sistem perdagangan yang berbalik dalam jangka pendek. Mengambil keuntungan dari peluang berbalik ketika terjadi perilaku harga yang tidak normal dalam jangka pendek.
Strategi ini memiliki beberapa keuntungan utama:
Menangkap abnormalitas harga jangka pendek. Ketika muncul banyak garis positif atau banyak garis negatif berturut-turut, menunjukkan bahwa ada abnormalitas harga dalam jangka pendek, maka operasi terbalik diharapkan mendapatkan hasil yang lebih baik.
Indikator RVI membantu penilaian. Indikator RVI dapat secara efektif menilai titik balik jangka pendek, saling melengkapi dengan karakteristik K-line, meningkatkan stabilitas sistem.
Frekuensi operasi yang lebih tinggi, cocok untuk operasi garis pendek. Sering terjadi kasus dengan garis K berturut-turut dengan warna yang sama, dengan indikator RVI, strategi ini dapat memberikan lebih banyak peluang perdagangan.
Risiko dapat dikontrol. Menggunakan jumlah perdagangan tetap, dan mengatur stop loss.
Logika jelas dan sederhana. Mudah dipahami dan diterapkan, operasi disk tidak terlalu sulit.
Strategi ini juga memiliki beberapa risiko yang perlu diperhatikan:
Pembalikan jangka pendek tidak selalu berlaku. Dalam situasi tren yang berkelanjutan, sinyal pembalikan jangka pendek mungkin gagal dan menghasilkan kesalahan masuk.
Indikator RVI mungkin mengirimkan sinyal yang salah. Indikator RVI juga mungkin gagal karena situasi khusus.
Stop loss setting yang tidak tepat dapat memperbesar kerugian. Anda perlu mengatur stop loss yang masuk akal.
Standar garis K berurutan yang sama warna terlalu kaku. Anda dapat mempertimbangkan untuk mengoptimalkan proporsi X% garis K yang sama warna yang muncul dalam garis K akar N.
Perlu diperhatikan ukuran jumlah tangan yang diperdagangkan. Jumlah tangan yang tetap tidak dapat mengontrol risiko keseluruhan, dan perdagangan tangan besar mudah meledak.
Strategi ini juga dapat dioptimalkan lebih lanjut dalam beberapa hal:
Mengoptimalkan logika determinasi identik K-line yang berurutan, menggunakan metode statistik dan bukan akar-akar tetap yang kaku.
Optimalkan parameter RVI untuk mencari kombinasi parameter yang optimal.
Menambahkan strategi trailing stop loss yang dapat disesuaikan dengan pergerakan pasar.
Menambahkan modul manajemen posisi, menyesuaikan jumlah transaksi secara dinamis sesuai dengan tingkat penggunaan dana.
Menambahkan lebih banyak kondisi penyaringan, meningkatkan stabilitas sistem, dan kombinasi indikator seperti saluran, tren, dan sebagainya.
Optimalisasi parameter untuk varietas yang berbeda, meningkatkan adaptasi.
Memperkenalkan pembelajaran mesin untuk melatih data historis, dan mengoptimalkan parameter sistem secara dinamis.
Strategi ini secara keseluruhan adalah strategi perdagangan berbalik jangka pendek yang khas berdasarkan K-line anomali jangka pendek dengan indikator RVI. Ini memiliki beberapa keuntungan, tetapi juga ada kemungkinan risiko. Dengan terus mengoptimalkan parameter dan membangun sistem yang lebih ketat, stabilitas dan profitabilitas strategi dapat ditingkatkan lebih lanjut.
/*backtest
start: 2022-10-07 00:00:00
end: 2023-10-07 00:00:00
period: 3d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//This is part of a series of strategies developed automatically by a online software. I cannot share the site url, which is not related to me in any way, because it is against the TV reules.
//
//This strategy was optimized for GBPUSD, timeframe 1D, fixed lots 0.1, initial balance 1000€
//LOGIC:
//- LONG ENTRY when previous candle is bear
//- LONG EXIT: RVI > signal line
//- SHORT ENTRY when previous candle is bull
//- SHORT EXIT: RVI < signal line
//
//NOTE: I considered the open of actual candle instead of close otherwise there will be a back shift of 1 candle in pine script
//
//Take profit = no
//Stop loss = no
// strategy("Expert studio strategy 1 - GBPUSD", overlay=false, precision=6, initial_capital=1000,calc_on_every_tick=true, pyramiding=0, default_qty_type=strategy.fixed, default_qty_value=10000, currency=currency.EUR)
//INPUTS
src = input(close, "source")
min_body_height = input(42, "Minimum body height", type=input.float)
//bars_back=input(2, "Consecutive bars of same color")
rvi_period = input(55, "RVI period")
//CALCULATIONS_____________________________
//candle color
body_height = abs(open - close) / syminfo.mintick
body_color = open > close ? color.red : color.green
//da migliorare for i=0 to bars_back-1
//RVI -------- thanks to hecate
p = rvi_period
CO = close - open
HL = high - low
value1 = (CO + 2 * CO[1] + 2 * CO[2] + CO[3]) / 6
value2 = (HL + 2 * HL[1] + 2 * HL[2] + HL[3]) / 6
num = sum(value1, p)
denom = sum(value2, p)
RVI = denom != 0 ? num / denom : 0
RVIsig = (RVI + 2 * RVI[1] + 2 * RVI[2] + RVI[3]) / 6
plot(RVI, color=color.green, style=plot.style_line, linewidth=1)
plot(RVIsig, color=color.red, style=plot.style_line, linewidth=1)
//----------------------------------
longCondition = body_height[1] >= min_body_height and body_color[1] == color.red and
body_height[0] >= min_body_height and body_color[0] == color.red and
RVIsig > RVI
exitLong = RVI > RVIsig
shortCondition = body_height[1] >= min_body_height and body_color[1] == color.green and
body_height[0] >= min_body_height and body_color[0] == color.green and
RVIsig < RVI
exitShort = RVI < RVIsig
if longCondition and strategy.opentrades == 0
strategy.entry("Long", strategy.long)
strategy.close("Long", when=exitLong)
if shortCondition and strategy.opentrades == 0
strategy.entry("Short", strategy.short)
strategy.close("Short", when=exitShort)
// === Backtesting Dates === thanks to Trost
testPeriodSwitch = input(false, "Custom Backtesting Dates")
testStartYear = input(2011, "Backtest Start Year")
testStartMonth = input(10, "Backtest Start Month")
testStartDay = input(7, "Backtest Start Day")
testStartHour = input(0, "Backtest Start Hour")
testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, testStartHour, 0)
testStopYear = input(2018, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(31, "Backtest Stop Day")
testStopHour = input(23, "Backtest Stop Hour")
testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, testStopHour, 0)
testPeriod() =>
time >= testPeriodStart and time <= testPeriodStop ? true : false
testPeriod_1 = testPeriod()
isPeriod = testPeriodSwitch == true ? testPeriod_1 : true
// === /END
if not isPeriod
strategy.cancel_all()
strategy.close_all()