
Đây là một chiến lược mở vị trí giao dịch chéo đường ngang dựa trên đường trung bình di chuyển 5 ngày ((MA5). Ý tưởng chính của chiến lược này là: mở vị trí ở một khoảng cách nhất định trên hoặc dưới MA5 và đóng cửa khi giá đóng cửa cao hơn giá mở cửa hoặc trở lại giá mở cửa. Chiến lược này được thiết kế để nắm bắt xu hướng ngắn hạn trong khi kiểm soát rủi ro.
Chiến lược này sử dụng đường trung bình di chuyển đơn giản 5 ngày ((SMA) làm chỉ số chính. Thực hiện trường hợp mua khi giá mở cửa trên MA5 trên biểu đồ mới; thực hiện trường hợp mua khi giá mở cửa dưới MA5 và cách MA5 hơn 0.002; thực hiện trường hợp bán khi giá mở cửa cao hơn giá mở cửa hoặc bằng giá mở cửa; thực hiện trường hợp bán khi giá mở cửa thấp hơn 0.1% giá mở cửa.
Chiến lược mở vị trí giao dịch chéo hai đường bằng nhau là một chiến lược đơn giản dựa trên xu hướng ngắn hạn. Bằng cách đi lên và xuống của MA5 và thiết lập khoảng cách từ ngưỡng, có thể nắm bắt cơ hội xu hướng ngắn hạn. Đồng thời, dừng tỷ lệ cố định có thể kiểm soát rủi ro. Tuy nhiên, chiến lược này cũng có một số hạn chế, chẳng hạn như phụ thuộc vào một chỉ số duy nhất, giao dịch thường xuyên.
/*backtest
start: 2023-04-24 00:00:00
end: 2024-04-29 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("YBS Strategy 1.1", overlay=true)
// Moving Average Settings
ma5 = ta.sma(close, 5)
// Scenario 1: Buy when a new candle opens above the MA5
buy_condition_scenario1 = open > ma5
// Scenario 2: Buy when a new candle opens below the MA5 and is at a significant distance from the MA5
distance_from_ma5 = open - ma5
buy_condition_scenario2 = open < ma5 and distance_from_ma5 > 0.002 // Define distance in points here
// Sell: Sell at the close of the candle if it's positive above the entry price, or if the price returns to the entry price
sell_condition_scenario1 = close > strategy.position_avg_price or close == strategy.position_avg_price
sell_condition_scenario2 = close <= strategy.position_avg_price * 0.999 // Close if price drops more than 0.1% from entry price
// Execute buy and sell orders
if (buy_condition_scenario1 and not (strategy.opentrades > 0))
strategy.entry("Buy Scenario 1", strategy.long)
if (buy_condition_scenario2 and not (strategy.opentrades > 0))
strategy.entry("Buy Scenario 2", strategy.long)
if (sell_condition_scenario1)
strategy.close("Buy Scenario 1")
if (sell_condition_scenario2)
strategy.close("Buy Scenario 2")