
80% नियम पर आधारित एक वायदा मूल्य क्षेत्र उलटा रणनीति एक मात्रात्मक ट्रेडिंग प्रणाली है जिसे विशेष रूप से क्लासिक 80% नियम सेट को सत्यापित करने के लिए डिज़ाइन किया गया है। इस रणनीति का मुख्य विचार मूल्य क्षेत्र में पिछले ट्रेडिंग दिन के मूल्य क्षेत्र में फिर से प्रवेश करने के बाद एक पलटाव अवसर को पकड़ना है। रणनीति एक अच्छी तरह से परिभाषित ईटीएच वायदा ट्रेडिंग समय अवधि के भीतर चलती है, जब कीमत पिछले दिन के मूल्य क्षेत्र में फिर से प्रवेश करती है और इस क्षेत्र के भीतर पर्याप्त समय तक रहती है, तो सिस्टम ट्रेडिंग सिग्नल को ट्रिगर करता है, मुख्य रूप से मूल्य नियंत्रण बिंदु (पीओसी) पर लक्ष्य रखता है, और साथ ही साथ विश्लेषण के लिए पूर्ण मूल्य क्षेत्र यात्रा की स्थिति को ट्रैक करता है।
यह रणनीति बाजार के रुझान के लिए औसत मूल्य पर वापसी के सिद्धांत पर आधारित है, विशेष रूप से मूल्य और मूल्य क्षेत्रों के बीच संबंधों पर ध्यान केंद्रित करती है। रणनीति के केंद्रीय तर्क में शामिल हैंः
लेन-देन समय को परिभाषित करना: रणनीति को वास्तविक 22 घंटे की ईटीएच वायदा खिड़की पर सेट किया गया है ((पैसिफिक समय शाम 5 बजे से अगले दिन शाम 3 बजे तक) और वैश्विक समय क्षेत्र सेटिंग का समर्थन करता है। यह सुनिश्चित करता है कि रणनीति सही बाजार वातावरण में चल रही है।
मूल्य क्षेत्र गणनासिस्टम स्वचालित रूप से मूल्य क्षेत्र के उच्चतम बिंदुओं (VAH), मूल्य क्षेत्र के निम्नतम बिंदुओं (VAL) और मूल्य नियंत्रण बिंदुओं (POC) की गणना करता हैः
सिग्नल मान्यता तंत्र: प्रवेश संकेत की पुष्टि करने के लिए कीमत को मूल्य क्षेत्र में वापस जाना होगा और कम से कम 45 मिनट के लिए क्षेत्र में रहना होगा ((15 मिनट के चार्ट पर 3 K लाइनें)) । यह आवश्यकता कीमत के पलटने के इरादे की सत्यता सुनिश्चित करती है ।
फ़िल्टरिंग की तारीख:
ट्रिगर की स्थिति:
बाहर निकलने की रणनीतिइस प्रकार, जब कीमत POC तक पहुंच जाती है, तो मुख्य लक्ष्य बाहर निकलना होता है, जो औसत मूल्य वापसी के मूल विचार के अनुरूप होता है।
बुनियादी सांख्यिकीयह रणनीति मूल्य क्षेत्र और 80% नियम पर आधारित है, दोनों के पास एक ठोस सांख्यिकीय आधार है। मूल्य क्षेत्र उन क्षेत्रों का प्रतिनिधित्व करता है जहां 68% मूल्य गतिविधि होती है, जो एक सामान्यीकृत वितरण के एक मानक विचलन के समान है।
ट्रेडिंग विंडो की सटीक परिभाषा: रणनीति वास्तविक 22 घंटे की ईटीएच वायदा खिड़की का उपयोग करती है, न कि एक साधारण दिन के अंतराल का, जो बाजार की संरचना को अधिक सटीक रूप से दर्शाता है।
लचीला समय क्षेत्र समर्थन: वैश्विक व्यापारी अपनी भौगोलिक स्थिति के आधार पर रणनीति को समायोजित कर सकते हैं, जिससे सिस्टम किसी भी समय क्षेत्र में काम कर सकता है।
कड़ाई से संकेत की पुष्टि: मूल्य को मूल्य क्षेत्र के भीतर कम से कम 3 के लाइनों को रखने की आवश्यकता है ताकि संकेतों की पुष्टि की जा सके, जिससे झूठे संकेतों की संभावना कम हो जाए।
सटीक लक्ष्य निर्धारित करें: पीओसी को मुख्य लक्ष्य के रूप में उपयोग करने से स्पष्ट लाभ मिलता है, जो कि फ्यूचर बाजार में आम औसत मूल्य वापसी विशेषता के अनुरूप है।
दोहरी सत्यापन तंत्रन केवल मूल्य को मूल्य क्षेत्र में वापस लाने के लिए कहा जाता है, बल्कि सीमाओं को वापस मापने के लिए भी कहा जाता है (VAL या VAH), जो संकेत की विश्वसनीयता को बढ़ाता है।
मैनुअल कवर मोड: जब स्वचालित तर्क विशेष बाजार स्थितियों का सामना करने के लिए पर्याप्त नहीं है, तो रणनीति व्यापारियों को मैन्युअल रूप से निर्धारित मूल्य क्षेत्र के स्तर का उपयोग करने की अनुमति देती है।
डिबगिंग फ़ंक्शन: विस्तृत नैदानिक लेबल प्रदान करता है जो रणनीति के विकास और आगे के परीक्षण में सहायता करता है।
औसत वापसी विफलता जोखिमहालांकि 80% नियम कई स्थितियों में काम करता है, बाजार में एक मजबूत प्रवृत्ति होती है जो कीमत को पीओसी में वापस नहीं ले सकती है। इस जोखिम को कम करने के लिए, एक प्रवृत्ति फ़िल्टर जोड़ने या स्टॉपलॉस सेट करने पर विचार किया जा सकता है।
पैरामीटर संवेदनशीलता: 3 K लाइनों ((45 मिनट) की पुष्टि की आवश्यकता एक महत्वपूर्ण पैरामीटर है। बहुत कम होने से जल्द ही प्रवेश हो सकता है, और बहुत अधिक होने से अवसरों को याद किया जा सकता है। विभिन्न बाजार स्थितियों में विभिन्न पुष्टि समय सेटिंग्स का परीक्षण करने की सिफारिश की जाती है।
बाजार पर्यावरण पर निर्भरता: यह रणनीति सबसे अच्छा प्रदर्शन करती है जब बाजार में उतार-चढ़ाव होता है, लेकिन यह मजबूत प्रवृत्ति या उच्च अस्थिरता के वातावरण में खराब प्रदर्शन कर सकती है। बाजार के माहौल फिल्टर को जोड़ने पर विचार किया जाना चाहिए।
जोखिम लेने का समय: रणनीति का प्रदर्शन चयनित व्यापार समय से प्रभावित हो सकता है (न्यूयॉर्क, लंदन, टोक्यो या सभी मौसम) । विभिन्न व्यापार समय के लिए ऐतिहासिक प्रदर्शन का विश्लेषण करने के लिए सबसे अच्छा समय चुनने की सिफारिश की जाती है।
मूल्य क्षेत्र गणना विधि की सीमाएँ: एक निश्चित 68% रेंज और सरलीकृत पीओसी गणना का उपयोग करना कुछ बाजारों में वास्तविक मूल्य वितरण को सटीक रूप से प्रतिबिंबित नहीं कर सकता है। लेनदेन की मात्रा के आधार पर मूल्य क्षेत्र गणना विधि का उपयोग करने पर विचार करना अधिक सटीक हो सकता है।
क्षतिपूर्ति की कमी: वर्तमान रणनीति में स्पष्ट स्टॉप लॉस तंत्र की कमी है, जिससे चरम बाजार में भारी नुकसान हो सकता है। एटीआर या निश्चित प्रतिशत पर आधारित स्टॉप लॉस सेटिंग को लागू करने की सिफारिश की गई है।
गतिशील सत्यापन: वर्तमान रणनीति में एक निश्चित 3 K लाइनों को पुष्टि की शर्त के रूप में उपयोग किया जाता है, इस पैरामीटर को बाजार की अस्थिरता के आधार पर समायोजित करने पर विचार किया जा सकता है। उच्च अस्थिरता अवधि के दौरान अधिक पुष्टि समय की आवश्यकता हो सकती है, जबकि कम अस्थिरता अवधि के दौरान इसे कम किया जा सकता है।
लेनदेन के आधार पर मूल्य क्षेत्रवर्तमान मूल्य क्षेत्र की गणना मूल्य-आधारित सरलीकृत विधि है। इसे समय मूल्य अवसर (टीपीओ) विश्लेषण या मात्रा प्रोफाइल (वॉल्यूम प्रोफाइल) पर आधारित लेनदेन वितरण में अपग्रेड किया जा सकता है, जो बाजार के प्रतिभागियों के आम सहमति मूल्य क्षेत्र को अधिक सटीक रूप से दर्शाता है।
बहु-समय फ़्रेम पुष्टिट्रेडों के लिए, ट्रेडों के लिए, ट्रेडों के लिए, ट्रेडों के लिए, ट्रेडों के लिए, ट्रेडों के लिए, ट्रेडों के लिए, ट्रेडों के लिए।
अनुकूलन लक्ष्य सेट करें: वर्तमान रणनीति लक्ष्य के रूप में पीओसी का उपयोग करने के लिए तय की गई है। गतिशील लक्ष्यों को बाजार की अस्थिरता के आधार पर निर्धारित करने पर विचार किया जा सकता है, उदाहरण के लिए उच्च अस्थिरता वाले बाजारों में अधिक दूर के लक्ष्य (जैसे कि VAH या VAL) ।
अस्थिरता फिल्टर: एटीआर या अन्य अस्थिरता संकेतकों को फ़िल्टर शर्त के रूप में जोड़ें, बहुत कम अस्थिरता या बहुत अधिक अस्थिरता वाले बाजार वातावरण में व्यापार से बचें।
अनुकूलित समय सीमा: विभिन्न समय क्षेत्रों और ट्रेडिंग समय के लिए रणनीति के प्रदर्शन का गहराई से विश्लेषण करें और सबसे अच्छा ट्रेडिंग समय संयोजन का पता लगाएं।
बुद्धिमान रोकथाम तंत्र: स्मार्ट स्टॉप लॉजिक को लागू करें, जैसे कि समर्थन / प्रतिरोध बिंदु पर आधारित स्टॉप या मूल्य उतार-चढ़ाव पर आधारित ट्रैकिंग स्टॉप, ताकि जोखिम को बेहतर तरीके से प्रबंधित किया जा सके।
सिग्नल शक्ति रेटिंग: एक सिग्नल गुणवत्ता स्कोर प्रणाली विकसित करें, जिसमें मूल्य में फिर से प्रवेश की ताकत, K लाइन की पहचान की विशेषता और अन्य बाजार कारकों को मिलाकर, प्रत्येक संकेत को एक ताकत स्कोर आवंटित करें, जो कि स्थिति के आकार को निर्धारित करने के लिए उपयोग किया जाता है।
80% नियम पर आधारित वायदा मूल्य क्षेत्र उलटा रणनीति एक अच्छी तरह से डिजाइन की गई मात्रात्मक ट्रेडिंग प्रणाली है जिसका उद्देश्य मूल्य क्षेत्र में वापस जाने के अवसरों को पकड़ना है। यह एक सख्त सिग्नल पुष्टिकरण तंत्र, सटीक अवधि की परिभाषा और स्पष्ट लक्ष्य सेटिंग के माध्यम से व्यापारियों को क्लासिक 80% नियम का उपयोग करने के लिए एक व्यवस्थित तरीका प्रदान करता है।
रणनीति के मुख्य लाभ इसकी सांख्यिकीय आधार, सख्त संकेत पुष्टि आवश्यकताओं और लचीला विन्यास विकल्पों में हैं। हालांकि, औसत रिटर्न विफलता, पैरामीटर संवेदनशीलता और बाजार की स्थिति पर निर्भरता जैसे जोखिम भी हैं। गतिशील पुष्टि शर्तों को लागू करने, लेनदेन की मात्रा के आधार पर मूल्य क्षेत्र की गणना, बहु-समय फ्रेम पुष्टि और अनुकूलन लक्ष्य सेटिंग जैसे अनुकूलन उपायों को लागू करके रणनीति की स्थिरता और अनुकूलन क्षमता में काफी वृद्धि की जा सकती है।
80% नियम पर आधारित यह प्रणाली उन व्यापारियों के लिए एक ठोस प्रारंभिक बिंदु प्रदान करती है जो वायदा बाजार में लागू औसत वापसी रणनीतियों की तलाश कर रहे हैं, जो व्यक्तिगत जोखिम वरीयताओं और बाजार के दृष्टिकोण के आधार पर आगे अनुकूलित और अनुकूलित किए जा सकते हैं।
/*backtest
start: 2025-07-09 00:00:00
end: 2025-07-16 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_OKX","currency":"SOL_USDT","balance":200000}]
*/
// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © dscottmuller
// === Update July 15, 2025 ===
// • Converted to strategy for backtesting
// • POC-based exits for precision targeting
// • Full move markers for research tracking
// • Global time zone input (default: America/Los_Angeles)
//@version=5
strategy("80% Rule Backtest", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// === General Inputs ===
useAllMarkets = input.bool(false, "Use 24-Hour Session (All Markets)")
sessionChoice = input.string("New York", "Market Session", options=["New York", "London", "Tokyo"])
showSessionBox = input.bool(false, "Highlight Selected Session")
enableSounds = input.bool(false, "Enable Audible Alerts")
extendLines = input.bool(true, "Extend Lines Right")
// === Advanced Session Settings ===
group = "Advanced Session Settings"
showAutoLevels = input.bool(true, "Show Auto-Calculated VAH/POC/VAL", group=group)
useManualLevels = input.bool(false, "Use Manual VAH/POC/VAL", group=group)
manualVAH = input.float(0.0, "Manual VAH", group=group)
manualVAL = input.float(0.0, "Manual VAL", group=group)
manualPOC = input.float(0.0, "Manual POC", group=group)
debugMode = input.bool(false, "Enable Debug Mode", group=group)
// === Time Zone Selection ===
sessionTZ = input.string("America/Los_Angeles", "ETH Session Timezone",
options=[
"America/Los_Angeles", // Default: Pacific Time
"America/New_York",
"America/Chicago",
"America/Denver",
"Europe/London",
"Europe/Paris",
"Asia/Tokyo",
"Australia/Sydney"
], group=group)
// === Market Session Filter ===
nySession = time(timeframe.period, "0930-1600", "America/New_York")
londonSession = time(timeframe.period, "0800-1630", "Europe/London")
tokyoSession = time(timeframe.period, "0900-1500", "Asia/Tokyo")
allSession = time(timeframe.period, "0000-0000")
inSession = useAllMarkets ? not na(allSession) : sessionChoice == "New York" ? not na(nySession) : sessionChoice == "London" ? not na(londonSession) : sessionChoice == "Tokyo" ? not na(tokyoSession) : false
bgcolor(showSessionBox and inSession ? color.new(color.blue, 90) : na)
// === ETH Session Window (22-Hour Futures) ===
ethStart = timestamp(sessionTZ, year, month, dayofmonth - 1, 17, 00)
ethEnd = timestamp(sessionTZ, year, month, dayofmonth, 15, 00)
inEthWindow = time("30") >= ethStart and time("30") <= ethEnd
ethHigh = inEthWindow ? high : na
ethLow = inEthWindow ? low : na
ethClose = inEthWindow ? close : na
extHigh = ta.highest(ethHigh, 100)
extLow = ta.lowest(ethLow, 100)
extClose = ta.valuewhen(not na(ethClose), ethClose, 0)
// === Value Area Calculations ===
vaRange = (extHigh - extLow) * 0.68
vah = extHigh - ((extHigh - extLow - vaRange) / 2)
val = extLow + ((extHigh - extLow - vaRange) / 2)
poc = (extHigh + extLow + extClose) / 3
finalVAH = useManualLevels ? manualVAH : vah
finalVAL = useManualLevels ? manualVAL : val
finalPOC = useManualLevels ? manualPOC : poc
// === Signal Logic ===
validLongDay = extClose < finalVAL
validShortDay = extClose > finalVAH
insideVA = close > finalVAL and close < finalVAH
reenteredFromBelow = validLongDay and close > finalVAL
reenteredFromAbove = validShortDay and close < finalVAH
var int barsInside = 0
barsInside := ta.change(time("D")) ? 0 : insideVA ? barsInside + 1 : 0
insideConfirmed = barsInside >= 3
retestVAL = validLongDay and low <= finalVAL
retestVAH = validShortDay and high >= finalVAH
longSignal = inSession and validLongDay and reenteredFromBelow and insideConfirmed and retestVAL
shortSignal = inSession and validShortDay and reenteredFromAbove and insideConfirmed and retestVAH
longBar = longSignal and not longSignal[1]
shortBar = shortSignal and not shortSignal[1]
// === Strategy Entries ===
if longBar
strategy.entry("Long", strategy.long, comment="80% Long Signal")
if shortBar
strategy.entry("Short", strategy.short, comment="80% Short Signal")
// === Strategy Exits at POC ===
strategy.exit("Long to POC", from_entry="Long", limit=finalPOC)
strategy.exit("Short to POC", from_entry="Short", limit=finalPOC)
// === Track Full Move (Visual Only) ===
longFullHit = longBar and high >= finalVAH
shortFullHit = shortBar and low <= finalVAL
plotshape(longFullHit, title="Full Move Long", location=location.abovebar, color=color.green, style=shape.triangleup, text="FULL")
plotshape(shortFullHit, title="Full Move Short", location=location.belowbar, color=color.red, style=shape.triangledown, text="FULL")
// === Debug Diagnostics ===
if debugMode and (longBar or shortBar)
debugText = (useManualLevels ? "Manual Mode" : "Auto Mode") + " | TZ: " + sessionTZ + " | 80% Triggered | barsInside: " + str.tostring(barsInside)
label.new(bar_index, close, debugText, xloc.bar_index, longBar ? yloc.belowbar : yloc.abovebar, style=label.style_label_left, textcolor=color.white, size=size.small, color=color.new(color.gray, 70))