この戦略は,市場変動を決定するために,ATR波動指数で補完された単純な移動平均の二重移動平均戦略の組み合わせを使用する. 短期平均線が長期平均線を超えると,それは牛市場として決定され,ロングポジションが取られる. 短期平均線が長期平均線を下回ると,それは熊市場として決定され,ショートポジションが取られる. 同時に,移動平均信号の信頼性は,ボリューム重量平均価格VWAPを組み合わせることで判断される. さらに,逆転を避けるためにRSI指標が組み込まれている. ATR波動指数は,低波動期間の取引を選択するために,市場の波動性を決定するために使用される.
ダブル・ムービング・エベレア戦略の核心は,ダブル・ムービング・エベレア戦略である.ダブル・ムービング・エベレア戦略は,通常,50日間のムービング・エベレアと200日間のムービング・エベレアなどの短期間のムービング・エベレアと長期間のムービング・エベレアを選択する.短期間のムービング・エベレアが長期間のムービング・エベレアを超えると購入信号が生成される.短期間のムービング・エベレアが長期間のムービング・エベレアを下回ると販売信号が生成される.ダブル・ムービング・エベレア戦略は,長期および短期市場のトレンドの変化を判断し,トレンドターニングポイントを把握するためにムービング・エベレア突破を使用する.
この戦略では,50日移動平均を短期移動平均と200日移動平均を長期移動平均として選択する.移動平均信号の信頼性を決定するために,ボリューム重量平均価格VWAPと組み合わせます.つまり,移動平均信号がVWAPに準拠している場合にのみ市場に参入します.これはいくつかの誤った信号をフィルターします.
また,RSI インディケーターは,過剰購入と過剰販売を避けるために組み込まれています.RSIが70を超えると購入し,RSIが30以下になると販売を避けるようにします.
ATRインジケーターの平均振幅は,市場の波動性とリスクレベルを決定するために使用されます. ATR値が1.18を超えると,高波動性で定義されます.この時点で,背景色を変更することで,より高いリスクが提示され,波動性が低下するまで一時的に取引を避けることができます.
この戦略の主な利点は3つの側面に反映されています.
ダブル移動平均は,市場の中長期トレンドの転換点を把握し,トレンドトレードを利用して比較的大きな利益を得ています.
VWAPを組み合わせて 偽信号をフィルタリングし 信号の信頼性を向上させる
RSIインジケーターを導入し,市場に対する取引を避けるため,損失を減らすことができます.
ATR波動性指数を市場リスク条件を決定するために適用することで,損失を減らすことができる高波動性期を回避できます.
様々な指標の組み合わせは単純で理解し,実行しやすいので,定量的な取引への参入に適しています.
この戦略にはいくつかのリスクもあります:
移動平均値がシグナルを生むとき,価格は大きく変化し,過剰取引の危険性が生じる可能性があります.解決策は,移動平均値のサイクルを短縮して指標の反応速度を加速することです.
VWAPにはエラーがあり,正しい取引信号をフィルタリングすることがあります.解決策は他の指標で確認することです.
トレンドが終わると,RSIは長期間に渡り過剰購入/過剰販売領域に留まり,トレンド逆転の転換点を逃す可能性があります.解決策は,MACDなどの他の指標を組み合わせて確認することです.
ATRは市場変動を判断する際に遅れることがあります.解決策は,市場変動を決定するために最高価格,最低価格などを組み合わせることです.
収益は期待に応えられない可能性があり,パラメータはそれに応じて調整する必要がある.
この戦略にはまだ最適化のための余地があります.
最適なパラメータを見つけるために 移動平均の組み合わせをテストします
MACD,KDJなどなど.
ストップ・ロストを最適化し 損失を削減し 利益を増やすために 利潤のパラメータを取ります
格付けモデリングのための強い株と弱い株の取引戦略の違いを評価する.
RNNのような機械学習アルゴリズムを組み込み,パラメータを自動的に最適化し戦略を評価します.
自動取引システムを開発し,バックテストのためにライブ取引に接続します.
この戦略は,比較的単純なトレンド追跡戦略である.コアは,長期および短期間のトレンドを決定するために二重移動平均を使用する.信号を処理するためにVWAPとRSIを組み合わせ,リスクを評価するためにATRを適用する.戦略のアイデアはシンプルで理解し操作するのが簡単である.いくつかの最適化スペースを通じて,良いリターンを得ることができます.定量的な取引エントリーのための選択として,それは非常に適しています.
/*backtest start: 2024-01-04 00:00:00 end: 2024-01-11 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Simple Moving Averages", overlay=true) sma50 = ta.sma(close, 50) sma200 = ta.sma(close, 200) vwap = ta.vwap(close) rsi = ta.rsi(close, 14) [diPlus, diMinus, adx_val] = ta.dmi(14, 14) atr_val = ta.atr(14) plot(sma50, color=color.new(color.green, 0)) plot(sma200, color=color.new(color.red, 0)) plot(vwap) longCondition = ta.crossover(sma50, sma200) and vwap > close shortCondition = ta.crossunder(sma50, sma200) and vwap < close if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short) barcolor = sma50 > sma200 ? (vwap < close ? (rsi < 70 ? color.green : color.blue) : color.yellow) : (sma50 < sma200 ? (vwap > close ? (rsi > 30 ? color.red : color.orange) : color.yellow) : na) barcolor(barcolor) bgcolor(adx_val > 25 and atr_val > 1.18 ? color.new(color.gray, 50) : color.new(color.black, 50), transp=90) // ADX and ATR Label Box // label.new(bar_index, high, "ADX: " + str.tostring(adx_val, "#.##") + "\nATR: " + str.tostring(atr_val, "#.##"), color=color.new(color.white, 0), textcolor=color.new(color.black, 0), style=label.style_labeldown, yloc=yloc.price, xloc=xloc.bar_index, size=size.small, textalign=text.align_left) // Exit conditions (optional) strategy.close("Long", when = ta.crossunder(sma50, sma200)) strategy.close("Short", when = ta.crossover(sma50, sma200)) // Take Profit and Stop Loss takeProfitPercentage = 5 stopLossPercentage = 3 strategy.exit("Take Profit / Stop Loss", "Long", profit = takeProfitPercentage, loss = stopLossPercentage) strategy.exit("Take Profit / Stop Loss", "Short", profit = takeProfitPercentage, loss = stopLossPercentage)