
Chiến lược này là một chiến lược giao dịch cao cấp dựa trên mô hình toán học đa chiều, sử dụng nhiều hàm toán học và chỉ số kỹ thuật để tạo ra tín hiệu giao dịch. Chiến lược này kết hợp động lực, xu hướng và phân tích biến động để đưa ra quyết định giao dịch toàn diện hơn bằng cách tích hợp thông tin thị trường đa chiều.
Nguyên tắc cốt lõi của chiến lược này là phân tích các khía cạnh khác nhau của thị trường thông qua nhiều mô hình toán học và các chỉ số kỹ thuật:
Chiến lược tổng hợp xem xét các yếu tố này, khi động lực là tích cực, xu hướng ngắn hạn tăng, xu hướng dài hạn được xác nhận, và biến động ở mức trung bình, tín hiệu mua được phát ra. Khối điều kiện ngược lại sẽ kích hoạt tín hiệu bán.
Chiến lược giao dịch mô hình toán học đa chiều là một phương pháp giao dịch toàn diện, có nền tảng lý thuyết vững chắc. Bằng cách kết hợp nhiều mô hình toán học và các chỉ số kỹ thuật, chiến lược này có thể phân tích thị trường từ nhiều góc độ và cải thiện độ chính xác của quyết định giao dịch. Tuy nhiên, sự phức tạp của chiến lược cũng mang lại những rủi ro như quá phù hợp và nhạy cảm với tham số.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-09-24 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Advanced Math Strategy", overlay=true)
// =======================
// ฟังก์ชันที่ใช้คำนวณเบื้องหลัง
// =======================
// ฟังก์ชันซิกมอยด์
sigmoid(x) =>
1 / (1 + math.exp(-x))
// ฟังก์ชันหาอัตราการเปลี่ยนแปลง (Derivative)
roc = ta.roc(close, 1)
// ฟังก์ชันการถดถอยเชิงเส้น (Linear Regression)
linReg = ta.linreg(close, 14, 0)
// ฟังก์ชันตัวกรองความถี่ต่ำ (Low-pass filter)
lowPass = ta.ema(close, 50)
// =======================
// การคำนวณสัญญาณ Buy/Sell
// =======================
// การคำนวณอนุพันธ์สำหรับทิศทางการเคลื่อนที่ของราคา
derivativeSignal = roc > 0 ? 1 : -1
// ใช้ Linear Regression และ Low-pass Filter เพื่อช่วยในการหาจุดกลับตัว
trendSignal = linReg > lowPass ? 1 : -1
// ใช้ฟังก์ชันซิกมอยด์เพื่อปรับความผันผวนของราคา
priceChange = close - close[1]
volatilityAdjustment = sigmoid(priceChange)
// สร้างสัญญาณ Buy/Sell โดยผสมผลจากการคำนวณเบื้องหลังทั้งหมด
buySignal = derivativeSignal == 1 and trendSignal == 1 and volatilityAdjustment > 0.5
sellSignal = derivativeSignal == -1 and trendSignal == -1 and volatilityAdjustment < 0.5
// =======================
// การสั่ง Buy/Sell บนกราฟ
// =======================
// ถ้าเกิดสัญญาณ Buy
if (buySignal)
strategy.entry("Buy", strategy.long)
// ถ้าเกิดสัญญาณ Sell
if (sellSignal)
strategy.close("Buy")
// =======================
// การแสดงผลบนกราฟ
// =======================
// วาดเส้นถดถอยเชิงเส้นบนกราฟ
plot(linReg, color=color.green, linewidth=2, title="Linear Regression")
// วาดตัวกรองความถี่ต่ำ (Low-pass filter)
plot(lowPass, color=color.purple, linewidth=2, title="Low-Pass Filter")
// วาดจุด Buy/Sell บนกราฟ
plotshape(series=buySignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")