Chiến lược này sử dụng EMA để xác định hướng xu hướng và khôi phục Fibonacci để tự động xác định các điểm đảo ngược, nhằm mục đích bán cao và mua thấp bằng cách bắt xu hướng.
Sử dụng EMA 9 ngày và EMA 21 ngày Golden Cross và Death Cross để xác định hướng xu hướng.
Thực hiện sự thay đổi Fibonacci thích nghi với 100 giai đoạn để tự động xác định các mức thay đổi chính dựa trên sự biến động giá gần đây.
Giá phá vỡ 0.236 Fibonacci retrace chỉ ra một sự đảo ngược và đóng vị trí hiện có.
Khi đường EMA 9 ngày vượt qua đường EMA 21 ngày, và giá thấp hơn mức cao Fibonacci thích nghi, hãy mua ngắn.
Mục tiêu lợi nhuận dài là vượt qua đường EMA 200 ngày.
EMA cung cấp các tín hiệu xu hướng rõ ràng, dễ thực hiện
Fibonacci thích nghi tránh điều chỉnh tham số thủ công
Giao dịch thường xuyên bắt được các động thái ngắn hạn cho các chiến lược tần suất cao
Các mức khôi phục chính cho việc dừng lỗ kịp thời
Các tham số có thể cấu hình để tối ưu hóa qua các chu kỳ
Sự chậm trễ của EMA đòi hỏi phải được xác nhận từ các chỉ số khác
Rủi ro Fibonacci thích nghi với mức độ không ổn định
Giao dịch tần số cao làm tăng chi phí từ hoa hồng và trượt
Việc lọc không hiệu quả các xu hướng giới hạn trong phạm vi dẫn đến các tín hiệu sai
Cần cải thiện quản lý rút vốn và kiểm soát rủi ro-lợi nhuận
Thêm các chỉ số khối lượng để tránh các tín hiệu sai từ chênh lệch giá - khối lượng
Tối ưu hóa thời gian EMA để phù hợp hơn với điều kiện thị trường hiện tại
Thực hiện stop loss động để kiểm soát rủi ro tốt hơn
Bao gồm chỉ số sức mạnh xu hướng để tránh whipsaws
Xem xét tác động chi phí giao dịch và đặt mục tiêu lợi nhuận tối thiểu
Chiến lược này xác định hướng xu hướng với EMA và xác định mức độ đảo ngược một cách năng động bằng cách sử dụng Fibonacci retracement thích ứng, tự động thích nghi với các điều kiện thị trường khác nhau. Nhưng nó dựa nhiều hơn vào các tín hiệu chỉ số mà không có phân khúc xu hướng và logic Elliott Wave, để lại chỗ cho tối ưu hóa. Nhìn chung, như một chiến lược giao dịch ngắn hạn tần suất cao, nó có thể nắm bắt những thay đổi giá nhanh nhưng liên quan đến rủi ro dừng lỗ thường xuyên và giao dịch quá mức mà các nhà giao dịch cần quản lý.
/*backtest start: 2023-08-21 00:00:00 end: 2023-09-20 00:00:00 period: 1h 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/ // © CheatCode1 //@version=5 strategy("CC-Trend strategy 2", overlay=true, initial_capital = 10000, commission_type = strategy.commission.percent, commission_value = 0.01, default_qty_type = strategy.percent_of_equity, default_qty_value = 100 ) ema9 = ta.ema(close, 9) ema21 = ta.ema(close, 21) ema55 = ta.ema(close, 55) ema200 = ta.ema(close, 200) plot(ema200, '22', color.blue, 2) FibL = input.int(100, 'Fibonacci Length', 1, 500, group = 'Automatic Fibonacci Retracement') len1 = input.int(1, 'Show Last', 0, 1000, group = 'Automatic Fibonacci Retracement') len2 = input.int(5, 'Offset Length', 0, 1000, group = 'Automatic Fibonacci Retracement') highF = ta.highest(ema55 >= ema9 ? ema55:ema9, FibL) lowF = ta.lowest(ema55 >= ema9 ? ema9:ema55, FibL) AvgFib = highF - lowF //Fibonacci Executions LL2 = highF + .618 * AvgFib LL1 = highF + .272 * AvgFib L1 = highF L236 = highF - 0.236 * AvgFib L382 = highF - 0.382 * AvgFib Mid = highF - 0.50 * AvgFib S382 = lowF + 0.382 * AvgFib S236 = lowF + 0.236 * AvgFib S1 = lowF SS1 = lowF - .272 * AvgFib SS2 = lowF - .618 * AvgFib //Fibonacci Plot's high2FP = plot(LL2, 'Highe2', color.red,offset = len2, show_last = len1, trackprice = true) high1FP = plot(LL1, 'Highe1', color.red,offset = len2, show_last = len1, trackprice = true) highFP = plot(highF, 'High', color.red,offset = len2, show_last = len1, trackprice = true) L236P = plot(L236, "0.764", #ED381C, offset = len2, show_last = len1, trackprice = true ) L382P = plot(L382, "0.618", color.white,offset = len2, show_last = len1, trackprice = true ) MidP = plot(Mid, "0.5", color.orange,offset = len2, show_last = len1, trackprice = true ) S382P = plot(S382, "0.382", color.yellow ,offset = len2, show_last = len1, trackprice = true) S236P = plot(S236, "0.236", color.lime ,offset = len2, show_last = len1, trackprice = true) lowFP = plot(lowF, 'Low', color.green,offset = len2, show_last = len1, trackprice = true) low1FP = plot(SS1, 'Lowe1', color.green,offset = len2, show_last = len1, trackprice = true) low2FP = plot(SS2, 'Lowe2', color.green,offset = len2, show_last = len1, trackprice = true) plot(ema9, '22', color.yellow, 2) plot(ema55, '55', color.aqua, 2) plot(ema200, '200', color.maroon, 2) shortCondition = close[1] < highF and ema21 < ema55 if (shortCondition) strategy.entry("Short", strategy.short) shorttp = ta.crossover(close, ema200) and strategy.openprofit >= 0 if (shorttp) strategy.close('Short', 'Short TP', qty_percent = 100) shortclose2 = close[1] > L236 and not (shortCondition) if(shortclose2) strategy.close('Short', 'Short RM', qty_percent = 100)