ダブル移動平均クロスオーバーは,価格と移動平均間のクロスオーバー信号をエントリー・アウトシグナルとして利用して短期的なトレンド動きを把握するシンプルで効果的なスカルピング戦略です.
この戦略は,異なる期間の2つの移動平均値 - 短期MA線と長期MA線を使用する.短い期間のMAが下から長い期間のMAを横切ったときに購入信号を生成する.短い期間のMAが上から長いMAを下に横切ったときに販売信号を生成する.
この戦略は,最初に変数
いくつかの無効な信号をフィルタリングするために,現在のバーと前のバーの価格関係をチェックする
最後に,価格がMA線を逆方向に横切ると,既存のポジションは閉鎖されます.
リスクは,変動,遅延停止,百分比停止等に基づく動的MA期間を使用して軽減できます.
戦略は,いくつかの方法で改善することができます:
動的に変動をベースに MA パラメータを最適化する.
信号の質を改善するために音量ピークのような追加フィルターを追加します
早期停止を減らすために浮動式または百分比停止を使用します.
マックド,RSIなどの他の指標と組み合わせて 多条件検証をします
取引ごとに損失を制御するために ダイナミックなポジションサイズのような 自動リスク管理を追加します
より正確な信号生成モデルのために 機械学習を使用します
ダブルMAクロスオーバー戦略は,短期取引のための効果的なシステムである.細かな調整パラメータ,リスク管理,その他のツールとの組み合わせにより収益性がさらに向上することができる.全体的に,より小さな日中の動きのスカルピングのために理解し,実装することは簡単である.
/*backtest start: 2023-09-29 00:00:00 end: 2023-10-29 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("MovingAvg Cross", overlay=true) length = input(50) confirmBars = input(2) price = close ma = sma(price, length) bcond = price > ma bcount = 0 bcount := bcond ? nz(bcount[1]) + 1 : 0 clc=close[0]>close[1] clc0=close[0]>open[0] clc1=close[1]>open[1] if clc and clc0 and clc1 and (bcount == confirmBars) strategy.entry("buy", strategy.long) scond = price < ma scount = 0 scount := scond ? nz(scount[1]) + 1 : 0 csc=close[0]<close[1] csc0=close[0]<open[0] csc1=close[1]<open[1] if csc and csc0 and csc1 and (scount == confirmBars) strategy.entry("sell", strategy.short) strategy.close("buy", when=scond) strategy.close("sell",when=bcond) plot(ma, color=color.red) //plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)