
이 전략은 다차원 수학 모델을 기반으로 한 고급 거래 전략으로, 여러 수학적 함수와 기술 지표를 사용하여 거래 신호를 생성합니다. 이 전략은 동력, 경향 및 변동성 분석을 결합하여 여러 차원의 시장 정보를 통합하여 더 포괄적인 거래 결정을 내립니다.
이 전략의 핵심 원칙은 여러 수학적 모델과 기술 지표를 통해 시장의 다양한 측면을 분석하는 것입니다.
전략은 이러한 요소들을 종합적으로 고려하여, 동력이 긍정적일 때, 단기 추세가 상승하고, 장기 추세가 확인되고, 변동성이 적당할 때 구매 신호를 발산한다. 반대로 조건의 조합은 판매 신호를 유발한다.
다차원 수학 모델 거래 전략은 통합적이고 이론적으로 견고한 거래 방법이다. 여러 수학적 모델과 기술 지표를 결합하여 여러 관점에서 시장을 분석하고 거래 의사 결정의 정확성을 향상시킬 수 있다. 그러나 전략의 복잡성은 과도한 적합성과 변수 민감성 등의 위험을 초래한다.
/*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")