Tài nguyên đang được tải lên... tải...

EMA Double Crossover Fixed Risk Stop Loss/Take Profit

Tác giả:ChaoZhang, Ngày: 2024-05-14 15:48:48
Tags:EMASMABTC

img

Tổng quan

Chiến lược này sử dụng cách tiếp cận chéo EMA kép như tín hiệu giao dịch, với EMA nhanh có khoảng thời gian 65 và EMA chậm có khoảng thời gian 240. Nó cũng sử dụng khối lượng như một điều kiện lọc, chỉ thực hiện giao dịch khi khối lượng hiện tại vượt quá ngưỡng xác định. Chiến lược đặt số tiền rủi ro cố định (10 đô la) cho mỗi giao dịch và tính toán kích thước vị trí theo quy mô động dựa trên số tiền rủi ro. Khi EMA nhanh vượt qua EMA chậm và điều kiện khối lượng được đáp ứng, nó đi vào một vị trí dài. Ngược lại, khi EMA nhanh vượt qua dưới EMA chậm và điều kiện khối lượng được đáp ứng, nó đi vào một vị trí ngắn. Mức dừng lỗ và lấy lợi nhuận được đặt dựa trên khoảng cách giá cố định, với mức lỗ đặt dưới mức giá nhập và mức lợi nhuận được đặt trên mức giá nhập $ 1500 cho các vị trí dài, và ngược lại cho các vị trí ngắn.

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

  1. Tính toán hai đường EMA: đường EMA nhanh (ema_fast) với khoảng 65 và đường EMA chậm (ema_slow) với khoảng 240.
  2. Xác định xem có xảy ra giao thoa tăng (bullish_crossover) hoặc giao thoa giảm (bearish_crossover) không.
  3. Đặt ngưỡng khối lượng (volume_threshold) và chỉ thực hiện giao dịch khi khối lượng hiện tại vượt quá ngưỡng này.
  4. Đặt số tiền rủi ro cố định (risk_per_trade) là $ 10 cho mỗi giao dịch.
  5. Tính toán kích thước vị trí (position_size) dựa trên số tiền rủi ro và khoảng cách dừng lỗ (stop_loss_distance).
  6. Khi một giao thoa tăng xảy ra và điều kiện khối lượng được đáp ứng, nhập vào một vị trí dài với mức dừng lỗ đặt dưới giá nhập 100 và mức lợi nhuận đặt trên giá nhập 1500 đô la.
  7. Khi xảy ra sự giao thoa giảm và điều kiện khối lượng được đáp ứng, hãy nhập vào một vị trí ngắn với mức dừng lỗ được đặt ở mức 100 đô la trên giá nhập cảnh và mức lợi nhuận được đặt ở mức 1500 đô la dưới giá nhập cảnh.

Ưu điểm chiến lược

  1. Cách tiếp cận chéo EMA kép có thể nắm bắt hiệu quả xu hướng thị trường, với sự kết hợp khoảng thời gian 65/240 lọc hầu hết tiếng ồn và tập trung vào các xu hướng chính.
  2. Việc giới thiệu điều kiện lọc khối lượng giúp tránh giao dịch trong thời gian có khối lượng thấp, giảm rủi ro biến động thị trường.
  3. Phương pháp định giá vị trí với số tiền rủi ro cố định kiểm soát hiệu quả rủi ro của mỗi giao dịch, ngăn ngừa tổn thất quá mức từ một giao dịch duy nhất.
  4. Các thiết lập dừng lỗ và lấy lợi nhuận năng động dựa trên khoảng cách giá cho phép tiềm năng lợi nhuận lớn hơn tiềm năng lỗ, cải thiện hiệu suất dài hạn của chiến lược.
  5. Thích hợp cho các công cụ biến động cao như BTC/USD, cho phép chiến lược nắm bắt đầy đủ các cơ hội đầu tư phát sinh từ biến động giá.

Rủi ro chiến lược

  1. Là một chỉ số theo xu hướng, EMA có thể chậm phát hiện sự đảo ngược xu hướng, có khả năng dẫn đến việc nhập hoặc thoát chậm.
  2. Số tiền rủi ro cố định có thể không thích nghi năng động với điều kiện biến động thị trường, dẫn đến hiệu suất kém tối ưu trong các biến động thị trường cực đoan (ví dụ: tăng hoặc giảm mạnh).
  3. Việc thiết lập ngưỡng khối lượng liên quan đến một mức độ chủ quan nhất định, và việc thiết lập ngưỡng không đúng có thể ảnh hưởng đến hiệu quả của chiến lược.
  4. Các mức dừng lỗ cố định và lấy lợi nhuận có thể không phù hợp với sự biến động thị trường thực tế, dẫn đến việc dừng hoặc lấy lợi nhuận thường xuyên.
  5. Chiến lược có thể hoạt động kém trong thị trường hỗn loạn, với các giao dịch chéo thường xuyên có khả năng dẫn đến các giao dịch thua lỗ liên tiếp.

Hướng dẫn tối ưu hóa chiến lược

  1. Xem xét việc đưa ra nhiều kết hợp EMA như điều kiện lọc, chẳng hạn như kết hợp EMA trung hạn để xây dựng một hệ thống đa EMA để cải thiện độ tin cậy tín hiệu.
  2. Tối ưu hóa cách tiếp cận kích thước vị trí, chẳng hạn như áp dụng phương pháp rủi ro tỷ lệ phần trăm hoặc tiêu chí Kelly để điều chỉnh động các vị trí dựa trên các trạng thái thị trường khác nhau.
  3. Thực hiện tối ưu hóa tham số trên ngưỡng khối lượng để tìm ra cài đặt ngưỡng tối ưu để tăng tính ổn định chiến lược.
  4. Tối ưu hóa các thiết lập mức dừng lỗ và lợi nhuận, điều chỉnh chúng trong thời gian thực dựa trên các điều kiện biến động thị trường mới nhất để tăng tính linh hoạt và khả năng thích nghi với thị trường.
  5. Kết hợp một số thành phần phòng ngừa rủi ro nhất định vào phương pháp theo xu hướng, chẳng hạn như sử dụng các chỉ số chống xu hướng như PSAR để hỗ trợ đánh giá dao động thị trường và cải thiện khả năng xử lý thị trường hỗn loạn của chiến lược.

Tóm lại

Chiến lược này sử dụng một đường chéo EMA kép 65/240 làm cơ sở cho việc xác định xu hướng, kết hợp với điều kiện lọc khối lượng để cải thiện độ tin cậy tín hiệu. Việc định kích thước vị trí rủi ro cố định và cài đặt giá dừng lỗ / lấy lợi nhuận cố định có thể kiểm soát rủi ro đến một mức độ nhất định và nghiêng tỷ lệ rủi ro-lợi nhuận theo hướng thuận lợi. Tuy nhiên, chiến lược cũng phải đối mặt với các vấn đề như phát hiện xu hướng tương đối chậm, không đủ linh hoạt trong định kích thước vị trí và thiếu điều chỉnh năng động cho mức dừng lỗ và lấy lợi nhuận.


/*backtest
start: 2024-05-06 00:00:00
end: 2024-05-13 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA Crossover Strategy with 1:3 RR, Volume Filter, and Custom Stop Loss/Take Profit (BTC)", overlay=true, currency="USD", initial_capital=100)

// Define EMA lengths
ema_length_fast = 65
ema_length_slow = 240

// Calculate EMAs
ema_fast = ta.ema(close, ema_length_fast)
ema_slow = ta.ema(close, ema_length_slow)

// Define crossover conditions
bullish_crossover = ta.crossover(ema_fast, ema_slow)
bearish_crossover = ta.crossunder(ema_fast, ema_slow)

// Plot EMAs
plot(ema_fast, color=color.blue, title="Fast EMA")
plot(ema_slow, color=color.red, title="Slow EMA")

// Define volume filter
volume_threshold = 1000 // Adjust as needed

// Define risk amount per trade
risk_per_trade = 0.5 // $10 USD

// Calculate position size based on risk amount
stop_loss_distance = 100
take_profit_distance = 1500
position_size = risk_per_trade / syminfo.mintick / stop_loss_distance

// Execute trades based on crossovers and volume filter
if (bullish_crossover and volume > volume_threshold)
    strategy.entry("Buy", strategy.long, qty=position_size)
    strategy.exit("Exit", "Buy", stop=close - stop_loss_distance, limit=close + take_profit_distance)
if (bearish_crossover and volume > volume_threshold)
    strategy.entry("Sell", strategy.short, qty=position_size)
    strategy.exit("Exit", "Sell", stop=close + stop_loss_distance, limit=close - take_profit_distance)


Có liên quan

Thêm nữa