Strategi ini menggunakan kaedah pembelajaran mesin untuk melaksanakan strategi perdagangan automatik yang siap pakai. Ia mengintegrasikan pelbagai penunjuk dan model untuk menghasilkan isyarat perdagangan secara automatik dan membuat keputusan membeli dan menjual dengan sewajarnya.
Strategi ini terutamanya berdasarkan perkara utama berikut:
Secara khusus, strategi ini akan merangka Hull MA, EMA 13 tempoh, dan EMA 21 tempoh. Menghakimi arah trend jangka pendek dan sederhana berdasarkan status panjang dan pendek EMA. Digabungkan dengan Hull MA untuk menentukan trend kitaran yang lebih lama. Ini memberikan panduan mengenai arah umum untuk isyarat perdagangan berikutnya.
Sebelum menyesuaikan kedudukan, strategi akan merujuk kepada harga tertinggi dan terendah dalam saluran entiti yang sepadan dengan tahap sokongan dan rintangan.
Akhirnya, strategi ini menggunakan harga buka dan tutup 60 tempoh. Apabila harga tutup melintasi harga terbuka, isyarat beli dihasilkan. Apabila melintasi di bawah, isyarat jual dihasilkan. Ini melengkapkan keseluruhan logik perdagangan.
Kelebihan terbesar strategi ini adalah ia menggabungkan pembelajaran mesin dan penunjuk analisis teknikal untuk mencapai penyelesaian perdagangan automatik yang logik, boleh disesuaikan dan mudah digunakan.
Kombo multi-penunjuk meningkatkan ketepatan isyarat
Strategi ini tidak bergantung hanya pada satu atau dua penunjuk, tetapi mengambil kira pelbagai faktor seperti trend, sokongan / rintangan, dan kejayaan harga.
Tetapan parameter yang fleksibel
Panjang tempoh Hull MA, EMA, tempoh persilangan terbuka/dekat boleh diselaraskan melalui parameter, menjadikan strategi dapat disesuaikan dengan persekitaran pasaran yang berbeza.
Isyarat perdagangan automatik
Isyarat perdagangan berdasarkan penunjuk dan persilangan boleh mencetuskan pembelian dan penjualan secara automatik tanpa penilaian manual, mengurangkan kesukaran.
Paparan yang dilihat
Carta dalam strategi dapat menunjukkan dengan jelas struktur pasaran, status trend dan harga utama, secara intuitif memaparkan asas penilaian strategi.
Walaupun strategi ini telah dioptimumkan dalam pelbagai aspek, masih ada beberapa risiko berpotensi:
Kegagalan untuk mengesan pergerakan harga yang drastik
Dalam pasaran yang tidak menentu, penunjuk mungkin menjadi tidak berkesan atau tertunda, menyebabkan strategi gagal untuk mengesan perubahan harga dalam masa. Parameter perlu dioptimumkan untuk menyesuaikan diri dengan pasaran tersebut.
Terdapat kadar ralat isyarat
Isyarat perdagangan berdasarkan penunjuk dan model, lebih atau kurang, akan mempunyai beberapa isyarat palsu atau isyarat yang hilang.
Risiko campuran panjang/pendek
Strategi yang membuat kedua-dua kedudukan panjang dan pendek pada masa yang sama mempunyai risiko kerugian di kedua-dua belah pihak jika pertimbangan salah.
Risiko kecergasan berlebihan
Tetapan parameter yang terlalu kompleks berisiko terlalu banyak. Sistem ini perlu disederhanakan dengan jumlah gabungan parameter yang terhad.
Masih ada ruang untuk mengoptimumkan strategi ini, terutamanya dalam aspek berikut:
Tambah lebih banyak isyarat penunjuk
Sebagai tambahan kepada penunjuk sedia ada, lebih banyak penunjuk tambahan boleh diperkenalkan, seperti saluran BOLL, penunjuk KD, dan lain-lain, untuk memperkayakan rujukan sistem.
Menggunakan model pembelajaran mendalam
Menggunakan penunjuk mudah sebagai ciri untuk melatih LSTM dan model pembelajaran mendalam lain untuk meningkatkan kualiti isyarat.
Masukkan data asas
Tambah data makroekonomi, maklumat dasar dan faktor asas lain untuk mengoptimumkan keputusan kitaran panjang.
Pengukuran risiko & kedudukan
Memperkenalkan strategi stop loss, menyesuaikan saiz kedudukan secara dinamik berdasarkan turun naik pulangan strategi untuk mengawal risiko dengan ketat.
Strategi ini mengintegrasikan trend, tahap sokongan / rintangan, penembusan dan pelbagai penunjuk lain, menggunakan kaedah pembelajaran mesin untuk mencapai penyelesaian perdagangan kuantitatif automatik dan siap digunakan. Ia mempunyai kelebihan gabungan penunjuk yang pelbagai, parameter yang boleh disesuaikan dan isyarat automatik, sementara juga menghadapi penyimpangan penjejakan, ralat isyarat, risiko campuran panjang / pendek hingga tahap tertentu. Masih ada arahan untuk pengoptimuman lanjut dengan menggabungkan lebih banyak penunjuk dan model tambahan, menggabungkan faktor asas, menyesuaikan kedudukan secara dinamik dan sebagainya, untuk mencapai prestasi perdagangan kuantitatif yang lebih stabil, tepat dan pintar.
/*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") ///////////////////////////////////////////////////////////////////////////////////////////