
यह रणनीति एक मात्रात्मक ट्रेडिंग प्रणाली है जो क्लासिक पतन रूपों की पहचान पर आधारित है, जो बाजार में दो महत्वपूर्ण उलट संकेतों की पहचान करने पर केंद्रित है: उल्लू रूप और उल्का रूप। उल्लू रूप आमतौर पर गिरावट की प्रवृत्ति के अंत में दिखाई देते हैं, जिन्हें संभावित bullish उलट संकेत के रूप में देखा जाता है; जबकि उल्का रूप अक्सर उछाल की प्रवृत्ति के शीर्ष पर दिखाई देते हैं, जिन्हें संभावित bullish उलट संकेत के रूप में देखा जाता है। रणनीति इन रूपों को परिभाषित करने के लिए सटीक गणितीय मापदंडों का उपयोग करती है, जिससे संकेत की सटीकता और एकरूपता सुनिश्चित होती है। जब सिस्टम उल्लू रूप की पहचान करता है, तो अगले के-लाइन ट्रेड के दौरान कई ऑपरेशन किए जाते हैं; जब उल्का रूप की पहचान की जाती है, तो अगले के-लाइन ट्रेड के दौरान ऑपरेशन किए जाते हैं।
इस रणनीति का मूल सिद्धांत विशिष्ट K-लाइन आकृति की सटीक गणितीय परिभाषा और पहचान पर आधारित हैः
कबूतर आकृति पहचान:
उल्कापिंड की आकृति पहचान:
लेनदेन निष्पादन तर्क:
इस रणनीति का निष्पादन संकेत के बाद अगले K लाइन पर आधारित है, जिससे पूर्वानुमान में पूर्वगामी विचलन से बचा जा सकता है और वास्तविक लेनदेन में रणनीति की निष्पादन सुनिश्चित की जा सकती है।
सरल और स्पष्ट प्रवेश संकेत: यह रणनीति स्पष्ट रूप से परिभाषित K-लाइन आकृति पर आधारित है, प्रवेश सिग्नल स्पष्ट है, और व्यक्तिपरक निर्णय के कारक को कम करता है।
बेहतर जोखिम प्रबंधनप्रत्येक लेनदेन के लिए एक स्पष्ट स्टॉप-लॉस और लक्ष्य मूल्य है, जो एक एकल लेनदेन के लिए अधिकतम नुकसान को सीमित करता है, जिससे धन की दीर्घकालिक सुरक्षा में मदद मिलती है।
पैरामीटर समायोज्य है: रणनीति कई प्रमुख पैरामीटर प्रदान करती है (जैसे कि छायांक रेखा अनुपात, न्यूनतम इकाई अनुपात, आदि) जो विभिन्न बाजारों और समय-सीमाओं के अनुसार अनुकूलित किए जा सकते हैं।
बाजार में बदलाव के लिएबाजार की गतिशीलता में संभावित बदलावों को पकड़ने के लिए बाजार की भावना में बदलाव के दृश्य प्रतिनिधित्व के रूप में कबूतर और उल्का पिंड।
उचित स्थान पर रोक: रणनीति का स्टॉप लॉस K-लाइन के चरम बिंदु पर सेट किया जाता है, जो आमतौर पर बाजार के उस दिशा में अंतिम प्रयास का प्रतिनिधित्व करता है, और यदि इसे पार किया जाता है, तो रिवर्स सिग्नल को निष्क्रिय कर दिया जा सकता है।
दिन के कारोबार के लिए उपयुक्त: रणनीतियों के प्रवेश और निकास अपेक्षाकृत तेज़ होते हैं, दिन के व्यापारियों के लिए उपयुक्त होते हैं, और अल्पकालिक बाजार में उतार-चढ़ाव का प्रभावी उपयोग कर सकते हैं।
फ़र्ज़ी घुसपैठ का खतरा: बाजारों में एक वैधता हो सकती है, लेकिन फिर अपेक्षित रिवर्स नहीं होता है, जिसके परिणामस्वरूप ट्रेडों में स्टॉप लॉस होता है।
पैरामीटर संवेदनशीलता: रणनीति प्रदर्शन पैरामीटर सेटिंग्स के लिए बहुत संवेदनशील है (जैसे कि विक फैक्टर और minBodyRangePct), गलत पैरामीटर सेटिंग्स से बहुत अधिक झूठे सिग्नल हो सकते हैं या महत्वपूर्ण सिग्नल छूट सकते हैं।
सीमित उपयोगिता: यह रणनीति अस्थिर बाजारों या स्पष्ट प्रवृत्ति के बिना बाजारों में खराब प्रदर्शन कर सकती है, जिससे लगातार घाटे का व्यापार हो सकता है।
प्रवृत्ति की पुष्टि की कमी: रणनीति केवल एक रूट K लाइन पैटर्न पर आधारित है, व्यापक बाजार रुझानों की पृष्ठभूमि को ध्यान में नहीं रखती है, जिससे प्रतिकूल व्यापार हो सकता है।
स्टॉप बिट्स रूढ़िवादी: रणनीति के स्टॉप को सिग्नल के लाइन के चरम बिंदु पर सेट किया गया है, जो कि बहुत अधिक रूढ़िवादी हो सकता है और वास्तविक रिवर्स ट्रेंड का पूरा लाभ नहीं उठा सकता है।
धन प्रबंधन जोखिमरणनीतिः एक निश्चित अनुपात में धन का उपयोग करके व्यापार करें (१०% ब्याज), जो लगातार नुकसान के मामले में बड़े खाते को वापस लेने का कारण बन सकता है।
ट्रेंड फ़िल्टर जोड़ें: चलती औसत या अन्य रुझान सूचकांकों के संयोजन के साथ, केवल ट्रेंडिंग दिशा में ट्रेड करें, उदाहरण के लिए, केवल डाउनट्रेंड में कॉपर फॉर्म्स की तलाश करें और डाउनट्रेंड में स्ट्राइक फॉर्म्स की तलाश करें।
वॉल्यूम बढ़ाने की पुष्टि: संकेत K लाइन की आवश्यकता होती है जो अधिक लेनदेन की मात्रा के साथ होती है, जो रूपों की विश्वसनीयता को बढ़ाती है, क्योंकि उलटा आमतौर पर लेनदेन की गतिविधि में वृद्धि के साथ होता है।
ऑप्टिमाइज़ेशन के लिए: गतिशील स्टॉप-स्टॉप रणनीतियों को पेश करें, जैसे कि एटीआर (वास्तविक अस्थिरता) पर आधारित स्टॉप-स्टॉप या स्टॉप-पॉइंट बिट्स, ताकि मजबूत रिवर्स के दौरान अधिक लाभ प्राप्त किया जा सके।
मल्टीटाइम फ़्रेम विश्लेषण जोड़ें: बड़े समय के फ्रेम पर बाजार की प्रवृत्ति की दिशा की पुष्टि करें, केवल बड़े रुझानों के अनुरूप रिवर्स सिग्नल निष्पादित करें।
सिग्नल शक्ति स्कोर प्राप्त करें: आकार की पूर्णता के आधार पर संकेतों को रेट करें (जैसे कि छाया रेखा अनुपात, K-लाइन स्थिति, अग्रिम गति, आदि) केवल उच्च स्कोर संकेतों को निष्पादित करें।
फ़िल्टर में शामिल हों: उच्च अस्थिरता वाले वातावरण में पैरामीटर को समायोजित करें या व्यापार को निलंबित करें ताकि बाजार के शोर के दौरान गलत संकेतों से बचा जा सके।
अन्य तकनीकी संकेतकों को एकीकृत करें: आरएसआई, एमएसीडी और अन्य संकेतकों के साथ एक विचलन संकेत के साथ, व्यापार केवल तभी किया जाता है जब कई संकेतक संयुक्त रूप से पुष्टि करते हैं
डबल रिवर्स ट्रेडिंग स्टैंडर्ड क्वांटिफाइड ट्रेडिंग स्ट्रैटेजी एक क्लासिक टेक्निकल एनालिसिस पर आधारित एक स्वचालित ट्रेडिंग सिस्टम है, जो बाजार में संभावित रिवर्स अवसरों को पकड़ने के लिए स्टैंडर्ड और स्टैंडर्ड ट्रेडिंग स्टैंडर्ड को ठीक से परिभाषित और पहचानता है। इस रणनीति में एक स्पष्ट प्रवेश संकेत और एक बेहतर जोखिम प्रबंधन तंत्र है, जो दिन के व्यापारियों के लिए उपयुक्त है। हालांकि, एक शुद्ध रूप पहचान पर आधारित प्रणाली के रूप में, यह झूठी सफलता और प्रवृत्ति की पुष्टि की कमी जैसे जोखिमों का भी सामना करती है।
रणनीतियों का सबसे बड़ा लाभ इसकी सादगी और स्पष्टता में है, जो व्यापारियों को प्रत्येक व्यापार के तर्क को स्पष्ट रूप से समझने की अनुमति देता है। रणनीति की स्थिरता को बढ़ाने के लिए, ट्रेंड फिल्टर, लेनदेन की मात्रा की पुष्टि और रोकथाम तंत्र को अनुकूलित करने जैसे तत्वों को शामिल करने की सिफारिश की जाती है। इन अनुकूलन के माध्यम से, झूठे संकेतों को कम किया जा सकता है और रणनीति की समग्र लाभप्रदता और जोखिम-लाभ अनुपात में सुधार किया जा सकता है।
अंत में, सभी ट्रेडिंग रणनीतियों की तरह, व्यापारियों को वास्तविक अनुप्रयोग से पहले पर्याप्त पूर्वानुमान और पूर्व-परीक्षण करना चाहिए, और विशिष्ट बाजार स्थितियों और व्यक्तिगत जोखिम वरीयताओं के अनुसार मापदंडों को समायोजित करना चाहिए। रणनीति एक बुनियादी ढांचे के रूप में कार्य कर सकती है, और निरंतर अनुकूलन और वैयक्तिकरण के माध्यम से, एक प्रभावी उपकरण के रूप में विकसित हो सकती है जो व्यक्तिगत ट्रेडिंग शैली के लिए उपयुक्त है।
/*backtest
start: 2024-08-11 00:00:00
end: 2025-08-09 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Hammer & Shooting Star — Strategy", overlay=true, pyramiding=0,
default_qty_type=strategy.percent_of_equity, default_qty_value=10, initial_capital=10000, calc_on_every_tick=true)
// === Inputs ===
wickFactor = input.float(0.9, "Min wick : body ratio", step=0.1)
maxOppositeWickFactor = input.float(0.45, "Max opposite-wick : body", step=0.05)
minBodyRangePct = input.float(0.2, "Min body as % of bar range", step=0.01)
// === Candle parts ===
o = open
c = close
h = high
l = low
body = math.abs(c - o)
barRange = h - l
upperWick = h - math.max(c, o)
lowerWick = math.min(c, o) - l
bodyNonZero = barRange > 0 and body > 0
// === Pattern detection (on the bar itself) ===
// Hammer: bearish candle (o > c), long lower wick, small upper wick
isHammer = bodyNonZero and (o > c) and (lowerWick >= wickFactor * body) and (upperWick <= maxOppositeWickFactor * body) and (body / barRange >= minBodyRangePct)
// Shooting star: bullish candle (o < c), long upper wick, small lower wick
isShootingStar = bodyNonZero and (o < c) and (upperWick >= wickFactor * body) and (lowerWick <= maxOppositeWickFactor * body) and (body / barRange >= minBodyRangePct)
// === Use previous-bar signals so entry executes at NEXT bar open ===
hammerSignal = isHammer[1]
ssSignal = isShootingStar[1]
// === Entries & exits: based on the signal bar (index [1]) ===
canEnter = strategy.position_size == 0
if hammerSignal and canEnter
// Enter long on current bar (this is the bar AFTER the hammer)
strategy.entry("Long_Hammer", strategy.long)
// Exit using the hammer-bar's low/high (signal bar is [1])
strategy.exit("Long_Exit", from_entry="Long_Hammer", stop=low[1], limit=high[1])
if ssSignal and canEnter
strategy.entry("Short_SS", strategy.short)
strategy.exit("Short_Exit", from_entry="Short_SS", stop=high[1], limit=low[1])
// === Visuals: show where patterns occurred ===
//barcolor(isHammer ? color.red : isShootingStar ? color.green : na)
plotshape(isHammer, title="Hammer", style=shape.triangleup, location=location.belowbar, color=color.green, size=size.tiny, text="HAM")
plotshape(isShootingStar, title="Shooting Star", style=shape.triangledown, location=location.abovebar, color=color.red, size=size.tiny, text="SS")