
Chiến lược này xác định các tín hiệu giao chéo giữa chúng bằng cách tính toán các đường trung bình di chuyển nhanh, đường trung bình di chuyển chậm và giá trung bình trọng lượng giao dịch để nắm bắt sự di chuyển của giá. Nó tạo ra tín hiệu mua khi đường MA nhanh đi qua VWAP và đường MA chậm từ phía dưới và đường MA nhanh đi qua VWAP và đường MA chậm từ phía trên.
Chiến lược này kết hợp các ưu điểm của đường trung bình di chuyển và giá trung bình trọng lượng giao dịch. Đường trung bình di chuyển có thể lọc hiệu quả tiếng ồn thị trường, đánh giá xu hướng. Đường trung bình trọng lượng giao dịch có thể phản ánh chính xác hơn ý định của các nhà đầu tư lớn.
Chiến lược này kết hợp các lợi thế của moving average và VWAP, nhận ra các tín hiệu chéo bằng cách lọc kép, kết hợp với cơ chế dừng lỗ linh hoạt, có thể kiểm soát rủi ro một cách hiệu quả, là một chiến lược theo dõi xu hướng đáng được đề xuất.
/*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)