このトレンドフォロー戦略は,強化されたMACD指標を使用します. 信号を生成するために,高速EMA,遅いEMA,その差,およびその差のEMAを計算します.
論理的には
速やかなEMA期間,例えば12日間の計算
遅いEMA期間を計算する,例えば26日
MACD を取得するために,遅い EMA から速い EMA を引く.
MACD の EMA を信号線として,例えば 9 日間
MACD の EMA をマイナス シグナル で 強化 信号 を 与え ます.
強化信号がゼロ線を超えるとロング
強化された信号がゼロ線を下回るとロングを閉じる.
この戦略は,MACDのトレンドフォローする能力を利用し,中長期トレンド信号の質のためにさらに最適化します.
強化されたMACDはノイズを削減し,信号を改善します
速/遅 EMA コンボ メーカー 方向と強度
遅いパラメータは 中期から長期間の動向に焦点を当てています
EMA 期間を慎重に最適化する必要がある
短期間しか利用できない
頻度が低い信号
この戦略は,中期から長期間のトレンド識別を改善するために,強化されたMACDを活用する.しかし,最適化とリスク制御は鍵である.他の要因と組み合わせることで,パフォーマンスを改善することができます.
/*backtest start: 2022-09-07 00:00:00 end: 2023-09-13 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 //study("MACDAS") // strategy("macdas",shorttitle="macdas",overlay=true,default_qty_value=10000,initial_capital=10000,currency=currency.USD) // Date range filter testStartYear = input(2018, "Backtest Start Year") testStartMonth = input(4, "Backtest Start Month") testStartDay = input(1, "Backtest Start Day") testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, 0, 0) testStopYear = input(2018, "Backtest Stop Year") testStopMonth = input(12, "Backtest Stop Month") testStopDay = input(31, "Backtest Stop Day") testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0) inTimeRange = true fastperiod = input(12,title="fastperiod",minval=1,maxval=500) slowperiod = input(26,title="slowperiod",minval=1,maxval=500) signalperiod = input(9,title="signalperiod",minval=1,maxval=500) fastMA = ema(close, fastperiod) slowMA = ema(close, slowperiod) macd = fastMA - slowMA signal = ema(macd, signalperiod) macdAS = macd - signal signalAS = ema(macdAS, signalperiod) plot(macdAS, color=blue, linewidth=2) plot(signalAS, color=red, linewidth=2) plot(0, color=black) strategy.entry("LONG", strategy.long, when =inTimeRange and crossover(macdAS,signalAS)) strategy.close("LONG", when= inTimeRange and crossunder(macdAS,signalAS)) plotshape(crossover(macdAS, signalAS) , style = shape.arrowup, text="Long",color=green,size=size.huge) plotshape(crossover(signalAS,macdAS) , style = shape.arrowdown, text="End Long",color=red,size=size.huge)