
रणनीति एक बुल मार्केट सपोर्ट बैंड पर आधारित ट्रेंड ट्रैकिंग ट्रेडिंग सिस्टम है। यह मुख्य रूप से बाजार की प्रवृत्ति की दिशा निर्धारित करने के लिए 20-सप्ताह के सरल चलती औसत (एसएमए) और 21-सप्ताह के सूचकांक चलती औसत (ईएमए) के क्रॉसिंग सिग्नल का उपयोग करता है, जिसके बाद ट्रेडिंग निर्णय लिया जाता है। रणनीति दो समान लाइनों को ऊपर की ओर पार करने पर अधिक संकेत देती है, और नीचे की ओर पार करने पर, मध्यम और लंबी अवधि के ट्रेंडिंग अवसरों को पकड़कर लाभ प्राप्त करती है।
रणनीति का मुख्य तर्क यह है कि बाजार के रुझान को 20 सप्ताह के SMA और 21 सप्ताह के ईएमए के बीच के रिश्तेदार संबंधों की निगरानी करके बाजार के रुझान का आकलन किया जाता है। जब अल्पकालिक औसत ((20 सप्ताह का SMA) लंबे समय के औसत ((21 सप्ताह का ईएमए) से नीचे से टूट जाता है, तो यह दर्शाता है कि बाजार में एक उछाल की संभावना है, और सिस्टम उस समय अधिक स्थिति खोलता है; जब अल्पकालिक औसत ऊपर से टूट जाता है, तो यह दर्शाता है कि उछाल की संभावना समाप्त हो जाती है, और सिस्टम उस समय बाहर निकल जाता है। रणनीति प्रतिशत_ऑफ_इक्विटी के रूप में स्थिति का प्रबंधन करती है, ट्रेडिंग कमीशन 0.1 और स्लाइडिंग 3 आधार बिंदुओं पर सेट करती है।
बैल बाजार समर्थन बैंड ट्रेडिंग रणनीति एक प्रवृत्ति ट्रैकिंग प्रणाली है जो क्लासिक तकनीकी विश्लेषण सिद्धांत पर आधारित है। मध्यम और दीर्घकालिक ट्रेंडिंग अवसरों को पकड़ने के लिए परिधि स्तर के समानांतर क्रॉसिंग के माध्यम से, तर्क स्पष्टता और जोखिम-नियंत्रित विशेषताएं हैं। हालांकि, रणनीति अस्थिर बाजार में खराब प्रदर्शन करती है और इसमें कुछ पिछड़ापन है। सहायक संकेतकों को जोड़ने, स्टॉप-लॉस तंत्र को अनुकूलित करने और धन प्रबंधन को बेहतर बनाने के माध्यम से, रणनीति में अधिक अनुकूलन की गुंजाइश है।
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-25 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
// © zkdev
//@version=6
strategy(title='Demo GPT - Bull Market Support Band',
overlay=true,
default_qty_type=strategy.percent_of_equity,
default_qty_value=100,
commission_type=strategy.commission.percent,
commission_value=0.1,
slippage=3)
// -------------------------------------------------------------------------
// Compile-time timestamp constants for default date range
// (2018-01-01 00:00:00 UTC -> 1514764800000
// 2069-12-31 23:59:59 UTC -> 3155759999000)
// -------------------------------------------------------------------------
const int defaultFromDate = 1514764800000
const int defaultToDate = 3155759999000
// -------------------------------------------------------------------------
// Inputs: date range
// -------------------------------------------------------------------------
fromDate = input(title='Start Date', defval=defaultFromDate)
toDate = input(title='End Date', defval=defaultToDate)
// -------------------------------------------------------------------------
// Indicator settings & calculations
// -------------------------------------------------------------------------
smaLength = 20
emaLength = 21
source = close
sma = ta.sma(source, smaLength)
ema = ta.ema(source, emaLength)
// -------------------------------------------------------------------------
// Fetch weekly SMA & EMA
// -------------------------------------------------------------------------
outSma = request.security(syminfo.tickerid, 'W', sma, gaps=barmerge.gaps_on, lookahead=barmerge.lookahead_off)
outEma = request.security(syminfo.tickerid, 'W', ema, gaps=barmerge.gaps_on, lookahead=barmerge.lookahead_off)
// -------------------------------------------------------------------------
// Plot visuals (20w SMA, 21w EMA, fill in between)
// -------------------------------------------------------------------------
smaPlot = plot(outSma, color=color.new(color.red, 0), title='20w SMA')
emaPlot = plot(outEma, color=color.new(color.green, 0), title='21w EMA')
fill(smaPlot, emaPlot, color=color.new(color.orange, 75), fillgaps=true)
// -------------------------------------------------------------------------
// We evaluate crossover/crossunder on *every bar* and store the result
// -------------------------------------------------------------------------
crossUp = ta.crossover(outSma, outEma)
crossDown = ta.crossunder(outSma, outEma)
// -------------------------------------------------------------------------
// Trade logic: only operate within chosen date range
// Buy when outSma crosses above outEma; Sell (close) when outSma crosses below outEma
// -------------------------------------------------------------------------
inDateRange = true
if inDateRange
// If we have a crossUp event on this bar, buy (go Long)
if crossUp
strategy.entry('Long', strategy.long)
// If we have a crossDown event on this bar, sell (close Long)
if crossDown
strategy.close('Long')