Strategi ini menggunakan kaedah pembelajaran mesin untuk mewujudkan strategi perdagangan automatik yang boleh digunakan di luar kotak. Ia mengintegrasikan pelbagai petunjuk dan model yang dapat menghasilkan isyarat perdagangan secara automatik dan melakukan pembelian dan penjualan berdasarkan isyarat tersebut.
Strategi ini adalah berdasarkan kepada beberapa perkara:
Khususnya, strategi ini akan memetakan garis purata hull, EMA 13 kitaran dan EMA 21 kitaran. Dengan keadaan kosong EMA, arah trend jangka pendek dan jangka menengah akan ditentukan. Kemudian dengan gabungan garis purata hull, arah trend untuk tempoh yang lebih lama akan ditentukan. Ini memberikan panduan arah besar untuk isyarat perdagangan seterusnya.
Sebelum menyesuaikan kedudukan, strategi akan merujuk kepada harga tertinggi dan harga terendah dalam saluran entiti yang sesuai dengan tahap sokongan dan rintangan. Ini dapat mengelakkan menghasilkan isyarat perdagangan di kawasan harga utama.
Akhirnya, strategi akan memanggil harga pembukaan dan harga penutupan 60 kitaran, menghasilkan isyarat beli apabila harga penutupan melintasi harga pembukaan dan isyarat jual apabila ia melintasi. Dengan demikian, keseluruhan logik perdagangan selesai.
Kelebihan utama strategi ini adalah bahawa ia menggabungkan pembelajaran mesin dan analisis teknikal untuk mewujudkan program perdagangan automatik yang jelas, parameter yang boleh disesuaikan dan mudah dikendalikan.
Strategi ini tidak hanya bergantung pada satu atau dua petunjuk, tetapi mempertimbangkan pelbagai faktor seperti trend, rintangan sokongan, dan harga yang pecah, yang meningkatkan kebolehpercayaan dan ketepatan isyarat.
Panjang garis purata hull, bilangan kitaran EMA, bilangan kitaran persilangan penutupan penutupan bukaan boleh disesuaikan dengan parameter, menjadikan strategi fleksibel untuk menyesuaikan diri dengan keadaan pasaran yang berbeza.
Isyarat dagangan berdasarkan penunjuk dan harga silang boleh mencetuskan pembelian dan penjualan secara automatik, tanpa penilaian manual, mengurangkan kesukaran operasi.
Grafik dalam strategi dapat menunjukkan struktur pasaran, keadaan trend dan harga utama dengan jelas, secara intuitif menunjukkan asas penilaian strategi.
Walaupun strategi ini telah dioptimumkan secara pelbagai cara, terdapat beberapa risiko yang mungkin berlaku:
Dalam keadaan harga yang bergelombang, indikator mungkin tidak berfungsi atau tertunda, menyebabkan strategi tidak dapat mengesan perubahan harga dalam masa yang tepat. Parameter perlu dioptimumkan untuk menyesuaikan diri dengan keadaan ini.
Berdasarkan isyarat perdagangan indikator dan model, lebih atau kurang terdapat beberapa kesalahan atau kekurangan. Ini memerlukan peningkatan kualiti isyarat dengan menggabungkan lebih banyak isyarat tambahan.
Strategi melakukan banyak shorting pada masa yang sama, jika keputusan yang salah, risiko kerugian dua hala akan dihadapi. Ini memerlukan pemotongan kerugian yang ketat atau menurunkan kedudukan untuk mengawal.
Tetapan parameter terlalu rumit dan berisiko terlalu optimum. Ini memerlukan penyederhanaan sistem, mengawal jumlah kombinasi parameter.
Strategi ini masih mempunyai ruang untuk pengoptimuman, terutamanya dari segi berikut:
Di samping indikator sedia ada, lebih banyak indikator tambahan boleh diperkenalkan, seperti saluran BOLL, indikator KD, dan lain-lain, untuk memperkaya dasar penilaian sistem.
Menggunakan indikator mudah sebagai ciri, melatih model pembelajaran mendalam seperti LSTM untuk meningkatkan kualiti isyarat.
Menambah faktor asas seperti data ekonomi makro, maklumat dasar, dan mengoptimumkan keputusan kitaran besar.
Memperkenalkan strategi hentikan kerugian, menyesuaikan saiz kedudukan secara dinamik mengikut kadar turun naik keuntungan strategi, dan mengawal risiko dengan ketat.
Strategi ini mengintegrasikan pelbagai petunjuk seperti trend, sokongan, rintangan, dan penembusan, menggunakan kaedah pembelajaran mesin untuk mewujudkan rancangan perdagangan kuantitatif yang automatik. Ia mempunyai kelebihan seperti kepelbagaian portofolio petunjuk, parameter yang boleh disesuaikan, automasi isyarat, tetapi juga menghadapi beberapa masalah seperti penyimpangan penjejakan, ralat isyarat, dan banyak ruang MIX.
/*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")
///////////////////////////////////////////////////////////////////////////////////////////