
La stratégie est un système de trading de suivi de tendance qui combine le MACD (la dispersion de la convergence des moyennes mobiles) et le RSI (l’indicateur de la relative faiblesse). La stratégie fonctionne sur des périodes de 5 minutes et génère des signaux de trading en analysant l’intersection du MACD avec la ligne de signal et le niveau de survente du RSI.
La stratégie est basée sur la logique de base suivante:
La stratégie, combinant les avantages du MACD et du RSI, a permis de construire un système de négociation à la fois de suivi de tendance et de dynamique. Un mécanisme de contrôle des risques parfait et une logique de négociation claire lui confèrent une bonne praticité.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-11 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
//@version=5
strategy("MACD + RSI Basit Strateji", overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// İndikatör parametreleri
fastLength = input(12, "MACD Fast Length")
slowLength = input(26, "MACD Slow Length")
signalLength = input(9, "MACD Signal Length")
rsiLength = input(14, "RSI Period")
rsiOversold = input(45, "RSI Oversold Level")
rsiOverbought = input(55, "RSI Overbought Level")
// Stop Loss ve Take Profit ekledim
stopLoss = input(1.2, "Stop Loss (%)")
takeProfit = input(2.4, "Take Profit (%)")
// MACD hesaplama
[macdLine, signalLine, histLine] = ta.macd(close, fastLength, slowLength, signalLength)
// RSI hesaplama
rsiValue = ta.rsi(close, rsiLength)
// EMA trend filtresi
emaValue = ta.ema(close, 10)
// Alım sinyali koşulları - sadece MACD ve RSI kullanalım
longCondition = macdLine > signalLine and rsiValue < rsiOversold
// Satım sinyali koşulları
shortCondition = macdLine < signalLine and rsiValue > rsiOverbought
// Pozisyon yönetimi - Stop Loss ve Take Profit ekledim
if (longCondition)
strategy.entry("Long", strategy.long)
strategy.exit("TP/SL", "Long",
profit = close * takeProfit / 100,
loss = close * stopLoss / 100)
if (shortCondition)
strategy.close("Long")
// Grafik göstergeleri
plotshape(longCondition, title="Alım",
style=shape.triangleup,
location=location.belowbar,
color=color.green,
size=size.large,
text="AL")
plotshape(shortCondition, title="Satım",
style=shape.triangledown,
location=location.abovebar,
color=color.red,
size=size.large,
text="SAT")
// İndikatörleri göster
plot(rsiValue, "RSI", color=color.purple)
hline(rsiOversold, "Oversold", color=color.gray)
hline(rsiOverbought, "Overbought", color=color.gray)