Strategi kuantitatif multifaktor Great Delight menggabungkan beberapa indikator teknis, termasuk moving average, MACD, dan awan Ichimoku, sebagai strategi jangka panjang yang mengikuti tren.
Dengan mempertimbangkan tren jangka panjang dan jangka pendek, serta verifikasi multi-faktor, strategi ini dapat secara efektif menyaring perdagangan kebisingan yang disebabkan oleh breakout palsu.
Selama indikator MA dan MACD 20 hari menghasilkan sinyal beli pada saat yang sama, dan harga lebih tinggi dari harga awan Ichimoku tertinggi atau di dalam awan, sinyal beli dihasilkan.
Ketika harga menembus di bawah MA 200 hari, strategi menentukan bahwa tren bear telah dimulai. persyaratan sinyal menjadi lebih ketat sekarang: selain sinyal beli MA dan MACD 20 hari, awan Ichimoku juga harus memberikan sinyal beli (awan hijau atau harga di atas awan) sebelum memicu pembelian.
Logika sinyal jual serupa tetapi terbalik: di pasar bull, lilin ditutup di bawah awan bawah atau awan flip pemicu jual; di pasar bear, masukkan awan merah atau 20 hari MA dan MACD sinyal jual pemicu jual.
Keuntungan terbesar dari strategi ini terletak pada menggabungkan beberapa indikator jangka panjang dan jangka pendek untuk menentukan situasi pasar, yang dapat secara efektif menyaring sinyal palsu.
Melalui verifikasi multi-lapisan, tingkat profitabilitas dapat ditingkatkan secara signifikan. Selain itu, koordinasi antara indikator jangka panjang dan jangka pendek juga membuat strategi cocok untuk operasi jangka pendek dan jangka menengah.
Risiko utama dari strategi ini adalah kemungkinan beberapa indikator memberikan sinyal yang salah pada saat yang sama.
Strategi dapat dioptimalkan dari aspek berikut:
Strategi Great Delight menyaring kebisingan melalui kombinasi indikator ilmiah, memungkinkan profitabilitas yang berkelanjutan sambil mengendalikan risiko. Dengan mempertimbangkan tren jangka panjang dan peluang jangka pendek, strategi ini dapat diterapkan secara luas dalam investasi jangka menengah dan panjang.
/*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 )