Đây là một chiến lược bán đầu tư 5 phút nhằm nắm bắt biến động giá ngắn hạn và biến động trên thị trường Bitcoin và Vàng để tạo ra lợi nhuận. Nó kết hợp việc sử dụng đường EMA, chỉ số Bollinger Bands và phương pháp dừng lỗ để vào và ra khỏi giao dịch.
Chiến lược này sử dụng các chỉ số EMA nhanh và EMA chậm để xây dựng một hệ thống đánh giá xu hướng. Một tín hiệu mua được tạo ra khi EMA nhanh vượt qua trên EMA chậm; Một tín hiệu bán được tạo ra khi EMA nhanh vượt qua dưới EMA chậm, nắm bắt sự thay đổi của xu hướng ngắn hạn.
Đồng thời, chiến lược này kết hợp chỉ số Bollinger Bands để đánh giá phạm vi biến động giá. Các tín hiệu giao dịch chỉ được tạo ra khi giá gần đường ray trên hoặc giữa của Bollinger Bands. Điều này lọc hầu hết các tín hiệu sai.
Sau khi vào thị trường, chiến lược sử dụng chỉ số ATR để tính giá dừng lỗ. Giá dừng lỗ được đặt ở mức thấp nhất của thanh nhập trừ n lần ATR, được sử dụng để kiểm soát rủi ro của mỗi giao dịch.
Ưu điểm lớn nhất của chiến lược này là nắm bắt các biến động ngắn hạn và biến động giá, kiếm được lợi nhuận nhỏ nhưng nhất quán mỗi lần. Sự kết hợp giữa EMA nhanh và EMA chậm có thể nhanh chóng xác định xu hướng ngắn hạn; Bollinger Bands và ATR stop loss có thể kiểm soát rủi ro một cách hiệu quả, làm cho nó trở thành một chiến lược scalping tương đối ổn định.
Ngoài ra, khung thời gian 5 phút dẫn đến tần suất giao dịch cao hơn, cũng mở rộng tiềm năng lợi nhuận của nó. Nó cũng tạo điều kiện theo dõi hoặc tối ưu hóa bằng tay.
Rủi ro chính của chiến lược này đến từ các whipsaws dẫn đến nhiều lỗ nhỏ. Khi giá dao động trong một phạm vi, tín hiệu chéo EMA có thể xảy ra thường xuyên, dẫn đến các giao dịch không cần thiết và thua lỗ nhỏ liên tiếp.
Ngoài ra, là một chiến lược bán đầu tư ngắn hạn, nó cũng phải đối mặt với rủi ro chi phí giao dịch do tần suất giao dịch cao.
Chiến lược có thể được tối ưu hóa theo những cách sau:
Thêm các dao động khác làm chỉ số phán đoán phụ, chẳng hạn như RSI, Stochastics, vv, để tránh bị mắc kẹt trong thị trường dao động.
Tăng các mô hình học máy để đánh giá hướng xu hướng và cải thiện độ chính xác đầu vào.
Sử dụng thuật toán di truyền, rừng ngẫu nhiên và các phương pháp khác để tự động tối ưu hóa các thông số để phù hợp hơn với điều kiện thị trường hiện tại.
Kết hợp học tập sâu để xác định các mức hỗ trợ và kháng cự chính và thiết lập các vị trí dừng lỗ tốt hơn.
Kiểm tra các phương tiện giao dịch khác nhau như chỉ số chứng khoán, ngoại hối, tiền điện tử, v.v., và chọn phương tiện giao dịch chính có hiệu suất giao dịch tốt nhất.
Tóm lại, như một chiến lược giao dịch thường xuyên ngắn hạn, chiến lược này có thể nắm bắt hiệu quả các biến động giá ngắn hạn và đảo chiều xu hướng bằng cách sử dụng EMA nhanh để đánh giá, Bollinger Bands để lọc và ATR để dừng lỗ để kiểm soát rủi ro, cho phép lợi nhuận ổn định. Nếu được tối ưu hóa và cải thiện hơn nữa để giảm tần suất giao dịch trong khi duy trì lợi nhuận, nó sẽ là một chiến lược định lượng rất hứa hẹn.
/*backtest start: 2023-12-19 00:00:00 end: 2024-01-10 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/ // © singhak8757 //@version=5 strategy("Bitcoin and Gold 5min Scalping Strategy2.0", overlay=true) // Input parameters fastLength = input(5, title="Fast EMA Length") slowLength = input(13, title="Slow EMA Length") bollingerLength = input(20, title="Bollinger Band Length") bollingerMultiplier = input(2, title="Bollinger Band Multiplier") stopLossMultiplier = input(1, title="Stop Loss Multiplier") // Calculate EMAs fastEMA = ta.ema(close, fastLength) slowEMA = ta.ema(close, slowLength) // Calculate Bollinger Bands basis = ta.sma(close, bollingerLength) upperBand = basis + bollingerMultiplier * ta.stdev(close, bollingerLength) lowerBand = basis - bollingerMultiplier * ta.stdev(close, bollingerLength) // Buy condition buyCondition = ta.crossover(fastEMA, slowEMA) and (close <= upperBand or close <= basis) // Sell condition sellCondition = ta.crossunder(fastEMA, slowEMA) and (close >= lowerBand or close >= basis) // Calculate stop loss level stopLossLevel = ta.lowest(low, 2)[1] - stopLossMultiplier * ta.atr(14) // Plot EMAs plot(fastEMA, color=color.rgb(0, 156, 21), title="Fast EMA") plot(slowEMA, color=color.rgb(255, 0, 0), title="Slow EMA") // Plot Bollinger Bands plot(upperBand, color=color.new(#000000, 0), title="Upper Bollinger Band") plot(lowerBand, color=color.new(#1b007e, 0), title="Lower Bollinger Band") // Plot Buy and Sell signals plotshape(series=buyCondition, title="Buy Signal", color=color.green, style=shape.labelup, location=location.belowbar) plotshape(series=sellCondition, title="Sell Signal", color=color.red, style=shape.labeldown, location=location.abovebar) // Plot Stop Loss level plot(stopLossLevel, color=color.orange, title="Stop Loss Level") // Strategy logic strategy.entry("Buy", strategy.long, when = buyCondition) strategy.exit("Stop Loss/Close", from_entry="Buy", loss=stopLossLevel) strategy.close("Sell", when = sellCondition)