
बाजार संरचना स्विंग ट्रेडिंग रणनीति एक उन्नत ट्रेडिंग पद्धति है जो बाजार संरचना में परिवर्तन, तरलता पर कब्जा करने और प्रवृत्ति की गतिशीलता पर आधारित है। यह रणनीति मूल्य परिवर्तन की महत्वपूर्ण विशेषताओं का विश्लेषण करके संभावित प्रवृत्ति को बदलने और जारी रखने के अवसरों की पहचान करके व्यापारियों को एक व्यवस्थित व्यापारिक निर्णय लेने की रूपरेखा प्रदान करती है।
इस रणनीति के मुख्य सिद्धांत चार प्रमुख संकेतकों पर आधारित हैंः
रणनीति एक बहुआयामी व्यापार निर्णय प्रणाली के निर्माण के लिए तकनीकी विश्लेषण के संकेतकों का व्यापक उपयोग करती है, जिसमें औसत वास्तविक उतार-चढ़ाव की सीमा (ATR), सापेक्ष मजबूत सूचकांक (RSI) और लेनदेन की मात्रा शामिल है।
बाजार संरचना स्विंग ट्रेडिंग रणनीति एक उन्नत मात्रात्मक ट्रेडिंग पद्धति है जो व्यवस्थित बाजार संरचना विश्लेषण के माध्यम से व्यापारियों को एक मजबूत व्यापारिक निर्णय लेने की रूपरेखा प्रदान करती है। निरंतर अनुकूलन और जोखिम प्रबंधन के माध्यम से, इस रणनीति में विभिन्न बाजार स्थितियों में स्थिर व्यापार प्रदर्शन प्राप्त करने की क्षमता है।
/*backtest
start: 2024-03-28 00:00:00
end: 2025-03-27 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Market Structure Swing Trading", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=5)
// === Input Parameters ===
len = input(50, "CHoCH Detection Period")
shortLen = input(3, "IDM Detection Period")
atrMultiplierSL = input(2.0, "ATR Multiplier for Stop Loss")
atrMultiplierTP = input(3.0, "ATR Multiplier for Take Profit")
rsiPeriod = input(14, "RSI Period")
rsiOverbought = input(70, "RSI Overbought Level")
rsiOversold = input(30, "RSI Oversold Level")
volThreshold = input(1.2, "Volume Multiplier Threshold")
// === ATR Calculation for SL & TP ===
atr = ta.atr(14)
stopLossLong = close - (atr * atrMultiplierSL)
takeProfitLong = close + (atr * atrMultiplierTP)
stopLossShort = close + (atr * atrMultiplierSL)
takeProfitShort = close - (atr * atrMultiplierTP)
// === RSI Filter ===
rsi = ta.rsi(close, rsiPeriod)
longConditionRSI = rsi < rsiOversold
shortConditionRSI = rsi > rsiOverbought
// === Volume Filter ===
volThresholdValue = ta.sma(volume, 20) * volThreshold
highVolume = volume > volThresholdValue
// === Market Structure Functions ===
swings(len) =>
var int topx = na
var int btmx = na
upper = ta.highest(len)
lower = ta.lowest(len)
top = high[len] > upper ? high[len] : na
btm = low[len] < lower ? low[len] : na
topx := top ? bar_index[len] : topx
btmx := btm ? bar_index[len] : btmx
[top, topx, btm, btmx]
[top, topx, btm, btmx] = swings(len)
// === CHoCH Detection ===
var float topy = na
var float btmy = na
var os = 0
var top_crossed = false
var btm_crossed = false
if top
topy := top
top_crossed := false
if btm
btmy := btm
btm_crossed := false
if close > topy and not top_crossed
os := 1
top_crossed := true
if close < btmy and not btm_crossed
os := 0
btm_crossed := true
// === Break of Structure (BOS) ===
var float max = na
var float min = na
var int max_x1 = na
var int min_x1 = na
if os != os[1]
max := high
min := low
max_x1 := bar_index
min_x1 := bar_index
bullishBOS = close > max and os == 1
bearishBOS = close < min and os == 0
// === Trade Conditions with Filters ===
longEntry = bullishBOS and longConditionRSI and highVolume
shortEntry = bearishBOS and shortConditionRSI and highVolume
// === Execute Trades ===
if longEntry
strategy.entry("Long", strategy.long)
strategy.exit("Long TP/SL", from_entry="Long", stop=stopLossLong, limit=takeProfitLong)
if shortEntry
strategy.entry("Short", strategy.short)
strategy.exit("Short TP/SL", from_entry="Short", stop=stopLossShort, limit=takeProfitShort)
// === Plotting Market Structure ===
plotshape(series=longEntry, location=location.belowbar, color=color.green, style=shape.labelup, title="BUY")
plotshape(series=shortEntry, location=location.abovebar, color=color.red, style=shape.labeldown, title="SELL")
plot(topy, color=color.blue, title="CHoCH High")
plot(btmy, color=color.orange, title="CHoCH Low")