
Chiến lược này là một chiến lược theo dõi xu hướng dựa trên đường trung bình. Nó sử dụng đường trung bình EMA của hai chu kỳ khác nhau, tức là đường trung bình EMA của chu kỳ 21 và chu kỳ 55.
Ngoài ra, chiến lược này còn kết hợp mua bán ngược, ATR Stop Loss và Reverse Stop Stop để tăng tính ổn định và lợi nhuận của chiến lược.
Sử dụng hai đường trung bình EMA 21 chu kỳ và 55 chu kỳ. 21 EMA đại diện cho xu hướng ngắn hạn, 55 EMA đại diện cho xu hướng dài hạn.
Khi đường EMA ngắn xuyên qua đường EMA dài, nó sẽ cho thấy xu hướng ngắn chuyển sang xu hướng tăng, tạo ra tín hiệu mua.
Khi EMA ngắn hạn vượt qua EMA dài, nó sẽ chuyển sang xu hướng giảm, tạo ra tín hiệu bán.
Giao dịch mua bán ngược: chỉ tạo ra tín hiệu mua khi giá thấp hơn giá mở và chỉ tạo ra tín hiệu bán khi giá lớn hơn giá mở. Đây là để mua khi điều chỉnh ngắn hạn và bán khi hồi phục ngắn hạn, để kiếm lợi nhuận.
ATR Stop: Sử dụng N lần của chỉ số ATR để thiết lập điểm dừng. Điều này có thể thay đổi động theo biến động của thị trường.
Trạm dừng quay ngược: sử dụng giá mua trừ ATR N lần như là một điểm dừng. Đây là một điểm dừng bằng cách sử dụng tính năng hỗ trợ kháng cự quay trước khi kiểm tra lại giá.
Sử dụng hai EMA để đánh giá xu hướng chính, có thể bắt được xu hướng đường dài và đường trung.
Giao dịch ngược, thích hợp cho hoạt động ngắn hạn của xu hướng.
ATR dừng lỗ, có thể dừng lỗ theo cài đặt biến động thị trường.
Chặn quay ngược, đặt gần các điểm kỹ thuật quan trọng, tăng khả năng chặn.
Lập luận của chiến lược đơn giản, rõ ràng, dễ hiểu và sửa đổi.
Có thể sử dụng tiền kỹ thuật số trong các thị trường có biến động cao.
Giai đoạn trung bình của hai đường EMA có khả năng tạo ra tín hiệu sai và có thể kéo dài một cách thích hợp.
Giao dịch ngược dễ bị dừng lỗ và có thể điều chỉnh dừng lỗ một cách dễ dàng hơn.
Thị trường thường có các đợt phá vỡ giả mạo, có thể thêm các tín hiệu lọc cho các chỉ số khác.
Có nguy cơ cao, có thể loại bỏ bằng tay.
Thêm MACD, KD và các chỉ số khác để đánh giá khu vực quá mua quá bán, lọc thời gian vào thị trường.
Thêm nhiều đường trung bình, chẳng hạn như 120 chu kỳ EMA, tổng hợp xu hướng phán đoán.
Cài đặt điểm trượt cho mua và bán, tối ưu hóa giá vào.
Với tính năng biến động cao của tiền kỹ thuật số, mức dừng lỗ ATR có thể được nới lỏng thích hợp.
Tối ưu hóa hệ số ATR và phương án dừng chân di động để có được lợi nhuận tối đa và rút lại tối thiểu.
Chiến lược này nói chung là một chiến lược đường trung bình đơn giản của hai EMA, ý tưởng cốt lõi là sử dụng EMA để đánh giá xu hướng. Ưu điểm của chiến lược là logic đơn giản, điều chỉnh tham số linh hoạt, có thể áp dụng cho xu hướng đường dài và đường ngắn. Chúng tôi cũng phân tích các rủi ro và phương pháp đối phó có thể có trong chiến lược này, và một số điểm tối ưu hóa trong tương lai.
/*backtest
start: 2022-11-21 00:00:00
end: 2023-11-27 00:00:00
period: 1d
basePeriod: 1h
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/
// © TheHulkTrading
// Simple EMA strategy, based on ema55+ema21 and ATR(Average True Range) and it enters a deal from ema55 when the other entry conditions are met
//@version=4
strategy("Simple Ema_ATR Strategy HulkTrading", overlay=true)
atr_multiplier = input(2, minval=1, title="ATR Multiplier") // ATR Multiplier. Recommended values between 1..4
emaFast=ema(close,21)
emaSlow=ema(close,55)
//Basically long and short conditions
//If long:
// 1) close must be less than open (because we are searching for a pullback)
// 2) emaFast(21) must be bigger than emaSlow(55) - for a trend detection
// 3) Difference between emaFast and emaSlow must be greater than ATR(14) - for excluding flat
longCond = close < open and emaFast > emaSlow and abs(emaSlow-emaFast) > atr(14)
//For short conditions are opposite
shortCond = close > open and emaFast < emaSlow and abs(emaSlow-emaFast) > atr(14)
//Stop levels and take profits, based on ATR multiplier
stop_level_long = strategy.position_avg_price - atr_multiplier*atr(14)
take_level_long = strategy.position_avg_price + atr_multiplier*atr(14)
stop_level_short = strategy.position_avg_price + atr_multiplier*atr(14)
take_level_short = strategy.position_avg_price - atr_multiplier*atr(14)
//Entries and exits
strategy.entry("Long", strategy.long, when=longCond, limit = emaSlow)
strategy.exit("Stop Loss/TP","Long", stop=stop_level_long, limit = take_level_long)
strategy.entry("Short", strategy.short, when=shortCond, limit = emaSlow)
strategy.exit("Stop Loss/TP","Short", stop=stop_level_short, limit = take_level_short)