
ダイナミック・ムービング・アベレッジ・クロスオーバー・ストラテジー (Dynamic Moving Average Crossover Strategy) は,典型的なトレンド追跡戦略である.このストラテジーは,急速な移動平均 (Fast MA) と遅い移動平均 (Slow MA) を計算し,それらの交差時に買入と売却のシグナルを生成し,市場トレンドの転換点を捕捉する.
この戦略の核心的な論理は,速動平均線が,下から緩慢移動平均線を横切るとき,買入シグナルが生成され,速動平均線が,上から下から緩慢移動平均線を横切るとき,売出シグナルが生成される.
移動平均線は市場騒音を効果的にぎ,価格トレンドを捕捉する.快速移動平均線はより敏感で,トレンドの変化を及ばなく捕捉することができる.ゆっくり移動平均線はより安定し,短期的な波動の影響を効果的に除する.快速平均線が金叉 ((下から上へ渡る) が起こるとき,市場は多頭行進状態に踏み込むことを示し,死叉 ((上から下へ渡る) が起こるとき,空頭行進状態に踏み込むことを示している.
この戦略は,均線交差時にすぐに取引信号を発信し,トレンド追跡戦略を採用し,市場トレンドを追跡して大きな利益を得る.同時に,戦略は,ストップ・ロス・ポイントとストップ・ポジションを設定し,リスクを厳格に制御する.
パラメータの最適化,平均周期の長さの調整,またはフィルタ条件の追加などの方法で改善することができます.
動的均線交差戦略は全体的に効果が良い.パラメータの最適化を調整することで戦略のパフォーマンスをさらに改善することができる.この戦略は容易に実施し,初心者の実務練習に適している.しかし,誤信号の発生のリスクにも注意する必要がある.他の指標の補助で効果を判断する方が良い.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Simple Moving Average Crossover", shorttitle="SMAC", overlay=true)
// Define input parameters
fast_length = input.int(9, title="Fast MA Length")
slow_length = input.int(21, title="Slow MA Length")
stop_loss = input.float(1, title="Stop Loss (%)", minval=0, maxval=100)
take_profit = input.float(2, title="Take Profit (%)", minval=0, maxval=100)
// Calculate moving averages
fast_ma = ta.sma(close, fast_length)
slow_ma = ta.sma(close, slow_length)
// Define conditions for long and short signals
long_condition = ta.crossover(fast_ma, slow_ma)
short_condition = ta.crossunder(fast_ma, slow_ma)
// Plot moving averages on the chart
plot(fast_ma, title="Fast MA", color=color.blue)
plot(slow_ma, title="Slow MA", color=color.red)
// Execute long and short trades
if (long_condition)
strategy.entry("Long", strategy.long)
if (short_condition)
strategy.entry("Short", strategy.short)
// Set stop loss and take profit levels
stop_loss_price = close * (1 - stop_loss / 100)
take_profit_price = close * (1 + take_profit / 100)
strategy.exit("Take Profit/Stop Loss", stop=stop_loss_price, limit=take_profit_price)
// Plot signals on the chart
plotshape(series=long_condition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=short_condition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)