
Chiến lược này được gọi là chiến lược giao dịch định lượng dựa trên SMA, EMA. Ý tưởng chính của nó là kết hợp các tham số khác nhau của đường trung bình SMA và đường trung bình EMA để xây dựng tín hiệu giao dịch.
Tính toán đường SMA9, SMA50, SMA180 và đường EMA20 của giá đóng.
Xác định các tín hiệu mua và bán dựa trên mối quan hệ giữa giá đóng cửa với giá hỗ trợ và giá kháng cự. BuySignal được tạo ra khi giá đóng cửa vượt qua giá hỗ trợ và SellSignal khi giá đóng cửa vượt qua giá kháng cự.
Thực hiện chiến lược mở nhiều đầu khi mua tín hiệu kích hoạt; xóa vị trí nhiều đầu khi bán tín hiệu kích hoạt.
Thực hiện chiến lược mở đầu trống khi bán tín hiệu kích hoạt; xóa vị trí trống khi mua tín hiệu kích hoạt.
Kết hợp nhiều đường trung bình để tạo ra tín hiệu giao dịch, tăng độ chính xác và ổn định của tín hiệu.
Động lực hỗ trợ và kháng cự được tính toán để làm cho tín hiệu giao dịch có cơ sở hơn.
Dòng trung bình biến động thấp và cao được sử dụng, tập trung vào phán đoán xu hướng dài hạn và tính đến đột phá ngắn hạn, tăng cơ hội chiến lược để kiếm lợi nhuận.
Hỗ trợ nhiều giao dịch nhị phân hai chiều, có thể thu được lợi nhuận trong cả xu hướng và biến động.
Đường SMA trung bình có sự chậm trễ, có thể dẫn đến tín hiệu mua và bán bị trì hoãn, do đó ảnh hưởng đến hiệu quả của chiến lược.
Nếu không có cơ chế dừng lỗ, lỗ hổng nắm giữ có thể mở rộng.
Dữ liệu phản hồi không đầy đủ, các tham số trong đĩa cứng cần được điều chỉnh theo thị trường.
Các chỉ số kỹ thuật tạo ra tín hiệu giao dịch, không thể đối phó với các tác động của sự kiện Black Swan lớn.
Giải pháp đối phó với rủi ro:
Tăng cơ chế dừng lỗ dựa trên tỷ lệ biến động, kiểm soát tổn thất đơn lẻ.
Thêm mô hình học máy để đánh giá xu hướng thị trường, hỗ trợ hình thành tín hiệu giao dịch.
Thêm mô-đun phân tích giá trị quan trọng để tăng độ chính xác của phán đoán kháng cự.
Kiểm tra sự kết hợp của các tham số chỉ số đường trung bình khác nhau để tìm tham số tốt hơn.
Chiến lược tổng hợp này sử dụng các chỉ số kỹ thuật của đường SMA và đường EMA để xây dựng tín hiệu giao dịch, đồng thời tính toán mức kháng cự hỗ trợ động, tạo thành một logic chiến lược mua bán hoàn chỉnh hơn. Chiến lược logic có các tham số chỉ số linh hoạt, giao dịch hai chiều, thích ứng với nhiều tình huống, nhưng cũng phải đối mặt với các vấn đề như chậm trễ đường trung bình, dừng lỗ không hoàn hảo.
]
/*backtest
start: 2023-12-10 00:00:00
end: 2023-12-11 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="StrategySMA 9/50/180 | EMA 20 | BUY/SELL", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
//SMA and EMA code
smaInput1 = input(9, title="SMA1")
smaInput2 = input(50, title="SMA2")
smaInput3 = input(180, title="SMA3")
emaInput1 = input(20, title="EMA1")
sma1 = sma(close, smaInput1)
sma2 = sma(close, smaInput2)
sma3 = sma(close, smaInput3)
EMA1 = ema(close, emaInput1)
plot(sma1, color= color.red , title="SMA1")
plot(sma2, color = color.blue, title="SMA2")
plot(sma3, color= color.white, title="SMA3")
plot(EMA1, color = color.yellow, title="EMA1")
no=input(3,title="BUY/SELL Swing")
Barcolor=input(false,title="BUY/SELL Bar Color")
Bgcolor=input(false,title="BUY/SELL Background Color")
res=highest(high,no)
sup=lowest(low,no)
avd=iff(close>res[1],1,iff(close<sup[1],-1,0))
avn=valuewhen(avd!=0,avd,0)
tsl=iff(avn==1,sup,res)
// Buy/sell signals
BuySignal = crossover(close, tsl)
SellSignal = crossunder(close, tsl)
// Enter long position
strategy.entry("Buy", strategy.long, when=BuySignal)
// Exit long position
strategy.exit("Sell", "Buy", when=SellSignal)
// Enter short position
strategy.entry("Sell", strategy.short, when=SellSignal)
// Exit short position
strategy.exit("Buy", "Sell", when=BuySignal)
colr = close>=tsl ? color.green : close<=tsl ? color.red : na
plot(tsl, color=colr)