Chiến lược theo xu hướng EMA ba đánh giá hướng xu hướng giá bằng cách tính toán các đường EMA của các giai đoạn khác nhau và theo dõi xu hướng tự động.
Chiến lược này tính toán ba đường EMA với các khoảng thời gian khác nhau, cụ thể là đường EMA 10 giai đoạn, 20 giai đoạn và 30 giai đoạn.
Lý thuyết cốt lõi là đánh giá sự nhất quán hướng của ba đường EMA. Nếu cả ba đường EMA tăng cùng nhau, một tín hiệu dài được tạo ra. Nếu cả ba đường rơi cùng nhau, một tín hiệu ngắn được tạo ra.
Cụ thể, nếu ema1, ema2 và ema3 đều tăng trong thanh cuối cùng, enter_long trở thành true và một tín hiệu dài được tạo ra. Nếu ema1, ema2 và ema3 đều rơi vào thanh cuối cùng, enter_short trở thành true và một tín hiệu ngắn được tạo ra.
Dựa trên tín hiệu dài và ngắn, chiến lược sẽ mở các vị trí dài và ngắn tương ứng. Logic exit ngược lại với tín hiệu entry. Nếu ema1, ema2 và ema3 không tăng cùng nhau trong thanh hiện tại, exit_long trở thành true và vị trí dài sẽ được đóng. Nếu ema1, ema2 và ema3 không rơi cùng nhau trong thanh hiện tại, exit_short trở thành true và vị trí short sẽ được đóng.
Bằng cách đánh giá sự nhất quán hướng của ba đường EMA, xu hướng tổng thể có thể được xác định và theo dõi.
Sử dụng ba đường EMA có thể đánh giá hướng xu hướng một cách đáng tin cậy hơn so với một đường đơn lẻ.
EMA nhạy cảm hơn với sự thay đổi giá và có thể phản ánh sự đảo ngược xu hướng theo thời gian.
Sự kết hợp của các EMA giai đoạn khác nhau xem xét cả xu hướng ngắn hạn và trung dài hạn. 10 giai đoạn EMA cho ngắn hạn, 20 và 30 giai đoạn EMA cho xu hướng trung dài hạn.
Chiến lược logic là đơn giản và dễ hiểu, phù hợp cho người mới bắt đầu.
Chiến lược chỉ dựa trên các đường EMA, đòi hỏi ít tài nguyên hơn và phù hợp với sự đồng thời cao.
Sự nhất quán hướng đường EMA là cần thiết nhưng không đủ để đánh giá xu hướng.
Các đường EMA chậm trễ trong việc đảo ngược xu hướng, không thể phản ánh các điểm chuyển đổi trong thời gian, có thể gây ra tổn thất.
EMA rất nhạy cảm với sự thay đổi giá, thường xuyên chuyển đổi vị trí ngắn dài có thể làm tăng chi phí giao dịch.
Chiến lược này không hiệu quả trong thị trường biến động, biến động, nơi các đường EMA dao động thường xuyên.
Có thể tối ưu hóa sự khác biệt khoảng thời gian EMA để giảm tín hiệu sai hoặc thêm các chỉ số khác để lọc các đột phá giả.
Thêm các chỉ số động lực để xác nhận xu hướng thực sự và xác định các điểm chuyển đổi, giảm lỗ.
Tăng thời gian EMA để giảm tần suất chuyển vị trí hoặc sử dụng các chỉ số MA khác.
Dừng chiến lược khi thị trường dao động được xác định, tránh giao dịch không cần thiết.
Điều chỉnh thời gian: Điều chỉnh thời gian EMA để thích nghi với các công cụ khác nhau.
Thêm bộ lọc: Thêm MA, BOLL v.v. để tránh EMA giả mạo.
Dừng lỗ: dừng lại để khóa lợi nhuận.
Quản lý rủi ro: Tối ưu hóa kích thước vị trí để hạn chế tác động của lỗ duy nhất.
Chế độ thị trường: Sử dụng biến động để đánh giá dao động và kiểm soát sự tham gia chiến lược.
Các thông số thích nghi: Tự động tối ưu hóa các khoảng thời gian EMA dựa trên những thay đổi của thị trường để cải thiện độ bền.
Three EMA theo xu hướng chiến lược giao dịch bằng cách xác định hướng xu hướng thông qua đường EMA. Nó đơn giản và thực tế với không gian tối ưu hóa lớn. Những rủi ro như đột phá sai và dao động nên được lưu ý. Với tối ưu hóa liên tục, chiến lược này có thể trở thành một giải pháp mạnh mẽ theo xu hướng.
/*backtest start: 2023-10-10 00:00:00 end: 2023-11-09 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/ // © QuantCT //@version=4 strategy("PMA Strategy Idea", shorttitle="PMA", overlay=true, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=1000, commission_type=strategy.commission.percent, commission_value=0.075) // ____ Inputs ema1_period = input(title="EMA1 Period", defval=10) ema2_period = input(title="EMA2 Period", defval=20) ema3_period = input(title="EMA3 Period", defval=30) long_only = input(title="Long Only", defval=false) slp = input(title="Stop-loss (%)", minval=1.0, maxval=25.0, defval=5.0) use_sl = input(title="Use Stop-Loss", defval=false) // ____ Logic ema1 = ema(hlc3, ema1_period) ema2 = ema(hlc3, ema2_period) ema3 = ema(hlc3, ema3_period) enter_long = (rising(ema1, 1) and rising(ema2, 1) and rising(ema3, 1)) exit_long = not enter_long enter_short = (falling(ema1, 1) and falling(ema2, 1) and falling(ema3, 1)) exit_short = not enter_short strategy.entry("Long", strategy.long, when=enter_long) strategy.close("Long", when=exit_long) if (not long_only) strategy.entry("Short", strategy.short, when=enter_short) strategy.close("Short", when=exit_short) // ____ SL sl_long = strategy.position_avg_price * (1- (slp/100)) sl_short = strategy.position_avg_price * (1 + (slp/100)) if (use_sl) strategy.exit(id="SL", from_entry="Long", stop=sl_long) strategy.exit(id="SL", from_entry="Short", stop=sl_short) // ____ Plots colors = enter_long ? #27D600 : enter_short ? #E30202 : color.orange ema1_plot = plot(ema1, color=colors) ema2_plot = plot(ema2, color=colors) ema3_plot = plot(ema3, color=colors) fill(ema1_plot, ema3_plot, color=colors, transp=50)