
Chiến lược này là một chiến lược theo dõi đường dài dựa trên đường trung bình di chuyển đơn giản (SMA). Nó tính toán SMA của các chu kỳ khác nhau, tạo ra tín hiệu mua khi đeo SMA dài trên SMA ngắn hạn, thực hiện hoạt động theo dõi. Đồng thời, nó cũng sẽ thiết lập điểm dừng lỗ dựa trên tỷ lệ nhất định của giá nhập, quản lý rủi ro cho vị trí.
Chiến lược này chủ yếu dựa trên tín hiệu giao chéo kim cương của chỉ số SMA để đánh giá thời gian đi vào thị trường. Cụ thể, nó tính toán SMA của hai chu kỳ khác nhau là đường 9 và đường 21.
Ngoài ra, chiến lược cũng sẽ thiết lập các vị trí dừng và dừng lỗ động theo tỷ lệ 1,5% và 1% của giá nhập. Đó là, vị trí dừng sẽ cao hơn 1,5% so với giá nhập và vị trí dừng sẽ thấp hơn 1% so với giá nhập. Bằng cách này, bạn có thể quản lý rủi ro của vị trí đặt tỷ lệ thua lỗ.
Chiến lược này là một chiến lược theo dõi đường dài trung bình dựa trên SMA chéo. Nó sử dụng chỉ số SMA để đánh giá xu hướng thị trường, thiết lập rủi ro kiểm soát dừng lỗ. Ưu điểm là đơn giản, dễ dàng và phù hợp cho người mới bắt đầu giao dịch định lượng.
/*backtest
start: 2023-01-28 00:00:00
end: 2024-02-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Masterdata
//@version=5
strategy("Simple MA Crossover Long Strategy v5", overlay=true)
// Define the short and long moving averages
shortMa = ta.sma(close, 9)
longMa = ta.sma(close, 21)
// Plot the moving averages on the chart
plot(shortMa, color=color.green)
plot(longMa, color=color.orange)
// Generate a long entry signal when the short MA crosses over the long MA
longCondition = ta.crossover(shortMa, longMa)
if (longCondition)
strategy.entry("Long", strategy.long)
// Define the take profit and stop loss as a percentage of the entry price
takeProfitPerc = 1.5 / 100 // Take profit at 1.5% above entry price
stopLossPerc = 1.0 / 100 // Stop loss at 1.0% below entry price
// Calculate the take profit and stop loss price levels dynamically
takeProfitLevel = strategy.position_avg_price * (1 + takeProfitPerc)
stopLossLevel = strategy.position_avg_price * (1 - stopLossPerc)
// Set the take profit and stop loss for the trade
if (longCondition)
strategy.exit("Take Profit/Stop Loss", "Long", limit=takeProfitLevel, stop=stopLossLevel)