
この戦略は,200日移動平均とランダム振動指数に基づくトレンド追跡戦略である.この戦略の主な構想は,200日移動平均を使用して現在の市場の長期的傾向を判断し,同時に,市場の短期的な変動とオーバーバイのオーバーセール信号をキャプチャするためにランダム振動指数を使用することである.価格が200日移動平均の下にあり,ランダム振動がオーバーセール領域から上方20を越えると,戦略は多開ポジションを開く.価格が200日移動平均線上にあり,ランダム振動がオーバーセール領域から下方80を越えると,戦略は空白ポジションを開く.この戦略は,市場の長期的傾向をキャプチャし,短期的な波動を利用して外利を得ることを目的としている.
この戦略は,200日移動平均とランダム振動指標を組み合わせて,市場の長期トレンドを捉えながら,短期的な変動を利用して追加収益を得ます. この戦略には,明確な出入信号とリスク管理策がありますが,同時に偽信号,トレンド転換,パラメータ最適化などのリスクにも直面しています. 将来,パラメータを動的に調整し,他の指標を導入し,リスク管理を最適化し,取引コストを考慮して戦略を最適化することで,その安定性と収益性を向上させることができます.
/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("WWCD Bot", overlay=true)
// Calculate the 200-day moving average
ema200 = ta.ema(close, 200)
// Calculate Stochastic Oscillator
length = input(2, title="Stochastic Length")
smoothK = input(3, title="Stochastic Smoothing")
smoothD = input(3, title="Stochastic D Smoothing")
k = ta.stoch(close, high, low, length)
d = ta.ema(k, smoothD)
// Variable to store previous value of k
var float prev_k = na
// Check if current k is above 20 and previous k was below 20
crossed_above_20 = k >= 20 and prev_k < 20
crossed_above_80 = k <= 80 and prev_k > 80
// Condition for buy and sell signals
buy_signal_condition = close < ema200 and crossed_above_20
sell_signal_condition = close > ema200 and crossed_above_80
// Store current k for the next bar
prev_k := k
// Strategy
lot_size = 1 // Position size
if (buy_signal_condition)
strategy.entry("Buy", strategy.long, qty=lot_size)
strategy.exit("Take Profit/Stop Loss", "Buy", stop=close - 1.00, limit=close + 16)
if (sell_signal_condition)
strategy.entry("Sell", strategy.short, qty=lot_size)
strategy.exit("Take Profit/Stop Loss", "Sell", stop=close + 1.00, limit=close - 16)