
Diese Strategie ist ein umfassendes Handelssystem, das mehrere technische Indikatoren kombiniert. Es verwendet hauptsächlich den gleitenden Durchschnitt (MA), den relativen Stärkeindex (RSI) und den durchschnittlichen Richtungsindex (ADX), um Markttrends und Dynamik zu identifizieren. Der Advanced True Range (ATR) Der Indikator wird verwendet, um Stop-Loss- und Take-Profit-Positionen dynamisch festzulegen. Das System verwendet eine mehrperiodenbasierte Analysemethode, um Handelssignale durch die Überschneidung von Indikatoren in unterschiedlichen Zeiträumen zu bestätigen. Dadurch wird nicht nur die Genauigkeit der Transaktionen sichergestellt, sondern auch die Risiken wirksam kontrolliert.
Die Strategie verwendet einen dreischichtigen Verifizierungsmechanismus zur Bestätigung von Handelssignalen:
Gleichzeitig verwendet die Strategie ein dynamisches Stop-Loss- und Take-Profit-System basierend auf ATR:
Diese Strategie baut durch die Synergie mehrerer technischer Indikatoren ein relativ vollständiges Handelssystem auf. Der Hauptvorteil der Strategie liegt in ihrem mehrschichtigen Verifizierungsmechanismus und ihrem dynamischen Risikomanagementsystem, allerdings sollte auch auf ihre Anpassungsfähigkeit an unterschiedliche Marktumgebungen geachtet werden. Durch kontinuierliche Optimierung und Verbesserung sollen mit dieser Strategie stabile Renditen bei tatsächlichen Transaktionen erzielt werden.
/*backtest
start: 2024-12-17 00:00:00
end: 2025-01-15 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}]
*/
//@version=6
strategy("Daily Trading Strategy", overlay=true)
// --- Indikator ---
// Kombinasi MA untuk trend
fastMA = ta.sma(close, 20)
slowMA = ta.sma(close, 50)
// RSI untuk momentum
rsi = ta.rsi(close, 14)
// --- Fungsi untuk menghitung ADX ---
adx(length) =>
up = ta.change(high)
down = -ta.change(low)
plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
trur = ta.rma(ta.tr, length)
plus = fixnan(100 * ta.rma(plusDM, length) / trur)
minus = fixnan(100 * ta.rma(minusDM, length) / trur)
sum = plus + minus
adx = 100 * ta.rma(math.abs(plus - minus) / (sum == 0 ? 1 : sum), length)
// ADX untuk kekuatan trend
adxValue = adx(14)
// --- Kondisi Entry Long ---
longEntry = ta.crossover(fastMA, slowMA) and rsi > 50 and adxValue > 25
// --- Kondisi Entry Short ---
shortEntry = ta.crossunder(fastMA, slowMA) and rsi < 50 and adxValue > 25
// --- Stop Loss dan Take Profit ---
// Fungsi untuk menghitung stop loss dan take profit
getSLTP(entryPrice, isLong) =>
atr = ta.atr(14)
sl = isLong ? entryPrice - atr * 2 : entryPrice + atr * 2
tp = isLong ? entryPrice + atr * 4 : entryPrice - atr * 4
[sl, tp]
// Hitung SL dan TP untuk posisi Long
[longSL, longTP] = getSLTP(close, true)
// Hitung SL dan TP untuk posisi Short
[shortSL, shortTP] = getSLTP(close, false)
// --- Eksekusi Order ---
if (longEntry)
strategy.entry("Long", strategy.long, stop=longSL, limit=longTP)
if (shortEntry)
strategy.entry("Short", strategy.short, stop=shortSL, limit=shortTP)
// --- Plot Indikator ---
// MA
plot(fastMA, color=color.blue)
plot(slowMA, color=color.red)
// RSI
plot(rsi, color=color.orange)
hline(50, color=color.gray)
// ADX
plot(adxValue, color=color.purple)
hline(25, color=color.gray)
// --- Alert ---
alertcondition(longEntry, title="Long Entry", message="Long Entry")
alertcondition(shortEntry, title="Short Entry", message="Short Entry")