Strategi ini membangun strategi perdagangan kuantitatif multi-faktor untuk melacak tren dengan menggabungkan tiga indikator teknis: indeks relatif kuat lemah (RSI), indeks arah rata-rata (ADX), dan grafik keseimbangan pertama (Ichimoku Cloud). Gagasan utama strategi ini adalah menggunakan indikator RSI untuk menilai pasar overbought dan oversold, indikator ADX untuk menilai kekuatan tren, dan grafik keseimbangan pertama untuk menentukan arah tren, dan menggabungkan sinyal silang dari garis rata-rata bergerak untuk membuka posisi overbought atau shorted ketika kondisi tertentu terpenuhi.
Strategi ini secara inovatif menggabungkan tiga indikator teknis RSI, ADX, dan grafik keseimbangan pertama untuk membangun strategi perdagangan kuantitatif multi-faktor yang melacak tren. Strategi ini memiliki keunggulan dalam pelacakan tren dan pengendalian risiko, tetapi juga memiliki risiko seperti optimasi parameter, risiko pasar, dan biaya perdagangan. Di masa depan, strategi dapat dioptimalkan dengan cara seperti optimasi parameter, stop loss, manajemen posisi pivot, dan aplikasi multi-siklus multi-varietas untuk meningkatkan stabilitas dan profitabilitas.
/*backtest
start: 2023-05-11 00:00:00
end: 2024-05-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Stratejim RSI, ADX ve Ichimoku ile", overlay=true, margin_long=100, margin_short=100)
// ADX, RSI ve Ichimoku tanımları
[diPlus, diMinus, adx] = ta.dmi(14, 14)
rsiPeriod = 14
rsi = ta.rsi(close, rsiPeriod)
tenkanPeriod = 9
kijunPeriod = 26
senkouSpanBPeriod = 52
displacement = 26
tenkan = ta.sma((high + low) / 2, tenkanPeriod)
kijun = ta.sma((high + low) / 2, kijunPeriod)
senkouSpanA = (tenkan + kijun) / 2
senkouSpanB = ta.sma((high + low) / 2, senkouSpanBPeriod)
// Ichimoku Bulutu koşulları
priceAboveCloud = close > ta.valuewhen(bar_index, math.max(senkouSpanA, senkouSpanB), displacement)
priceBelowCloud = close < ta.valuewhen(bar_index, math.min(senkouSpanA, senkouSpanB), displacement)
// Uzun pozisyon için koşullar
longSmaCondition = ta.crossover(ta.sma(close, 14), ta.sma(close, 28))
longAdxCondition = adx > 20
longRsiCondition = rsi < ta.sma(rsi, rsiPeriod)
if (longSmaCondition and longAdxCondition and not longRsiCondition and priceAboveCloud)
strategy.entry("My Long Entry Id", strategy.long)
// Kısa pozisyon için koşullar
shortSmaCondition = ta.crossunder(ta.sma(close, 14), ta.sma(close, 28))
shortAdxCondition = adx > 20
shortRsiCondition = rsi > ta.sma(rsi, rsiPeriod)
if (shortSmaCondition and shortAdxCondition and not shortRsiCondition and priceBelowCloud)
strategy.entry("My Short Entry Id", strategy.short)