VWAP EMA RSI トレンド 戦略をフォローする

作者: リン・ハーンチャオチャン, 日付: 2023-09-13 14:37:47
タグ:

この戦略は,トレンドバイアスのためにVWAP,EMAおよびRSIを組み合わせ,トレンドを追跡し,トレンドをトレーリングストップアプローチで追跡する.適応的な出口でトレンドに乗ることを目的としています.

戦略論理:

  1. 公正価値基準として VWAP を計算する.

  2. 中期トレンド指標として 15 期間の EMA を計算する.

  3. RSIは過買い値を表します 値を超えたRSIは上昇傾向を示します

  4. ストップがVWAPとEMAを上回り,RSIがオーバー買い時 ロングに入ります.

  5. ストップ・ロスの線を入力点以下に設定します

  6. 固定利益を設定ポイントレベルで取って 利益を固定します

利点:

  1. VWAP,EMA,RSIは,複数の側面から入力精度を向上させる.

  2. 利潤を守るため 動的に動きます

  3. 固定利益は退去の確実性をもたらします

リスク:

  1. RSI と EMA は,範囲の間,誤った信号を受けやすい.

  2. ストップロスの校正には慎重さが必要で 幅も狭すぎると問題です

  3. 単一の取引損失の大きさに制限はありません.

概要すると,この戦略は複数の指標を組み合わせ,トレンドをフォローするためにトレーリングストップを使用します.持続的なトレンドではうまく機能しますが,最適化とリスク制御が必要です.


/*backtest
start: 2022-09-12 00:00:00
end: 2023-02-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("VWAP+15EMA with RSI", overlay=true)

// Inputs
ema_length = input.int(15, title="EMA Length")
rsi_length = input.int(14, title="RSI Length")
rsi_overbought = input.int(45, title="RSI Overbought Level")
stop_loss_pct = input.float(0.5, title="Stop Loss %")
take_profit_pct = input.float(3.5, title="Take Profit %")
trailing_stop_pct = input.float(1, title="Trailing Stop %")

// Calculate Indicators
vwap = ta.vwap(hlc3)
ema = ta.ema(close, ema_length)
rsi = ta.rsi(close, rsi_length)

// Entry Condition
long_entry = close > vwap and close > ema and rsi > rsi_overbought

// Exit Conditions
stop_loss = strategy.position_avg_price * (1 - stop_loss_pct / 100)
take_profit = strategy.position_avg_price * (1 + take_profit_pct / 100)
trailing_stop = strategy.position_avg_price * (1 - trailing_stop_pct / 100)

// Submit Orders
if long_entry and strategy.position_size == 0
    strategy.entry("Long", strategy.long)

if strategy.position_size > 0
    strategy.exit("Stop Loss /Profit", "Long", profit = take_profit, stop=stop_loss, trail_offset = trailing_stop)


// Plot Indicators
plot(vwap, title="VWAP", color=color.blue)
plot(ema, title="EMA", color=color.orange)
plot(rsi, title="RSI", color=color.purple)
hline(rsi_overbought, title="RSI Overbought", color=color.red)


もっと