Strategi ini mengenal pasti persilangan antara purata bergerak pantas, purata bergerak perlahan dan harga purata berat volum (VWAP) untuk menangkap pergerakan harga yang berpotensi. Ia mencetuskan isyarat beli apabila MA cepat melintasi di atas VWAP dan MA perlahan, dan isyarat jual apabila MA cepat melintasi di bawah VWAP dan MA perlahan.
Strategi ini menggabungkan kekuatan purata bergerak dan VWAP. Purata bergerak dapat menapis bunyi pasaran dengan berkesan dan menentukan arah trend. VWAP mencerminkan niat wang besar dengan lebih tepat. MA pantas menangkap trend jangka pendek sementara MA perlahan menapis isyarat palsu. Apabila MA pantas melintasi di atas MA perlahan dan VWAP, ia menunjukkan trend jangka pendek yang bullish dan mencetuskan isyarat beli. Di bawah isyarat crossover mencetuskan isyarat jual.
Strategi ini mengintegrasikan kekuatan purata bergerak dan VWAP, mengenal pasti isyarat silang melalui penapisan berganda, dan berkesan mengawal risiko dengan mekanisme stop loss / mengambil keuntungan 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)