Fleksibel MA/VWAP Crossover Strategy dengan Stop Loss/Take Profit

Penulis:ChaoZhang, Tanggal: 2023-12-20 14:06:18
Tag:

img

Gambaran umum

Strategi ini mengidentifikasi silang antara rata-rata bergerak cepat, rata-rata bergerak lambat dan harga rata-rata tertimbang volume (VWAP) untuk menangkap pergerakan harga potensial. Ini memicu sinyal beli ketika MA cepat melintasi di atas VWAP dan MA lambat, dan sinyal jual ketika MA cepat melintasi di bawah VWAP dan MA lambat.

Logika Strategi

Strategi ini menggabungkan kekuatan rata-rata bergerak dan VWAP. Rata-rata bergerak dapat secara efektif menyaring kebisingan pasar dan menentukan arah tren. VWAP mencerminkan niat uang besar dengan lebih tepat. MA cepat menangkap tren jangka pendek sementara MA lambat menyaring sinyal palsu. Ketika MA cepat melintasi di atas MA lambat dan VWAP, itu menunjukkan tren jangka pendek bullish dan memicu sinyal beli. Di bawah crossover memicu sinyal jual.

Analisis Keuntungan

  • Filter MA ganda mengurangi sinyal palsu
  • VWAP dengan akurat menilai niat uang besar
  • Parameter MA yang fleksibel beradaptasi dengan periode yang berbeda
  • Pengendalian risiko yang efektif dengan stop loss/take profit

Analisis Risiko

  • Pasar Whipsaw dapat menghasilkan beberapa sinyal palsu
  • Parameter VWAP yang tidak akurat gagal menilai niat dana
  • Stop loss terlalu ketat tidak dapat melacak tren, terlalu longgar risiko kelebihan

Arahan Optimasi

  • Mengoptimalkan parameter MA dan VWAP untuk kondisi pasar yang berbeda
  • Sinyal filter tambahan dengan RSI
  • Rasio stop loss/take profit yang dinamis

Kesimpulan

Strategi ini mengintegrasikan kekuatan rata-rata bergerak dan VWAP, mengidentifikasi sinyal silang melalui penyaringan ganda, dan secara efektif mengendalikan risiko dengan mekanisme stop loss / take profit yang fleksibel.


/*backtest
start: 2023-11-19 00:00:00
end: 2023-12-19 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Flexible MA VWAP Crossover Strategy with SL/TP", shorttitle="MA VWAP Crossover", overlay=true)

// Input parameters
fast_length = input(9, title="Fast MA Length", minval=1)
slow_length = input(21, title="Slow MA Length", minval=1)
vwap_length = input(14, title="VWAP Length", minval=1)

// Stop Loss and Take Profit inputs
stop_loss_percent = input(1.0, title="Stop Loss (%)", minval=0.1, maxval=5.0, step=0.1)
take_profit_percent = input(2.0, title="Take Profit (%)", minval=1.0, maxval=10.0, step=0.1)

// Calculate moving averages
fast_ma = sma(close, fast_length)
slow_ma = sma(close, slow_length)
vwap = sma(close * volume, vwap_length) / sma(volume, vwap_length)

// Buy and sell conditions
buy_condition = crossover(fast_ma, vwap) and crossover(fast_ma, slow_ma)
sell_condition = crossunder(fast_ma, vwap) and crossunder(fast_ma, slow_ma)

// Plot the moving averages
plot(fast_ma, title="Fast MA", color=color.blue)
plot(slow_ma, title="Slow MA", color=color.red)
plot(vwap, title="VWAP", color=color.purple)

// Plot buy and sell signals
plotshape(buy_condition, style=shape.triangleup, location=location.belowbar, color=color.green, title="Buy Signal")
plotshape(sell_condition, style=shape.triangledown, location=location.abovebar, color=color.red, title="Sell Signal")

// Define stop loss and take profit levels
var float stop_loss_price = na
var float take_profit_price = na

if (buy_condition)
    stop_loss_price := close * (1 - stop_loss_percent / 100)
    take_profit_price := close * (1 + take_profit_percent / 100)

// Strategy entry and exit with flexible SL/TP
strategy.entry("Buy", strategy.long, when = buy_condition)

if (sell_condition)
    strategy.exit("SL/TP", from_entry = "Buy", stop = stop_loss_price, limit = take_profit_price)


Lebih banyak