
Die Strategie ist ein automatisiertes Handelssystem, das eine Kombination aus Index-Moving Average (EMA) -Kreuzungen und relativ starken Indikatoren (RSI) kombiniert. Es identifiziert die Trendrichtung durch die Kreuzung von EMA-Schnell- und Schnelllinien, nutzt RSI als Trendbestätigungsindikator und enthält eine vollständige Geldverwaltung und Risikokontrollmechanismen. Das System verwaltet jeden Handel in einer Weise mit festen Risiken und Gewinnzielen und sorgt für Risikokonsistenz durch dynamische Berechnung der Haltungsgröße.
Die Kernlogik der Strategie basiert auf den folgenden Schlüsselelementen:
Die Strategie baut ein vollständiges Handelssystem auf, das die Signalgenerierung, Risikomanagement und die Ausführung von Geschäften umfasst. Obwohl einige Optimierungsmöglichkeiten vorhanden sind, ist die Gesamtrahmenkonzeption vernünftig, insbesondere in Bezug auf die Geldverwaltung. Durch weitere Optimierung und Vervollkommnung wird die Strategie voraussichtlich besser im tatsächlichen Handel funktionieren.
/*backtest
start: 2024-02-18 00:00:00
end: 2025-02-16 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Lukhi24
//@version=6
strategy("Lukhi EMA Crossover_TWL Strategy" , overlay=true)
// Input Parameters
capital = 15000 // Capital: ₹15,000
risk_per_trade = 1000 // Risk per Trade: ₹1,000
target_per_trade = 5000 // Take Profit per Trade: ₹5,000
lot_size = input.int(1, title="Lot Size") // Nifty option lot size (adjust as per your instrument)
stop_loss_distance = input.float(25, title="Stop Loss Distance (Points)") // Fixed stop-loss in points (adjustable)
// EMA Parameters
short_ema_length = input.int(9, title="Short EMA Length")
long_ema_length = input.int(21, title="Long EMA Length")
// RSI Parameters
rsi_length = input.int(14, title="RSI Length")
rsi_overbought = input.float(70, title="RSI Overbought Level")
rsi_oversold = input.float(30, title="RSI Oversold Level")
// Calculations
ema_short = ta.ema(close, short_ema_length)
ema_long = ta.ema(close, long_ema_length)
rsi = ta.rsi(close, rsi_length)
// Buy and Sell Signals
buy_signal = ta.crossover(ema_short, ema_long) and rsi > 50
sell_signal = ta.crossunder(ema_short, ema_long) and rsi < 50
// Plot EMAs on the chart
plot(ema_short, color=color.blue, title="EMA 9")
plot(ema_long, color=color.orange, title="EMA 21")
// Risk Management: Position size based on stop-loss distance
position_size = risk_per_trade / stop_loss_distance
// Stop Loss and Take Profit Levels
long_stop_loss = close - stop_loss_distance
long_take_profit = close + (target_per_trade / position_size)
short_stop_loss = close + stop_loss_distance
short_take_profit = close - (target_per_trade / position_size)
// Strategy Logic: Entry, Stop Loss, and Take Profit
if (buy_signal)
strategy.entry("Buy", strategy.long, qty=lot_size)
strategy.exit("Exit Buy", "Buy", stop=long_stop_loss, limit=long_take_profit)
if (sell_signal)
strategy.entry("Sell", strategy.short, qty=lot_size)
strategy.exit("Exit Sell", "Sell", stop=short_stop_loss, limit=short_take_profit)
// Track Trade Result and Detect Failures
long_trade_loss = strategy.position_size > 0 and close <= long_stop_loss
short_trade_loss = strategy.position_size < 0 and close >= short_stop_loss
// Plot Buy and Sell signals on the chart
plotshape(buy_signal, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal", text="BUY")
plotshape(sell_signal, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal", text="SELL")
// Plot Failure Signals
plotshape(long_trade_loss, location=location.belowbar, color=color.red, style=shape.cross, title="Long Trade Failed", text="Failed")
plotshape(short_trade_loss, location=location.abovebar, color=color.red, style=shape.cross, title="Short Trade Failed", text="Failed")