
Die Strategie kombiniert mehrere technische Indikatoren, darunter den relativ schwachen Index (RSI), den Moving Average Convergence Spread (MACD) und den einfachen Moving Average (SMA) für mehrere verschiedene Perioden, um ein umfassendes Analysewerkzeug für den Handel mit Bitcoin (BTC) zu bieten. Die Hauptidee der Strategie besteht darin, die Signale der verschiedenen Indikatoren in einem bestimmten Bereich durch integrierte Berücksichtigung zu berücksichtigen, mehr zu tun, wenn der RSI in einem bestimmten Bereich ist, der MACD auftritt, wenn der Goldfork-Preis unter mehreren SMA liegt, und gleichzeitig einen Stop-Loss und einen Stop-Stop zu setzen und den Stop-Loss zu aktualisieren, wenn der RSI 50 erreicht.
Die Strategie bietet einen umfassenden analytischen Rahmen für den Bitcoin-Handel, indem sie technische Indikatoren wie RSI, MACD und SMA kombiniert verwendet. Sie verwendet die gemeinsame Bestätigung mehrerer Indikatoren, um Handelssignale zu erzeugen, und setzt Risikokontrollmaßnahmen ein. Die Strategie bietet jedoch noch Optimierungsmöglichkeiten, wie die Einführung von mehr Indikatoren, dynamischen Anpassungsparametern und der Kombination von Fundamentalanalysen.
/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Advanced Strategy", shorttitle="1M Advanced Strat", overlay=true)
// Input settings
rsiLength = input(14, title="RSI Length")
rsiLowerBound = input(20, title="RSI Lower Bound")
rsiUpperBound = input(30, title="RSI Upper Bound")
atrLength = input(14, title="ATR Length")
smaFastLength = input(20, title="SMA 20 Length")
smaMediumLength = input(50, title="SMA 50 Length")
smaSlowLength = input(200, title="SMA 200 Length")
riskPercent = input(0.005, title="Risk Percentage for SL and Target")
// Calculate indicators
rsiValue = rsi(close, rsiLength)
[macdLine, signalLine, _] = macd(close, 12, 26, 9)
smaFast = sma(close, smaFastLength)
smaMedium = sma(close, smaMediumLength)
smaSlow = sma(close, smaSlowLength)
atrValue = atr(atrLength)
// Checking previous RSI value
prevRsiValue = rsi(close[1], rsiLength)
// Conditions for Entry
longCondition = rsiValue > rsiLowerBound and rsiValue < rsiUpperBound and prevRsiValue < rsiLowerBound or prevRsiValue > rsiUpperBound and crossover(macdLine, signalLine) and close < smaFast and close < smaMedium and close < smaSlow
// Strategy Entry
if (longCondition and not strategy.position_size)
strategy.entry("Long", strategy.long)
// Setting Stop Loss and Take Profit
stopLoss = close - riskPercent * close
takeProfit = close + atrValue
strategy.exit("Exit Long", "Long", stop = stopLoss, limit = takeProfit)
//Update Stop Loss when RSI reaches 50
if (strategy.position_size > 0 and rsiValue >= 50)
strategy.exit("Update SL", "Long", stop = high)
// Conditions for Exit
shortCondition = crossunder(macdLine, signalLine)
// Strategy Exit
if (shortCondition)
strategy.close("Long")