この戦略は,中期から長期間の市場動向を把握するために,異なる期間 (144日,34日,76日) の3つのEMAラインを使用する.また,30日間の最高価格と最低価格EMAラインを短期間の長期および短期間の信号として組み込む.閉値が短期間のロングシグナルを超えると,ロングポジションを開く.閉値が短期間のショートシグナルを下回ると,ポジションを閉じる.このアプローチは,主要な市場動向を把握しながら柔軟なポジション管理を可能にします.
EMAクロスオーバーと短期シグナル戦略は,多期EMA線を通じて市場動向を把握し,短期価格シグナルを使用して柔軟なポジション管理を達成する.これは,トレンドトラッキングとスウィングトレーディングを組み合わせる方法である.しかし,この戦略には遅延,頻繁な取引,リスク管理の欠如などの問題もあるため,その強度と収益性を向上させるためにさらなる最適化が必要である.トレンド判断のより多くの次元を導入し,シグナルパラメータを動的に調整し,合理的なストップ・ロストとテイク・プロフィートメカニズムを組み込み,その他の方法により,この戦略をより完全かつ信頼性のあるものにすることができます.
/*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")