Strategi ini menggunakan purata bergerak (MA) dan EMA merentasi jangka masa yang berbeza untuk mengenal pasti dan memperdagangkan trend. Dengan menggabungkan SMA, EMA dari pelbagai tempoh, serta badan candlestick, ia dapat menapis bunyi bising pasaran dengan berkesan dan memperdagangkan trend pertengahan hingga jangka panjang dengan risiko rendah.
Idea terasnya adalah berdasarkan perbandingan 3 SMA dari tempoh yang berbeza untuk menentukan momentum harga.
Secara khusus, strategi ini menggunakan 3 SMA - 3-, 8-, dan 10-period SMA. Apabila harga berada di bawah semua 3 SMA, ia dianggap downtrend. Isyarat panjang dipicu apabila harga melintasi semula di atas SMA.
Juga, EMA 5 tempoh memeriksa sama ada badan lilin menunjuk ke atas sebelum memasuki perdagangan panjang.
Untuk peraturan keluar, jumlah maksimum penutupan yang menguntungkan atau tempoh maksimum digunakan sebagai mekanisme stop loss.
Dengan menggabungkan MAs dari pelbagai kerangka masa, strategi ini dapat menapis bunyi bising pasaran dengan berkesan dan menangkap trend jangka menengah hingga jangka panjang. Parameter yang dioptimumkan membolehkan prestasi yang baik dalam backtest sejarah.
Menggunakan EMA untuk memeriksa hala tuju badan lilin mengurangkan tergelincir yang tidak perlu daripada membeli lilin yang jatuh.
Secara keseluruhannya ini adalah sistem yang stabil dan boleh dipercayai yang sesuai untuk mengikuti trend selama minggu hingga bulan.
Strategi ini sensitif terhadap parameter. Pilihan suboptimal 3 tempoh SMA atau 1 EMA boleh merosot kualiti isyarat. Parameter perlu dioptimumkan untuk instrumen yang berbeza.
Risiko jurang tidak ditangani. berita asas tiba-tiba bahawa harga jurang boleh menyebabkan kerugian. harga stop loss boleh membantu mengurangkan risiko tersebut.
Lebih banyak jangka masa MAs atau EMA boleh ditambah untuk meningkatkan lebih lanjut ketepatan trend.
Stop loss harga sederhana boleh diuji untuk mengunci keuntungan sambil mengurangkan kerugian dalam pergerakan melampau.
Pembelajaran mesin dapat mengoptimumkan parameter secara dinamik untuk menyesuaikan diri dengan keadaan pasaran yang berubah.
Strategi ini kukuh dan boleh dipercayai secara keseluruhan, menggunakan persilangan MA untuk menentukan trend ditambah dengan penapis EMA. Pengoptimuman parameter lanjut dan kawalan risiko yang berhati-hati dapat meningkatkan kadar kemenangan dan keuntungan. Layak penyelidikan dan aplikasi lanjut.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Free Strategy #02 (ES / SPY)", overlay=true) // Inputs Quantity = input(1, minval=1, title="Quantity") SmaPeriod01 = input(3, minval=1, title="SMA Period 01") SmaPeriod02 = input(8, minval=1, title="SMA Period 02") SmaPeriod03 = input(10, minval=1, title="SMA Period 03") EmaPeriod01 = input(5, minval=1, title="EMA Period 01") MaxProfitCloses = input(5, minval=1, title="Max Profit Close") MaxBars = input(10, minval=1, title="Max Total Bars") // Misc Variables src = close BarsSinceEntry = 0 MaxProfitCount = 0 Sma01 = sma(close, SmaPeriod01) Sma02 = sma(close, SmaPeriod02) Sma03 = sma(close, SmaPeriod03) Ema01 = ema(close, EmaPeriod01) // Conditions Cond00 = strategy.position_size == 0 Cond01 = close < Sma03 Cond02 = close <= Sma01 Cond03 = close[1] > Sma01[1] Cond04 = open > Ema01 Cond05 = Sma02 < Sma02[1] // Update Exit Variables BarsSinceEntry := Cond00 ? 0 : nz(BarsSinceEntry[1]) + 1 MaxProfitCount := Cond00 ? 0 : (close > strategy.position_avg_price and BarsSinceEntry > 1) ? nz(MaxProfitCount[1]) + 1 : nz(MaxProfitCount[1]) // Entries strategy.entry(id="L1", long=true, qty=Quantity, when=(Cond00 and Cond01 and Cond02 and Cond03 and Cond04 and Cond05)) // Exits strategy.close("L1", (BarsSinceEntry - 1 >= MaxBars or MaxProfitCount >= MaxProfitCloses))