Strategi ini menggunakan metode pembelajaran mesin untuk menerapkan strategi perdagangan otomatis out-of-the-box. Ini mengintegrasikan beberapa indikator dan model untuk secara otomatis menghasilkan sinyal perdagangan dan membuat keputusan beli dan jual sesuai.
Strategi ini terutama didasarkan pada poin-poin utama berikut:
Secara khusus, strategi ini akan memetakan Hull MA, EMA 13 periode, dan EMA 21 periode. Menghakimi arah tren jangka pendek dan menengah berdasarkan status panjang dan pendek EMA. Dikombinasikan dengan Hull MA untuk menentukan tren siklus yang lebih lama. Ini memberikan panduan tentang arah umum untuk sinyal perdagangan berikutnya.
Sebelum penyesuaian posisi, strategi akan merujuk pada harga tertinggi dan terendah di saluran entitas yang sesuai dengan level support dan resistance.
Akhirnya, strategi ini menggunakan harga buka dan tutup 60 periode. Ketika harga tutup melintasi di atas harga buka, sinyal beli dihasilkan. Ketika melintasi di bawah, sinyal jual dihasilkan. Ini melengkapi seluruh logika perdagangan.
Keuntungan terbesar dari strategi ini adalah menggabungkan indikator pembelajaran mesin dan analisis teknis untuk mencapai solusi perdagangan otomatis yang logis, dapat disesuaikan dan mudah digunakan.
Kombinasi multi-indikator meningkatkan akurasi sinyal
Strategi ini tidak hanya bergantung pada satu atau dua indikator, tetapi memperhitungkan beberapa faktor seperti tren, dukungan / resistensi, dan terobosan harga.
Pengaturan parameter yang fleksibel
Panjang periode Hull MA, EMA, periode open/close crossover dapat disesuaikan melalui parameter, sehingga strategi dapat disesuaikan dengan lingkungan pasar yang berbeda.
Sinyal perdagangan otomatis
Sinyal perdagangan yang didasarkan pada indikator dan crossover dapat secara otomatis memicu pembelian dan penjualan tanpa penilaian manual, mengurangi kesulitan.
Tampilan yang ditampilkan
Grafik dalam strategi dapat dengan jelas menunjukkan struktur pasar, status tren dan harga kunci, secara intuitif menampilkan dasar penilaian strategi.
Meskipun strategi ini telah dioptimalkan dalam berbagai aspek, masih ada beberapa risiko potensial:
Kegagalan untuk melacak pergerakan harga drastis
Dalam pasar yang tidak stabil, indikator dapat menjadi tidak efektif atau tertunda, menyebabkan strategi gagal melacak perubahan harga dalam waktu. Parameter perlu dioptimalkan untuk beradaptasi dengan pasar tersebut.
Keberadaan tingkat kesalahan sinyal
Sinyal perdagangan berdasarkan indikator dan model, lebih atau kurang, akan memiliki beberapa sinyal palsu atau sinyal yang hilang.
Risiko campuran panjang/pendek
Strategi yang membuat posisi panjang dan pendek secara bersamaan memiliki risiko kerugian di kedua belah pihak jika penilaian salah.
Risiko kelebihan kebugaran
Pengaturan parameter yang terlalu kompleks berisiko terlalu banyak. Sistem harus disederhanakan dengan jumlah kombinasi parameter yang terbatas.
Masih ada beberapa ruang untuk mengoptimalkan strategi ini, terutama dalam aspek berikut:
Tambahkan lebih banyak sinyal indikator
Selain indikator yang ada, indikator tambahan dapat diperkenalkan, seperti saluran BOLL, indikator KD, dll, untuk memperkaya referensi sistem.
Menerapkan model pembelajaran mendalam
Menggunakan indikator sederhana sebagai fitur untuk melatih LSTM dan model pembelajaran mendalam lainnya untuk meningkatkan kualitas sinyal.
Masukkan data dasar
Tambahkan data makroekonomi, informasi kebijakan dan faktor dasar lainnya untuk mengoptimalkan keputusan siklus panjang.
Ukuran risiko & posisi
Memperkenalkan strategi stop loss, secara dinamis menyesuaikan ukuran posisi berdasarkan volatilitas strategi pengembalian untuk mengontrol risiko secara ketat.
Strategi ini mengintegrasikan tren, level support/resistance, breakout dan beberapa indikator lainnya, memanfaatkan metode pembelajaran mesin untuk mencapai solusi perdagangan kuantitatif otomatis, siap digunakan. Strategi ini memiliki keuntungan dari berbagai kombinasi indikator, parameter yang dapat disetel dan sinyal otomatis, sementara juga menghadapi penyimpangan pelacakan, kesalahan sinyal, risiko campuran panjang/pendek sampai batas tertentu. Masih ada arah untuk optimasi lebih lanjut dengan menggabungkan lebih banyak indikator dan model tambahan, menggabungkan faktor fundamental, menyesuaikan posisi secara dinamis dan sebagainya, untuk mencapai kinerja perdagangan kuantitatif yang lebih stabil, akurat dan cerdas.
/*backtest start: 2023-01-22 00:00:00 end: 2024-01-28 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title='Ali Jitu Abus', shorttitle='Ali_Jitu_Abis_Strategy', overlay=true, pyramiding=0, initial_capital=1000, currency=currency.USD) //Candle body resistance Channel-----------------------------// len = 34 src = input(close, title="Candle body resistance channel") out = sma(src, len) last8h = highest(close, 13) lastl8 = lowest(close, 13) bearish = cross(close,out) == 1 and falling(close, 1) bullish = cross(close,out) == 1 and rising(close, 1) channel2=input(false, title="Bar Channel On/Off") ul2=plot(channel2?last8h:last8h==nz(last8h[1])?last8h:na, color=black, linewidth=1, style=linebr, title="Candle body resistance level top", offset=0) ll2=plot(channel2?lastl8:lastl8==nz(lastl8[1])?lastl8:na, color=black, linewidth=1, style=linebr, title="Candle body resistance level bottom", offset=0) //fill(ul2, ll2, color=black, transp=95, title="Candle body resistance Channel") //-----------------Support and Resistance RST = input(title='Support / Resistance length:', defval=10) RSTT = valuewhen(high >= highest(high, RST), high, 0) RSTB = valuewhen(low <= lowest(low, RST), low, 0) RT2 = plot(RSTT, color=RSTT != RSTT[1] ? na : red, linewidth=1, offset=+0) RB2 = plot(RSTB, color=RSTB != RSTB[1] ? na : green, linewidth=1, offset=0) //--------------------Trend colour ema------------------------------------------------// src0 = close, len0 = input(13, minval=1, title="EMA 1") ema0 = ema(src0, len0) direction = rising(ema0, 2) ? +1 : falling(ema0, 2) ? -1 : 0 plot_color = direction > 0 ? lime: direction < 0 ? red : na plot(ema0, title="EMA", style=line, linewidth=1, color = plot_color) //-------------------- ema 2------------------------------------------------// src02 = close, len02 = input(21, minval=1, title="EMA 2") ema02 = ema(src02, len02) direction2 = rising(ema02, 2) ? +1 : falling(ema02, 2) ? -1 : 0 plot_color2 = direction2 > 0 ? lime: direction2 < 0 ? red : na plot(ema02, title="EMA Signal 2", style=line, linewidth=1, color = plot_color2) //=============Hull MA// show_hma = input(false, title="Display Hull MA Set:") hma_src = input(close, title="Hull MA's Source:") hma_base_length = input(8, minval=1, title="Hull MA's Base Length:") hma_length_scalar = input(5, minval=0, title="Hull MA's Length Scalar:") hullma(src, length)=>wma(2*wma(src, length/2)-wma(src, length), round(sqrt(length))) plot(not show_hma ? na : hullma(hma_src, hma_base_length+hma_length_scalar*6), color=black, linewidth=2, title="Hull MA") //============ signal Generator ==================================// Period=input('60') ch1 = request.security(syminfo.tickerid, Period, open) ch2 = request.security(syminfo.tickerid, Period, close) longCondition = crossover(request.security(syminfo.tickerid, Period, close),request.security(syminfo.tickerid, Period, open)) if (longCondition) strategy.entry("BUY", strategy.long) shortCondition = crossunder(request.security(syminfo.tickerid, Period, close),request.security(syminfo.tickerid, Period, open)) if (shortCondition) strategy.entry("SELL", strategy.short) plot(request.security(syminfo.tickerid, Period, close), color=red, title="Period request.security Close") plot(request.security(syminfo.tickerid, Period, open), color=green, title="Period request.security Open") ///////////////////////////////////////////////////////////////////////////////////////////