
Chiến lược OneTrend Lite EMA là một phương pháp giao dịch theo dõi xu hướng sáng tạo để xác định và nắm bắt xu hướng thị trường bằng cách kết hợp các chỉ số trung bình di chuyển (EMA), chỉ số xu hướng trung bình (ADX) và phạm vi biến động thực trung bình (ATR). Chiến lược này nhằm cung cấp tín hiệu giao dịch rõ ràng và chính xác, đồng thời điều chỉnh động lực cho sự biến động của thị trường.
Chiến lược này tập trung vào ba chỉ số kỹ thuật quan trọng:
Chiến lược sử dụng 30 chu kỳ EMA nhanh và 60 chu kỳ EMA chậm để tạo ra tín hiệu giao dịch bằng cách kết hợp chênh lệch của chúng với ATR tự điều chỉnh. Khi EMA nhanh vượt quá ngưỡng động, nó đi vào khu vực xu hướng màu xanh (bullish) và khi đi xuống ngưỡng, nó đi vào khu vực màu hồng (bullish).
Chiến lược EMA OneTrend Lite cung cấp cho các nhà giao dịch một phương pháp theo dõi xu hướng linh hoạt và trực quan thông qua sự kết hợp các chỉ số sáng tạo và giảm giá tự điều chỉnh. Mặc dù có một số rủi ro vốn có, nhưng khả năng phân tích đa chiều và điều chỉnh động của nó làm cho nó trở thành một chiến lược giao dịch định lượng đáng để nghiên cứu sâu hơn.
/*backtest
start: 2024-04-03 00:00:00
end: 2025-04-02 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BNB_USDT"}]
*/
//============================== OneTrend Lite Historical Performance ==============================/
//+--------+-----------+-----------+-----------+--------------------+---------------+---------------+
//| Ticker | Total P&L | Drawdown | # Trades | Profitable Trades | Profit Factor | Best Method |
//+--------+-----------+-----------+-----------+--------------------+---------------+---------------+
//| BTC | 557x | 55.29% | 11 | 72.73% | 13.579 | OneTrend Pro |
//| ETH | 207x | 55.11% | 13 | 46.15% | 1.696 | OneTrend Pro |
//| XRP | 29x | 99.85% | 23 | 30.43% | 1.261 | OneTrend Gaus |
//| SOL | 152x | 40.20% | 8 | 62.50% | 4.341 | OneTrend Gaus |
//| BNB | 519x | 64.29% | 12 | 50.00% | 3.351 | OneTrend Lite |
//| DOGE | 21x | 89.63% | 22 | 27.27% | 1.521 | OneTrend Gaus |
//| ADA | 9x | 76.18% | 9 | 55.56% | 9.039 | OneTrend Pro |
//| SUI | 6.6x | 11.44% | 2 | 100.00% | ∞ | OneTrend Pro |
//+--------+-----------+-----------+-----------+--------------------+---------------+---------------+
//============================== OneTrend Pro Historical Performance ===============================/
//+--------+-----------+-----------+-----------+--------------------+---------------+---------------+
//| Ticker | Total P&L | Drawdown | # Trades | Profitable Trades | Profit Factor | Best Method |
//+--------+-----------+-----------+-----------+--------------------+---------------+---------------+
//| BTC | 723x | 50.99% | 41 | 53.66% | 2.625 | OneTrend Pro |
//| ETH | 1925x | 40.07% | 31 | 58.06% | 3.472 | OneTrend Pro |
//| XRP | 298x | 99.97% | 53 | 37.74% | 1.87 | OneTrend Gaus |
//| SOL | 917x | 73.31% | 18 | 44.44% | 2.71 | OneTrend Gaus |
//| BNB | 353x | 49.44% | 31 | 45.16% | 2.849 | OneTrend Lite |
//| DOGE | 238x | 92.38% | 40 | 40.00% | 2.389 | OneTrend Gaus |
//| ADA | 39x | 71.96% | 31 | 35.48% | 1.684 | OneTrend Pro |
//| SUI | 8.7x | 31.53% | 4 | 50.00% | 13.457 | OneTrend Pro |
//+--------+-----------+-----------+-----------+--------------------+---------------+---------------+
//=========================== OneTrend Gaussian Historical Performance =============================/
//+--------+-----------+-----------+-----------+--------------------+---------------+---------------+
//| Ticker | Total P&L | Drawdown | # Trades | Profitable Trades | Profit Factor | Best Method |
//+--------+-----------+-----------+-----------+--------------------+---------------+---------------+
//| BTC | 107x | 72.45% | 26 | 57.69% | 5.5 | OneTrend Pro |
//| ETH | 10x | 40.07% | 31 | 58.06% | 3.472 | OneTrend Pro |
//| XRP | 1125x | 99.94% | 29 | 48.28% | 1.509 | OneTrend Gaus |
//| SOL | 925x | 52.10% | 11 | 63.64% | 11.338 | OneTrend Gaus |
//| BNB | 434x | 58.10% | 22 | 59.09% | 4.845 | OneTrend Lite |
//| DOGE | 487x | 90.48% | 40 | 32.50% | 2.263 | OneTrend Gaus |
//| ADA | 20x | 71.96% | 31 | 35.48% | 1.684 | OneTrend Pro |
//| SUI | 3.3x | 31.53% | 4 | 50.00% | 13.457 | OneTrend Pro |
//+--------+-----------+-----------+-----------+--------------------+---------------+---------------+
//@version=6
strategy("OneTrend Lite EMA", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital = 10000)
// ——— USER INPUTS ———
// EMA settings
emaFastLen = 30
emaSlowLen = 60
atrLen = 60
// ADX settings
adxLen = 14
adxThreshold = 20
// ATR multipliers for trend conditions
atrMultStrong = 0.3
atrMultWeak = 0.1
// ——— CALCULATIONS ———
// Calculate EMAs and their difference
emaFast = ta.ema(close, emaFastLen)
emaSlow = ta.ema(close, emaSlowLen)
emaDiff = emaFast - emaSlow
// --- Custom ADX Calculation ---
up = ta.change(high)
down = -ta.change(low)
plusDM = (up > down and up > 0) ? up : 0.0
minusDM = (down > up and down > 0) ? down : 0.0
trur = ta.rma(ta.tr, adxLen)
plusDI = 100 * ta.rma(plusDM, adxLen) / trur
minusDI = 100 * ta.rma(minusDM, adxLen) / trur
dx = 100 * math.abs(plusDI - minusDI) / (plusDI + minusDI)
adxVal = ta.rma(dx, adxLen)
// Determine the dynamic ATR multiplier based solely on ADX
dynamicAtrMult = adxVal > adxThreshold ? atrMultStrong : atrMultWeak
// Define bull (blue) and bear (pink) zones using the dynamic multiplier
emaBull = emaDiff > dynamicAtrMult * ta.atr(atrLen)
emaBear = emaDiff < -dynamicAtrMult * ta.atr(atrLen)
// ——— PLOTTING ———
clrBull = color.rgb(70, 163, 255) // Blue for bull
clrBear = color.rgb(255, 102, 170) // Pink for bear
clrNeutral = color.rgb(128, 128, 128) // Gray for neutral
fastPlot = plot(emaFast, linewidth=2, color=emaBull ? clrBull : emaBear ? clrBear : clrNeutral, title="Fast EMA")
slowPlot = plot(emaSlow, linewidth=2, color=emaBull ? clrBull : emaBear ? clrBear : clrNeutral, title="Slow EMA")
fill(fastPlot, slowPlot, color=emaBull ? color.new(clrBull, 70) : emaBear ? color.new(clrBear, 70) : color.new(clrNeutral, 70))
// ——— STRATEGY LOGIC ———
// Enter long immediately when the zone turns blue, and exit when it turns pink.
if emaBull
strategy.entry("Long", strategy.long, comment="Long Entry")
if emaBear
strategy.close("Long", comment="Close Long")