Chiến lược tăng giá dài hạn dựa trên sự giao nhau của đường trung bình động


Ngày tạo: 2024-02-04 14:56:00 sửa đổi lần cuối: 2024-02-04 14:56:00
sao chép: 1 Số nhấp chuột: 613
1
tập trung vào
1617
Người theo dõi

Chiến lược tăng giá dài hạn dựa trên sự giao nhau của đường trung bình động

Tổng quan

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í.

Nguyên tắc chiến lược

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ỗ.

Lợi thế chiến lược

  • Sử dụng chỉ số SMA để xác định thời gian nhập cảnh, loại bỏ tiếng ồn thị trường ngắn hạn, và nắm bắt xu hướng đường dài và đường trung bình.
  • Các tham số chu kỳ có thể điều chỉnh, có thể điều chỉnh chu kỳ để thích ứng với các trường hợp của các băng tần khác nhau.
  • Cơ chế quản lý rủi ro tốt, có thể kiểm soát tổn thất đơn lẻ bằng cách điều chỉnh tỷ lệ lỗ.
  • Nó đơn giản, dễ hiểu và phù hợp với người mới bắt đầu giao dịch số lượng.

Rủi ro và giải pháp

  • Tín hiệu giao chéo SMA có thể bị phá vỡ giả, dẫn đến tổn thất không cần thiết. Có thể kết hợp với tín hiệu lọc của các chỉ số khác.
  • Vị trí dừng lỗ là đơn lẻ, có thể xảy ra trường hợp dừng dự kiến nhưng thiệt hại thực tế. Bạn có thể xem xét theo dõi động điểm dừng lỗ.
  • Tỷ lệ lỗ hổng là thiết lập cố định, không thể điều chỉnh theo biến động của thị trường. Tỷ lệ lỗ hổng có thể được kết hợp với thiết lập động của chỉ số ATR.
  • Có một số vấn đề về độ trễ thời gian. Bạn có thể xem xét giảm tham số chu kỳ của SMA hoặc giới thiệu các chỉ số tiên phong khác.

Hướng tối ưu hóa

  • Thêm các chỉ số khác để lọc tín hiệu chéo SMA, tránh phá vỡ giả. Ví dụ: chỉ số KDJ, chỉ số tỷ lệ dao động, v.v.
  • Động thái theo dõi điểm dừng lỗ. Ví dụ, sử dụng thuật toán Chandelier Exit.
  • Sử dụng chỉ số ATR để điều chỉnh tỷ lệ lợi nhuận / lỗ theo biến động của thị trường.
  • Giảm chu kỳ SMA hoặc giới thiệu các chỉ số tiên phong khác để giảm sự chậm trễ.

Tóm tắt

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.

Mã nguồn chiến lược
/*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)