Diese Strategie identifiziert Kreuzungen zwischen schnellem gleitendem Durchschnitt, langsamem gleitendem Durchschnitt und volumengewichtetem Durchschnittspreis (VWAP), um potenzielle Kursbewegungen zu erfassen.
Die Strategie kombiniert die Stärken von gleitenden Durchschnitten und VWAP. Gleitende Durchschnitte können effektiv Marktlärm filtern und die Trendrichtung bestimmen. VWAP spiegelt die Absichten von großem Geld genauer wider.
Diese Strategie integriert die Stärken von gleitenden Durchschnitten und VWAP, identifiziert Crossover-Signale durch doppeltes Filtern und kontrolliert Risiken effektiv mit flexiblen Stop-Loss-/Take-Profit-Mechanismen.
/*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)