Strategi kuantitatif pelbagai faktor Great Delight menggabungkan beberapa penunjuk teknikal, termasuk purata bergerak, MACD, dan awan Ichimoku, sebagai strategi jangka panjang yang mengikuti trend. Ia terutamanya menggunakan purata bergerak mudah 200 hari untuk menentukan trend keseluruhan, dan butiran tambahan dari purata bergerak eksponensial 20 hari, indeks MACD, dan awan Ichimoku untuk menentukan titik masuk dan keluar tertentu.
Dengan mempertimbangkan kedua-dua trend jangka panjang dan jangka pendek, serta pengesahan pelbagai faktor, strategi ini dapat menapis dengan berkesan perdagangan bising yang disebabkan oleh pecah palsu.
Apabila harga di atas MA 200 hari, strategi percaya pasaran berada dalam trend bull. Selagi penunjuk MA dan MACD 20 hari menghasilkan isyarat beli pada masa yang sama, dan harga lebih tinggi daripada harga awan Ichimoku tertinggi atau di dalam awan, isyarat beli dihasilkan.
Apabila harga memecahkan di bawah MA 200 hari, strategi menentukan trend bear telah bermula. Keperluan isyarat menjadi lebih ketat sekarang: selain isyarat beli MA dan MACD 20 hari, awan Ichimoku juga mesti memberikan isyarat beli (awan hijau atau harga di atas awan) sebelum mencetuskan pembelian.
Logik isyarat jual adalah sama tetapi terbalik: dalam pasaran lembu, lilin ditutup di bawah bawah awan atau awan flip pemicu menjual; dalam pasaran beruang, masukkan awan merah atau 20 hari MA dan MACD isyarat jual pemicu menjual.
Kelebihan terbesar strategi ini terletak pada menggabungkan beberapa penunjuk jangka panjang dan jangka pendek untuk menentukan keadaan pasaran, yang dapat menapis isyarat palsu dengan berkesan.
Melalui pengesahan pelbagai lapisan, kadar keuntungan dapat ditingkatkan dengan ketara.
Risiko utama strategi ini adalah kebarangkalian beberapa penunjuk memberikan isyarat yang salah pada masa yang sama. Walaupun sangat tidak mungkin dalam keadaan yang melampau, ia masih boleh berlaku dengan penggunaan yang berpanjangan.
Strategi ini boleh dioptimumkan dari aspek berikut:
Strategi Great Delight menapis bunyi bising melalui kombinasi indikator saintifik, membolehkan keuntungan berterusan sambil mengawal risiko. Dengan mempertimbangkan kedua-dua trend jangka panjang dan peluang jangka pendek, ia digunakan secara meluas dalam pelaburan jangka menengah dan panjang. Penambahbaikan prestasi yang lebih lanjut dapat dijangkakan melalui pengoptimuman seperti penyesuaian parameter, penambahan kerugian berhenti, dan pengenalan pembelajaran mesin.
/*backtest start: 2023-11-03 00:00:00 end: 2023-12-03 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy(title="MACD/EMA/SMA/Ichimoku Long Strategy",overlay=true) // Ichimoku conversionPeriods = input(9, minval=1, title="Conversion Line Periods"), basePeriods = input(26, minval=1, title="Base Line Periods") laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Periods"), displacement = input(26, minval=1, title="Displacement") donchian(len) => avg(lowest(len), highest(len)) conversionLine = donchian(conversionPeriods) baseLine = donchian(basePeriods) leadLine1 = avg(conversionLine, baseLine) leadLine2 = donchian(laggingSpan2Periods) p1 = plot(leadLine1, offset = displacement, color=green, title="Lead 1") p2 = plot(leadLine2, offset = displacement, color=red, title="Lead 2") fill(p1, p2, color = leadLine1 > leadLine2 ? color(green,50) : color(red,50)) bottomcloud=leadLine2[displacement-1] uppercloud=leadLine1[displacement-1] // SMA Indicator - Are we in a Bull or Bear market according to 200 SMA? SMA200 = sma(close, input(200)) EMA = ema(close,input(20)) //MACD Indicator - Is the MACD bullish or bearish? fastLength = input(12) slowlength = input(26) MACDLength = input(9) MACD = ema(close, fastLength) - ema(close, slowlength) aMACD = ema(MACD, MACDLength) delta = MACD - aMACD // Set Buy/Sell conditions [main,signal,histo]=macd(close,fastLength,slowlength,MACDLength) buy_entry = if ((uppercloud>bottomcloud or close>max(uppercloud,bottomcloud)) and close>EMA and (delta>0 and close>min(uppercloud,bottomcloud))) or (close<SMA200 and delta>0 and close>EMA and (uppercloud>bottomcloud or close>max(uppercloud,bottomcloud))) true if close<EMA and ((delta<0 and close<min(uppercloud,bottomcloud)) or (uppercloud<bottomcloud and close>max(uppercloud,bottomcloud))) buy_entry = false strategy.entry("Buy",true , when=buy_entry) alertcondition(buy_entry, title='Long', message='Chart Bullish') sell_entry = if ((uppercloud<bottomcloud or close<min(uppercloud,bottomcloud)) and close<EMA and (delta<0 and close<max(uppercloud,bottomcloud))) or (close>SMA200 and delta<0 and close<EMA and (uppercloud<bottomcloud or close<min(uppercloud,bottomcloud))) true if close>EMA and ((delta>0 and close>max(uppercloud,bottomcloud)) or (uppercloud>bottomcloud and close<min(uppercloud,bottomcloud))) sell_entry = false strategy.close("Buy",when= sell_entry) alertcondition(sell_entry, title='Short', message='Chart Bearish') //plot(delta, title="Delta", style=cross, color=delta>=0 ? green : red )