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

Tất cả về ATR và EMA dựa trên xu hướng sau chiến lược

Tác giả:ChaoZhang, Ngày: 2024-02-23 14:34:24
Tags:

img

Tổng quan

Ý tưởng cốt lõi của chiến lược này là sử dụng phạm vi biến động giá được tính toán bởi chỉ số ATR để đánh giá sự đột phá giá, và chỉ số EMA để đánh giá hướng xu hướng tổng thể, để đạt được xu hướng sau khi giao dịch. Khi giá vượt qua giới hạn trên hoặc dưới của phạm vi ATR, nếu hướng đột phá phù hợp với hướng EMA, hãy có các vị trí dài hoặc ngắn. Điều kiện đóng cửa là giá sẽ vượt qua phạm vi ATR một lần nữa.

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

Đầu tiên, chiến lược này sử dụng chỉ số ATR để tính phạm vi biến động giá trong một khoảng thời gian nhất định. Biên giới trên của phạm vi ATR là SMA + ATR, và giới hạn dưới là SMA-ATR. Trong đó SMA đại diện cho trung bình động đơn giản của giá đóng trong ngày, và ATR đại diện cho Trung bình phạm vi thực sự.

Khi giá vượt qua giới hạn trên hoặc dưới của phạm vi ATR, một cơ hội giao dịch xảy ra. Tại thời điểm này, cần phải đánh giá hướng. Nếu đó là một bước đột phá tăng, đi dài. Nếu đó là một bước đột phá giảm, đi ngắn. Để đảm bảo hướng đột phá phù hợp với hướng xu hướng, chiến lược sử dụng chỉ số EMA để xác định hướng xu hướng tổng thể. Chỉ khi hướng đột phá phù hợp với hướng EMA, một vị trí sẽ được đưa ra.

Cuối cùng, chiến lược sử dụng giá vượt qua phạm vi ATR một lần nữa như là tín hiệu đóng cửa. Sau khi mua mua, đóng vị trí khi giá giảm xuống dưới giới hạn dưới; sau khi mua mua, đóng vị trí khi giá tăng lên trên giới hạn trên.

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

  1. Sử dụng chỉ số ATR để xác định sự đột phá có thể nắm bắt hiệu quả sự đột phá xu hướng giá.

  2. Thêm chỉ số EMA như một phán đoán hướng tránh giao dịch chống lại hướng xu hướng, có thể cải thiện đáng kể tỷ lệ lợi nhuận.

  3. Sử dụng giá phá vỡ trở lại trên phạm vi ATR như một phương pháp dừng lỗ có thể tối đa hóa kiểm soát rủi ro.

Rủi ro chiến lược

  1. Trong một thị trường biến động, phạm vi ATR có thể thường xuyên bị xâm nhập, điều này dễ dàng dẫn đến các giao dịch vô hiệu quá mức và tổn thất lớn hơn.

  2. EMA như một chỉ số để đánh giá xu hướng xu hướng có một số trễ. vì vậy nó có thể bỏ lỡ cơ hội cho sự đảo ngược giá ngắn hạn.

  3. Phương pháp dừng lỗ là giá phá vỡ trở lại trên phạm vi, có thể dễ dàng dẫn đến tổn thất mở rộng do các sự kiện đột ngột.

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

  1. Xem xét kết hợp các chỉ số khác để xác định xu hướng và giảm để tránh sai lầm đánh giá đơn lẻ của EMA. chẳng hạn như MACD, KDJ, v.v.

  2. Xem xét điều chỉnh các thông số ATR theo thời gian thực theo biến động thị trường để phạm vi ATR gần với biến động thực tế.

  3. Xem xét kết hợp phương pháp dừng lỗ chuyển động để điều chỉnh liên tục điểm dừng lỗ để tối đa hóa kiểm soát rủi ro của các lỗ đơn.

Tóm lại

Ý tưởng tổng thể của chiến lược này là rõ ràng, sử dụng chỉ số ATR để xác định sự đột phá giá và hợp tác với EMA để xác định hướng, nó có thể theo dõi hiệu quả xu hướng; Phương pháp dừng lỗ là đơn giản và dễ dàng hoạt động. Nhưng đồng thời, có một số rủi ro và không gian tối ưu hóa cần kiểm tra và điều chỉnh thêm. Nói chung, chiến lược này phù hợp với các nhà giao dịch xu hướng theo đuổi tỷ lệ thắng cao.


/*backtest
start: 2024-01-23 00:00:00
end: 2024-02-22 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © cwagoner78
//@version=4
strategy("cATRpillar", overlay=true)
//------------

//inputs
lookback = input(title="Periods", type=input.integer, defval=37)
atrMult = input(title="Range Multiplier", type=input.float, defval=.2)
takeProfit = input(title="Take Profit", type=input.float, defval=5000)
stopLoss = input(title="Stop Loss", type=input.float, defval=2500)
lots = input(title="Lots to Trade", type=input.float, defval=1)
//------------

//indicators
atr=atr(lookback)*atrMult
sma=sma(close, lookback)
ema=ema(close,lookback*2)
rangeLo=sma-atr
rangeHi=sma+atr
//------------

//draw objects
p0 =plot(close, title="Close", color=#26A69A, linewidth=0, transp=80,style=plot.style_stepline)
p1 =plot(rangeHi, title="High", color=color.fuchsia, linewidth=0, transp=80,style=plot.style_stepline)
p2 =plot(rangeLo, title="Low", color=color.lime, linewidth=0, transp=80,style=plot.style_stepline)
p3 =plot(ema, title="EMA", color=color.white, linewidth=0, transp=80, style=plot.style_stepline)
fill(p1, p0, color=color.fuchsia)
fill(p0, p2, color=color.lime)
//------------

//Trading
atrShort=open[1] > rangeHi and open < rangeLo
atrLong=open[1] < rangeLo and open > rangeHi
exitLong=open>rangeLo
exitShort=open<rangeHi

//Long
longCondition=atrLong and open>ema+atr
strategy.entry(id="cATRpillar-Buy", long=true, when=longCondition)
longCloseCondition=exitLong
strategy.exit(id="cATRpillar-Exit", qty=lots, profit=takeProfit, loss=stopLoss, when=longCloseCondition)

//Short
shortCondition=atrShort and open<ema-atr
strategy.entry(id="cATRpillar-Sell", long=false, when=shortCondition)
shortCloseCondition=exitShort
strategy.exit(id="cATRpillar-Exit",  qty=lots, profit=takeProfit, loss=stopLoss, when=shortCloseCondition)

plotshape(shortCondition,  title= "Short", location=location.belowbar, color=color.fuchsia, transp=80, style=shape.triangledown, size=size.tiny)
plotshape(longCondition,  title= "Long", location=location.abovebar, color=color.lime, transp=80, style=shape.triangleup, size=size.tiny)
//------------







Thêm nữa