Strategi Kuantitatif Jangka Pendek Awan Ichimoku


Tanggal Pembuatan: 2023-12-21 11:13:15 Akhirnya memodifikasi: 2023-12-21 11:13:15
menyalin: 1 Jumlah klik: 1010
1
fokus pada
1623
Pengikut

Strategi Kuantitatif Jangka Pendek Awan Ichimoku

Ringkasan

Ichimoku Cloud Quant Scalping Strategy adalah strategi kuantitatif short-line yang menggabungkan tabel keseimbangan pertama dan indeks arah rata-rata. Strategi ini menggunakan indikator Ichimoku Cloud untuk menentukan arah tren, bekerja dengan indikator ADX untuk memfilter pasar non-trending, untuk melakukan operasi short-line dalam situasi tren.

Prinsip Strategi

Strategi ini terdiri dari dua bagian utama:

  1. Indeks Awan Ichimoku Menentukan Arah Tren

    • Conversion Line: garis tengah dari 7 periode terakhir
    • Base Line: garis tengah 26 siklus terakhir
    • Leading Span A: titik tengah antara garis konversi dan garis dasar
    • Leading Span B: garis tengah dari 52 siklus terakhir

Ketika harga di atas awan adalah tren multihead, di bawah adalah tren overhead. Strategi untuk menilai perputaran tren dengan menembus Conversion Line.

  1. Indeks ADX memfilter pasar non-trending

ADX lebih besar dari 20 menunjukkan tren, saat ini strategi hanya menghasilkan sinyal perdagangan. Kurang dari 20 menunjukkan konsolidasi, saat ini strategi tidak diperdagangkan.

Aturan transaksi:

  • Multiple entry: harga menembus Conversion Line di atas dan ADX lebih besar dari 20
  • Masuk dengan posisi kosong: Harga menembus di bawah Conversion Line dan ADX lebih besar dari 20
  • Stop loss: 150 poin
  • Stop Stop: 200 poin

Analisis Keunggulan

Strategi ini memiliki keuntungan sebagai berikut:

  1. Menghitung tren dan menghindari penarikan. Indikator Ichimoku Cloud dapat menentukan arah tren dan titik balik dengan akurat, bekerja dengan filter indikator ADX untuk menyaring pasar dan menghindari terobosan palsu.

  2. Pengendalian penarikan. Pengaturan stop loss 150 untuk pengendalian kerugian tunggal.

  3. Rasio untung rugi tinggi. Stop loss 200 poin, stop loss 150 poin, rasio untung rugi hingga 1,33, mudah untuk mendapatkan keuntungan.

  4. Frekuensi perdagangan sedang. Berdagang hanya dalam kondisi tren, tidak sering masuk.

Analisis risiko

Strategi ini juga memiliki risiko sebagai berikut:

  1. Risiko kegagalan penilaian tren. Indikator Awan Ichimoku menghasilkan sinyal yang salah ketika penilaian tren berbalik ke kegagalan. Periode parameter dapat diperpanjang sesuai untuk dioptimalkan.

  2. Hentikan kerugian yang dilalui risiko. Hentikan kerugian dalam kondisi cepat yang mungkin akan ditembus. Anda dapat mengatur hentikan bergerak atau pertimbangkan untuk meningkatkan jangkauan hentikan.

  3. Risiko perdagangan malam dan sebelum tutup. Strategi default hanya berlaku untuk perdagangan siang hari, dan penilaian malam dan sebelum tutup mungkin tidak berlaku. Anda dapat mengatur perdagangan 24 jam atau membuat strategi perdagangan secara terpisah setelah tutup sebelum tutup.

Arah optimasi

Strategi ini dapat dioptimalkan dari beberapa arah:

  1. Ichimoku Cloud Index Parameter Optimization. Anda dapat menguji berbagai parameter garis konversi, garis acuan, dan garis pilihan untuk menemukan kombinasi parameter yang optimal.

  2. Parameter ADX dan pengoptimalan threshold. Anda dapat menguji parameter periodik dan threshold filter ADX untuk menemukan parameter yang optimal.

  3. Optimalisasi Stop Loss. Optimalisasi Stop Loss dapat ditentukan berdasarkan data historis.

  4. Strategi Stop Loss Mobile. Mengatur stop loss floating untuk lebih baik melacak tren profit.

  5. Indikator tambahan untuk menilai tren. Menambahkan indikator tambahan untuk menilai tren seperti MACD, KD, dan lain-lain untuk meningkatkan akurasi sinyal.

  6. Optimasi adaptasi. Berbagi strategi perdagangan untuk varietas yang berbeda.

Meringkaskan

Ichimoku Cloud Quantitative Short Line Strategy mengintegrasikan keunggulan dari indikator Ichimoku Cloud dan indikator ADX, baik untuk menentukan titik pergantian tren dengan akurat, tetapi juga dapat secara efektif menyingkirkan pasar yang terbalik, menghindari sinyal palsu. Strategi ini memiliki rasio kerugian yang tinggi, pengembalian yang dapat dikontrol, cocok untuk operasi garis pendek yang mengikuti tren. Dengan cara pengoptimalan parameter, pengoptimalan stop loss, dan indikator tambahan, Anda dapat meningkatkan stabilitas strategi dan tingkat keuntungan.

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

//@version=2
strategy(title='[STRATEGY][RS]Spot/Binary Scalper V0', shorttitle='IC', overlay=true, initial_capital=100000, currency=currency.USD)
//  ||  Adapted from:
//  ||      http://www.binaryoptionsedge.com/topic/1414-ta-spot-scalping-it-works-damn-good/?hl=singh

//  ||  Ichimoku cloud:
conversionPeriods = input(title='Conversion Periods:',  defval=7, minval=1),
basePeriods = 26//input(title='Base Periods',  defval=26, minval=1)
laggingSpan2Periods = 52//input(title='Lagging Span:',  defval=52, minval=1),
displacement = 26//input(title='Displacement:',  defval=26, minval=1)

f_donchian(_len) => avg(lowest(_len), highest(_len))

f_ichimoku_cloud(_conversion_periods, _base_periods, _lagging_span)=>
    _conversion_line = f_donchian(_conversion_periods)
    _base_line = f_donchian(_base_periods)
    _lead_line1 = avg(_conversion_line, _base_line)
    _lead_line2 = f_donchian(_lagging_span)
    [_conversion_line, _base_line, _lead_line1, _lead_line2]

[conversionLine, baseLine, leadLine1, leadLine2] = f_ichimoku_cloud(conversionPeriods, basePeriods, laggingSpan2Periods)

//ps0 = plot(title='A', series=leadLine1, color=green, linewidth=2)
//ps1 = plot(title='B', series=leadLine2, color=red, linewidth=2)
//fill(title='AB', plot1=ps0, plot2=ps1, color=blue, transp=80)
//plot(title='Base', series=baseLine, color=blue, linewidth=1, offset=displacement)
plot(title='Conversion', series=conversionLine, color=blue, linewidth=1)
//  ||----------------------------------------------------------------------------------------------------------------------------------------------||
//  ||  ADX
len = input(title="Length",  defval=14)
th = input(title="threshold",  defval=20)

TrueRange = max(max(high-low, abs(high-nz(close[1]))), abs(low-nz(close[1])))
DirectionalMovementPlus = high-nz(high[1]) > nz(low[1])-low ? max(high-nz(high[1]), 0): 0
DirectionalMovementMinus = nz(low[1])-low > high-nz(high[1]) ? max(nz(low[1])-low, 0): 0


SmoothedTrueRange = nz(SmoothedTrueRange[1]) - (nz(SmoothedTrueRange[1])/len) + TrueRange
SmoothedDirectionalMovementPlus = nz(SmoothedDirectionalMovementPlus[1]) - (nz(SmoothedDirectionalMovementPlus[1])/len) + DirectionalMovementPlus
SmoothedDirectionalMovementMinus = nz(SmoothedDirectionalMovementMinus[1]) - (nz(SmoothedDirectionalMovementMinus[1])/len) + DirectionalMovementMinus

DIPlus = SmoothedDirectionalMovementPlus / SmoothedTrueRange * 100
DIMinus = SmoothedDirectionalMovementMinus / SmoothedTrueRange * 100
DX = abs(DIPlus-DIMinus) / (DIPlus+DIMinus)*100
ADX = sma(DX, len)
//  ||----------------------------------------------------------------------------------------------------------------------------------------------||
//  ||  Trade session:
USE_TRADESESSION = input(title='Use Trading Session?', type=bool, defval=true)
trade_session = input(title='Trade Session:', defval='0400-1500', confirm=false)
istradingsession = not USE_TRADESESSION ? false : not na(time('1', trade_session))
bgcolor(istradingsession?gray:na)
//  ||----------------------------------------------------------------------------------------------------------------------------------------------||
//  ||  Strategy:
trade_size = input(title='Trade Size:',  defval=1)
stop_loss_in_ticks = input(title='Stop Loss in ticks:',  defval=150)
take_profit_in_ticks = input(title='Take Profit in ticks:',  defval=200)

buy_icloud_signal = open < conversionLine and close > conversionLine
buy_adx_signal = DIPlus > 20
buy_signal = istradingsession and buy_icloud_signal and buy_adx_signal

sel_icloud_signal = open > conversionLine and close < conversionLine
sel_adx_signal = DIMinus > 20
sel_signal = istradingsession and sel_icloud_signal and sel_adx_signal


strategy.order('buy', long=true, qty=trade_size, comment='buy', when=buy_signal)
strategy.order('sel', long=false, qty=trade_size, comment='sel', when=sel_signal)

strategy.exit('exit buy', from_entry='buy', profit=take_profit_in_ticks, loss=stop_loss_in_ticks)
strategy.exit('exit sel', from_entry='sel', profit=take_profit_in_ticks, loss=stop_loss_in_ticks)