
यह एक दिन के भीतर ट्रेडिंग रणनीति है जो विशेष रूप से NASDAQ 100 सूक्ष्म वायदा के लिए डिज़ाइन की गई है। रणनीति के केंद्र में एक द्वि-समान-रेखा प्रणाली का उपयोग किया जाता है जिसमें एक संचयी भारित औसत मूल्य (VWAP) को ट्रेंड कन्फर्मेशन के रूप में शामिल किया जाता है, और वास्तविक उतार-चढ़ाव की चौड़ाई (ATR) के माध्यम से स्टॉप-लॉस स्थिति को गतिशील रूप से समायोजित किया जाता है। यह रणनीति बाजार की प्रवृत्ति को सख्त जोखिम नियंत्रण और गतिशील स्थिति प्रबंधन के माध्यम से पकड़ती है, जबकि धन को सुरक्षित रखती है।
यह रणनीति निम्नलिखित मुख्य घटकों पर आधारित है:
इस रणनीति में एक समान रेखा प्रणाली और VWAP के संयोजन के माध्यम से एक मजबूत प्रवृत्ति ट्रैकिंग प्रणाली का निर्माण किया गया है और एक बहु-स्तरीय जोखिम नियंत्रण तंत्र के माध्यम से धन की सुरक्षा की रक्षा की गई है। इस रणनीति की सबसे बड़ी विशेषता इसकी अनुकूलनशीलता और जोखिम प्रबंधन क्षमता है, जो एटीआर के माध्यम से विभिन्न मापदंडों को गतिशील रूप से समायोजित करती है, जिससे यह विभिन्न बाजार स्थितियों में स्थिर प्रदर्शन को बनाए रखने में सक्षम है। यह रणनीति विशेष रूप से NASDAQ 100 माइक्रोफ्यूचर्स के लिए उपयुक्त है, लेकिन व्यापारियों को सख्त जोखिम नियंत्रण नियमों को लागू करने और बाजार में बदलाव के अनुसार पैरामीटर को समायोजित करने की आवश्यकता होती है।
/*backtest
start: 2024-02-25 00:00:00
end: 2025-02-22 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/
//@version=5
strategy("Nasdaq 100 Micro - Optimized Risk Management", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// === INPUTS ===
riskPerTrade = input(1500, title="Max Risk Per Trade ($)")
profitTarget = input(3000, title="Target Profit Per Trade ($)")
maxWeeklyLoss = input(7500, title="Max Weekly Loss ($)")
emaShort = input(9, title="Short EMA Period")
emaLong = input(21, title="Long EMA Period")
vwapEnabled = input(true, title="Use VWAP?")
contractSizeMax = input(50, title="Max Micro Contracts per Trade")
atrLength = input(14, title="ATR Length")
// === INDICATORS ===
emaFast = ta.ema(close, emaShort)
emaSlow = ta.ema(close, emaLong)
vwapLine = ta.vwap(close)
atrValue = ta.atr(atrLength)
// === CONDITIONS ===
// Long Entry: EMA Crossover + Above VWAP
longCondition = ta.crossover(emaFast, emaSlow) and (not vwapEnabled or close > vwapLine)
// Short Entry: EMA Crossunder + Below VWAP
shortCondition = ta.crossunder(emaFast, emaSlow) and (not vwapEnabled or close < vwapLine)
// Position Size Calculation (Adjusted for Shorts)
riskPerPoint = 5 // MNQ Micro Futures = $5 per point per contract
stopLossPointsLong = atrValue * 2 // More room for longs
stopLossPointsShort = atrValue * 1.5 // Tighter for shorts
contractsLong = math.min(contractSizeMax, math.floor(riskPerTrade / (stopLossPointsLong * riskPerPoint)))
contractsShort = math.min(math.floor(contractsLong * 0.75), contractSizeMax) // Shorts use 75% of long size
// Stop Loss & Take Profit
longSL = close - stopLossPointsLong
longTP = close + (stopLossPointsLong * 3) // 1:3 Risk-Reward for longs
shortSL = close + stopLossPointsShort
shortTP = close - (stopLossPointsShort * 2) // 1:2 Risk-Reward for shorts
// === BREAK-EVEN STOP MECHANISM ===
longBE = close + (stopLossPointsLong * 1.5) // If price moves 50% to TP, move SL to entry
shortBE = close - (stopLossPointsShort * 1) // More aggressive on shorts
// === TRAILING STOP LOGIC ===
trailStopLong = close - (atrValue * 1.5)
trailStopShort = close + (atrValue * 1)
// === EXECUTION ===
// Check for weekly loss limit
weeklyLoss = strategy.netprofit < -maxWeeklyLoss
if (longCondition and not weeklyLoss)
strategy.entry("Long", strategy.long, contractsLong)
strategy.exit("TakeProfitLong", from_entry="Long", limit=longTP, stop=longSL, trail_points=atrValue * 1.5, trail_offset=atrValue * 0.5)
strategy.exit("BreakEvenLong", from_entry="Long", stop=longBE, when=close >= longBE)
if (shortCondition and not weeklyLoss)
strategy.entry("Short", strategy.short, contractsShort)
strategy.exit("TakeProfitShort", from_entry="Short", limit=shortTP, stop=shortSL, trail_points=atrValue * 1, trail_offset=atrValue * 0.5)
strategy.exit("BreakEvenShort", from_entry="Short", stop=shortBE, when=close <= shortBE)
// === STOP TRADING IF WEEKLY LOSS EXCEEDED ===
if (weeklyLoss)
strategy.close_all()