Strategi ini menggunakan tiga garis EMA dengan tempoh yang berbeza (144 hari, 34 hari, dan 76 hari) untuk menangkap trend pasaran jangka menengah hingga panjang. Ia juga menggabungkan garis EMA harga tertinggi dan harga terendah 30 hari sebagai isyarat jangka pendek dan pendek. Apabila harga penutupan melanggar isyarat panjang jangka pendek, ia membuka kedudukan panjang; apabila harga penutupan melanggar isyarat pendek jangka pendek, ia menutup kedudukan. Pendekatan ini membolehkan pengurusan kedudukan yang fleksibel sambil memahami trend pasaran utama.
Strategi EMA Crossover dengan Isyarat Jangka Pendek menangkap trend pasaran melalui garis EMA pelbagai tempoh dan mencapai pengurusan kedudukan yang fleksibel menggunakan isyarat harga jangka pendek. Ia adalah kaedah yang menggabungkan penjejakan trend dengan perdagangan ayunan. Walau bagaimanapun, strategi ini juga mempunyai masalah seperti lag, perdagangan yang kerap, dan kekurangan kawalan risiko, yang memerlukan pengoptimuman lanjut untuk meningkatkan ketahanan dan keuntungan. Dengan memperkenalkan lebih banyak dimensi penghakiman trend, menyesuaikan parameter isyarat secara dinamik, menggabungkan mekanisme stop-loss dan mengambil keuntungan yang munasabah, dan kaedah lain, strategi ini boleh dibuat lebih lengkap dan boleh dipercayai.
/*backtest start: 2023-05-17 00:00:00 end: 2024-05-22 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA Crossover with Short-term Signals", overlay=true) // 定义EMA shortest = ta.ema(close, 144) short = ta.ema(close, 34) longer = ta.ema(close, 76) // 绘制EMA plot(shortest, color=color.new(color.yellow, 0)) plot(short, color=color.new(color.orange, 0)) plot(longer, color=color.new(color.red, 0)) // 定义短线多空信号的EMA stLong = ta.ema(high, 30) stShort = ta.ema(low, 30) stLongPlot = plot(stLong, '短线多', color.new(color.aqua, 0)) stShortPlot = plot(stShort, '短线空', color.new(color.green, 0)) // 绘制短线多空信号 clr = close > stLong ? color.green : color.aqua fill(stLongPlot, stShortPlot, color=clr, transp=90) // 交易信号 if (close > stLong) strategy.entry("Buy", strategy.long) if (close < stShort) strategy.close("Buy") // 显示买卖信号 plotshape(series=close > stLong, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY") plotshape(series=close < stShort, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")