Chiến lược di chuyển lợi nhuận và dừng lỗ dựa trên EMA200


Ngày tạo: 2024-01-08 15:50:52 sửa đổi lần cuối: 2024-01-08 15:50:52
sao chép: 0 Số nhấp chuột: 852
1
tập trung vào
1617
Người theo dõi

Chiến lược di chuyển lợi nhuận và dừng lỗ dựa trên EMA200

Tổng quan

Chiến lược dừng di động dựa trên EMA200 Chiến lược dừng di động dựa trên EMA200 là một chiến lược giao dịch dựa trên EMA200 kết hợp với các cơ chế dừng di động và dừng di động. Chiến lược này sử dụng EMA200 để đánh giá hướng xu hướng tổng thể, chỉ làm nhiều hoặc không ở hướng xu hướng, đồng thời sử dụng chỉ số ATR để tính toán điểm dừng và dừng hợp lý để thực hiện dừng di động và dừng di động.

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

Chiến lược này đầu tiên tính toán EMA 200 chu kỳ, như là một chỉ số để đánh giá xu hướng tổng thể. Chỉ làm nhiều khi giá cao hơn EMA200 và làm rỗng khi giá thấp hơn EMA200, để đảm bảo chỉ hoạt động theo hướng xu hướng.

Sau khi tham gia, chiến lược sử dụng chỉ số ATR để tính toán mức tăng dừng và dừng hợp lý, được thêm vào các điểm cao nhất và thấp nhất, tạo thành đường lên và đường xuống. Khi giá vượt quá đường lên, dừng lại trên nhiều đơn; Khi giá giảm xuống đường, dừng lại trên đơn trống.

Phân tích lợi thế

Lợi thế lớn nhất của chiến lược này là sử dụng EMA200 để đánh giá xu hướng và tránh hoạt động đảo ngược. Đồng thời, điểm dừng lỗ sẽ theo dõi sự điều chỉnh giá, dừng lỗ kịp thời và kiểm soát rủi ro hiệu quả.

Ngoài ra, ATR Stop Stop là đánh giá về sự biến động của thị trường, có thể thiết lập các điểm dừng hợp lý, không quá yếu hoặc cực đoan. Nó có lợi thế hơn so với Stop Stop Stop.

Nhìn chung, chiến lược này kết hợp xu hướng và dừng lỗ, nhằm tối đa hóa lợi nhuận và kiểm soát rủi ro, là một chiến lược cân bằng.

Phân tích rủi ro

Rủi ro chính của chiến lược này là EMA200 có thể không hoàn toàn xác định được xu hướng chính xác và giá có thể tạo ra một đợt phá vỡ giả. Nếu không cẩn thận tham gia vào hướng không theo xu hướng, có thể gây thiệt hại lớn.

Ngoài ra, mặc dù có một số cơ sở khoa học và lợi thế, nhưng ATR có thể vượt quá phạm vi dao động bình thường. Tại thời điểm này, có thể bị rút ra và không thể kiếm được lợi nhuận.

Để giảm thiểu những rủi ro này, bạn có thể xem xét kết hợp với các chỉ số khác để xác nhận xu hướng và biến động, chẳng hạn như đường Brin, RSI, v.v., để tránh tín hiệu sai. Ngoài ra, bạn cũng có thể nới lỏng phạm vi dừng lỗ một cách thích hợp, nhưng không quá nới lỏng.

Tối ưu hóa chiến lược

Chiến lược này có thể được tối ưu hóa theo các khía cạnh sau:

  1. Chu kỳ EMA có thể được điều chỉnh thành 100 hoặc 150 chu kỳ, tìm kiếm các tiêu chuẩn phán đoán xu hướng ổn định hơn.

  2. Các tham số ATR có thể được tối ưu hóa để tìm các đại diện biến động thị trường hợp lý hơn.

  3. Các chỉ số khác như đường Brin có thể được thêm vào để hỗ trợ xác định xu hướng và biến động.

  4. Hạn chế dừng lỗ có thể được điều chỉnh thành số lượng ATR, chẳng hạn như 2 hoặc 3 lần ATR, cho phép dừng lỗ linh hoạt hơn.

  5. Có thể thêm cơ chế tái nhập, tức là giá trở lại xu hướng sau khi dừng lại.

Bằng cách thử nghiệm các tham số khác nhau, chọn tham số tốt hơn; đưa ra phán đoán về các chỉ số khác; tối ưu hóa cơ chế dừng lỗ, các phương pháp có thể cải thiện đáng kể sự ổn định và khả năng lợi nhuận của chiến lược.

Tóm tắt

Chiến lược dừng chân di động dựa trên chiến lược dừng chân di động của EMA200, bằng cách đánh giá xu hướng tổng thể của EMA, ATR tính toán dừng lỗ hợp lý để kiểm soát rủi ro, là một chiến lược giao dịch cân bằng. Chiến lược này có lợi thế trong việc đánh giá xu hướng, dừng chân di động và kiểm soát rủi ro, nhưng cũng có một số rủi ro phá vỡ giả định.

Mã nguồn chiến lược
/*backtest
start: 2023-12-08 00:00:00
end: 2024-01-07 00:00:00
period: 1h
basePeriod: 15m
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/
// © ozgurhan

//@version=5
strategy("EMA 200 Based Trailing Take Profit", overlay=true, margin_long=100, margin_short=100, default_qty_value=1, initial_capital=100)

// EMA 200 tanımı
ema200 = ta.ema(close, 200)

// Orijinal long ve short koşulları
longConditionOriginal = ta.crossover(ta.sma(close, 14), ta.sma(close, 28))
shortConditionOriginal = ta.crossunder(ta.sma(close, 14), ta.sma(close, 28))

// EMA 200'ün üzerinde ve altında long ve short koşulları
longCondition = longConditionOriginal and close > ema200
shortCondition = shortConditionOriginal and close < ema200

if longCondition
    strategy.entry("Long", strategy.long, comment="Long", alert_message="Long")

if shortCondition
    strategy.entry("Short", strategy.short, comment="Short", alert_message="Short")

atr_length=input.int(7, title="ATR Length")
atr_multiplier = input.float(1.5, title="ATR Multiplier")
atr_multiplied = atr_multiplier * ta.atr(atr_length)
ttp_top_bracket = strategy.position_size > 0 ? high[1] + atr_multiplied : na
ttp_bottom_bracket = strategy.position_size < 0 ? low[1] - atr_multiplied : na

plot(ttp_top_bracket, title="TTP Top Bracket", color=color.lime, style=plot.style_linebr, offset=1)
plot(ttp_bottom_bracket, title="TTP Bottom Bracket", color=color.red, style=plot.style_linebr, offset=1)

strategy.exit("Close Long", from_entry="Long", limit=ttp_top_bracket, alert_message="Close Long")
strategy.exit("Close Short", from_entry="Short", limit=ttp_bottom_bracket, alert_message="Close Short")