Strategi Kuantitatif Indikator Ganda


Tanggal Pembuatan: 2023-12-21 10:59:16 Akhirnya memodifikasi: 2023-12-21 10:59:16
menyalin: 1 Jumlah klik: 658
1
fokus pada
1623
Pengikut

Strategi Kuantitatif Indikator Ganda

Ringkasan

Strategi ini menghasilkan sinyal perdagangan dengan menggabungkan 123 indikator reversal dan indikator RAVI. Dari 123 indikator reversal, 123 indikator reversal adalah strategi reversal, yang menggunakan pergerakan harga saham selama dua hari berturut-turut untuk menentukan pergerakan harga di masa depan. Indikator RAVI menentukan apakah harga memasuki zona overbought dan oversold.

Prinsip Strategi

123 berbalik

Indikator ini didasarkan pada nilai K indikator acak. Secara khusus, harga penutupan hari ini lebih rendah dari dua hari sebelumnya, dan pada hari ke-9 garis lambat acak lebih rendah dari 50. Harga penutupan hari ini lebih tinggi dari dua hari sebelumnya, dan pada hari ke-9 garis cepat acak lebih tinggi dari 50 kosong.

Indikator RAVI

Indikator ini dinilai berdasarkan selisih antara garis cepat dan garis lambat. Secara khusus, selisih antara garis rata-rata 7 hari dan garis rata-rata 65 hari, jika lebih besar dari parameter tertentu, maka lebih banyak, dan jika lebih kecil dari parameter tertentu, maka lebih sedikit.

Sinyal strategi

Ketika 123 berbalik dan RAVI melakukan multiplexing searah menghasilkan sinyal. Dua indikator yang melakukan multiplexing sama dengan 1, dan dua indikator yang melakukan shorting sama dengan -1. Dengan demikian, dengan mengkonfirmasi dua indikator, menghindari sinyal salah dari satu indikator.

Analisis Keunggulan

  • Menggunakan kombinasi dari dua indikator dapat meningkatkan akurasi sinyal dan menghindari sinyal yang salah
  • 123 menggunakan informasi garis K, RAVI menggunakan informasi garis rata, menilai pasar dari berbagai sudut
  • Parameter RAVI dapat disesuaikan dan dapat dioptimalkan untuk berbagai varietas dan lingkungan pasar
  • Dengan cara ini, Anda dapat menangkap dan mengikuti tren.

Risiko dan optimasi

  • Kombinasi indikator ganda, mudah menghasilkan sinyal tidak konsisten. Parameter selisih harga dapat dipertimbangkan, dan sinyal dapat dikeluarkan ketika dua indikator berbeda dalam parameter tertentu
  • 123 reversal adalah strategi frekuensi tinggi yang perlu dikombinasikan dengan strategi frekuensi rendah lainnya untuk mengurangi frekuensi transaksi
  • RAVI sangat baik dalam menangkap tren garis tengah dan panjang, dan indikator garis pendek Combine dapat meningkatkan ketahanan strategi terhadap risiko

Meringkaskan

Strategi ini secara komprehensif mempertimbangkan faktor-faktor reversal dan faktor-faktor tren, dengan mengkonfirmasi dua indikator untuk mengurangi probabilitas pengiriman sinyal yang salah. Langkah selanjutnya, dapat memperkenalkan algoritma pembelajaran mesin, untuk mengoptimalkan parameter adaptif. Atau pertimbangkan kombinasi strategi, dengan jenis strategi lain untuk membentuk kombinasi, untuk mengurangi pengembalian maksimum sambil mempertahankan keuntungan.

Kode Sumber Strategi
/*backtest
start: 2023-11-20 00:00:00
end: 2023-12-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 31/05/2021
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// The indicator represents the relative convergence/divergence of the moving 
// averages of the financial asset, increased a hundred times. It is based on 
// a different principle than the ADX. Chande suggests a 13-week SMA as the 
// basis for the indicator. It represents the quarterly (3 months = 65 working days) 
// sentiments of the market participants concerning prices. The short moving average 
// comprises 10% of the one and is rounded to seven.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos


RAVI(LengthMAFast, LengthMASlow, TradeLine) =>
    pos = 0.0
    xMAF = sma(close, LengthMAFast)
    xMAS = sma(close, LengthMASlow)
    xRAVI = ((xMAF - xMAS) / xMAS) * 100
    pos:= iff(xRAVI > TradeLine, 1,
    	   iff(xRAVI < TradeLine, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Range Action Verification Index (RAVI)", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- Range Action Verification Index (RAVI) ----")
LengthMAFast = input(title="Length MA Fast", defval=7)
LengthMASlow = input(title="Length MA Slow", defval=65)
TradeLine = input(0.14, step=0.01)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posRAVI = RAVI(LengthMAFast, LengthMASlow, TradeLine)
pos = iff(posReversal123 == 1 and posRAVI == 1 , 1,
	   iff(posReversal123 == -1 and posRAVI == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1 , 1, pos))	   
if (possig == 1 ) 
    strategy.entry("Long", strategy.long)
if (possig == -1 )
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )