इनसाइड प्राइस स्ट्रेंथ ट्रेंड रिवर्सल ट्रेडिंग सिस्टम

IBS EMA 趋势跟踪 反转交易 价格动量 RSI 风险管理 止损策略 多时间周期分析
निर्माण तिथि: 2025-03-05 09:55:24 अंत में संशोधित करें: 2025-03-05 09:55:24
कॉपी: 0 क्लिक्स: 415
2
ध्यान केंद्रित करना
319
समर्थक

इनसाइड प्राइस स्ट्रेंथ ट्रेंड रिवर्सल ट्रेडिंग सिस्टम इनसाइड प्राइस स्ट्रेंथ ट्रेंड रिवर्सल ट्रेडिंग सिस्टम

अवलोकन

आंतरिक मूल्य शक्ति प्रवृत्ति रिवर्स ट्रेडिंग सिस्टम एक दिन-रेखा-स्तरीय ट्रेडिंग रणनीति है जो आंतरिक मूल्य शक्ति (आईबीएस) संकेतक पर आधारित है। इस रणनीति का मूल संभावित बाजार रिवर्स पॉइंट की पहचान करना है और बाजार के ओवरबॉय ओवरसोल की स्थिति का आकलन करने के लिए अपने उच्च-निचले बिंदुओं के भीतर पिछले स्ट्रेचलाइन समापन मूल्य की तुलनात्मक स्थिति की निगरानी करना है। यह रणनीति विशेष रूप से स्टॉक और यूएस इंडेक्स ट्रेडिंग के लिए उपयुक्त है, डिफ़ॉल्ट पैरामीटर एसपीवाई / एसपीएक्स और एनडीक्यू / क्यूक्यूक्यू जैसे प्रमुख सूचकांकों के लिए अनुकूलित है। एक प्रवृत्ति फ़िल्टर के रूप में इंडेक्स चलती औसत ईएमए का उपयोग करके, यह रणनीति लंबी अवधि के रुझानों का पालन करने के साथ-साथ अल्पकालिक मूल्य में उतार-चढ़ाव के अवसरों को पकड़ने में सक्षम है।

रणनीति सिद्धांत

इस रणनीति के केंद्र में आंतरिक मूल्य शक्ति (आईबीएस) सूचकांक की गणना और अनुप्रयोग है। आईबीएस सूचकांक की गणना निम्नलिखित सूत्रों के माध्यम से की जाती हैः

IBS = (前一日收盘价 - 前一日最低价) / (前一日最高价 - 前一日最低价)

IBS का मान हमेशा 0 से 1 के बीच होता हैः

  • 0.2 से नीचे आईबीएस को अक्सर ओवरसोल्ड के रूप में व्याख्या किया जाता है, जिसका अर्थ है कि बाजार में तेजी आ सकती है
  • 0.9 से अधिक IBS का मतलब है कि बाजार में ओवरबॉय है, जिसका अर्थ है कि बाजार में सुधार होने की संभावना है

इस रणनीति के लिए ट्रेडिंग नियम इस प्रकार हैं:

  1. कई प्रवेश शर्तें:

    • शर्त 1: आईबीएस उपयोगकर्ता-परिभाषित प्रवेश सीमा से कम है (डिफ़ॉल्ट 0.09)
    • शर्त 2: वर्तमान मूल्य N चक्रों के लिए इंडेक्स की चलती औसत (EMA) से ऊपर है (डिफ़ॉल्ट चक्र 220 है)
    • नोटः उपयोगकर्ता ईएमए अवधि को 0 पर सेट करके ईएमए शर्त को निष्क्रिय कर सकता है
  2. उन्होंने कहा,

    • जब IBS की वृद्धि उपयोगकर्ता-परिभाषित आउटपुट थ्रेशोल्ड (डिफ़ॉल्ट 0.985) से अधिक हो जाती है
    • या जब ट्रेडिंग की अवधि अधिकतम ट्रेडिंग चक्र (डिफ़ॉल्ट 14 दिन) तक पहुंच जाती है

इसके अलावा, रणनीति में “न्यूनतम नए प्रवेश की दूरी का प्रतिशत” पैरामीटर भी शामिल किया गया है ताकि यह सुनिश्चित किया जा सके कि नए पद केवल तब ही खोले जाएंगे जब कीमत में पर्याप्त वापसी होगी, जिससे वापसी के जोखिम को कम किया जा सके और धन प्रबंधन का अनुकूलन किया जा सके।

रणनीतिक लाभ

  1. बाजार समय को सटीक रूप से पकड़नाः आईबीएस सूचकांक का उपयोग करके बाजार के ओवरबॉय और ओवरसेलिंग की स्थिति को सटीक रूप से पकड़ना, प्रवेश और बाहर निकलने के लिए एक निष्पक्ष गणितीय आधार प्रदान करना, और व्यक्तिपरक निर्णय से होने वाले विचलन को कम करना।

  2. रुझान फ़िल्टरिंग तंत्रः ईएमए के माध्यम से एक प्रवृत्ति फ़िल्टर के रूप में, यह सुनिश्चित करें कि व्यापार की दिशा मुख्य प्रवृत्ति के साथ संगत है, और प्रतिगामी व्यापार के जोखिम से प्रभावी रूप से बचें। रणनीति ईएमए चक्र को विभिन्न बाजार विशेषताओं के अनुसार समायोजित कर सकती है, या इस शर्त को पूरी तरह से अक्षम कर सकती है।

  3. लचीली स्थिति प्रबंधनः रणनीति पिरामिड को बढ़ावा देती है ((अधिकतम 2 बार), और “न्यूनतम नए प्रवेश की दूरी प्रतिशत” पैरामीटर को पेश किया गया है, जो एक अधिक बुद्धिमान बैच निर्माण भंडारण तंत्र को लागू करता है, जो कीमतों की वापसी के दौरान औसत भंडारण लागत को प्रभावी ढंग से कम कर सकता है।

  4. स्वचालित जोखिम नियंत्रणः रणनीति अधिकतम पोजीशन समय सीमा निर्धारित करती है, और यहां तक कि अगर बाजार ने नियमित रूप से बाहर निकलने के संकेत को ट्रिगर नहीं किया है, तो यह पूर्वनिर्धारित अधिकतम ट्रेडिंग चक्र के बाद स्वचालित रूप से पोजीशन को खाली कर देगा, जिससे एकल ट्रेडों के जोखिम जोखिम समय पर प्रभावी नियंत्रण होगा।

  5. पैरामीटर अनुकूलनः डिफ़ॉल्ट पैरामीटर SPY और QQQ/NDQ जैसे प्रमुख बाजार सूचकांकों के लिए अनुकूलित हैं, और उपयोगकर्ता सीधे अनुशंसित सेटिंग्स को लागू कर सकते हैंः

    • QQQ अनुशंसित सेटिंग्सः प्रवेश थ्रेशोल्ड 0.09, आउटपुट थ्रेशोल्ड 0.985, ईएमए चक्र 220, न्यूनतम प्रवेश दूरी 0%, अधिकतम होल्डिंग दिन 14 दिन
    • SPY अनुशंसित सेटिंग्सः प्रवेश थ्रेशोल्ड 0.11, बाहर निकलने थ्रेशोल्ड 0.995, ईएमए चक्र 200, न्यूनतम प्रवेश दूरी 0%, अधिकतम होल्डिंग दिन 12 दिन
  6. व्यापक ट्रेडिंग मोडः केवल अधिक, केवल शून्य या द्वि-दिशात्मक ट्रेडिंग मोड का समर्थन करता है, जो विभिन्न बाजार स्थितियों और ट्रेडिंग शैलियों के लिए उपयुक्त है।

रणनीतिक जोखिम

  1. पैरामीटर संवेदनशीलताः आईबीएस प्रवेश और निकास थ्रेशोल्ड रणनीति के प्रदर्शन को प्रभावित करते हैं, गलत पैरामीटर सेटिंग से ओवर-ट्रेडिंग या महत्वपूर्ण ट्रेडिंग अवसरों को याद किया जा सकता है। वास्तविक बाजार में आवेदन करने से पहले, विशिष्ट ट्रेडिंग किस्मों के लिए पर्याप्त ऐतिहासिक डेटा रिट्रेसिंग और पैरामीटर अनुकूलन की सिफारिश की जाती है।

  2. बाजार में उतार-चढ़ाव का जोखिमः बिना किसी स्पष्ट प्रवृत्ति के बाजार में उतार-चढ़ाव के दौरान, IBS सिग्नल अक्सर आ सकते हैं, जिससे ओवरट्रेडिंग और अनावश्यक लेनदेन की लागत बढ़ जाती है। समाधान फ़िल्टरिंग शर्तों को जोड़ना है, जैसे कि कई लगातार IBS सिग्नल की पुष्टि करना या अन्य संकेतकों (जैसे एटीआर) के साथ मिलकर बाजार की अस्थिरता का आकलन करना।

  3. तेजी से रुझान परिवर्तन की देरीः जब बाजार में तेजी से रुझान परिवर्तन होता है, तो पिछले दिन के आंकड़ों के आधार पर आईबीएस संकेतक में देरी हो सकती है, जिससे प्रवेश या बाहर निकलने का समय खराब हो जाता है। उच्च अस्थिरता के दौरान आईबीएस थ्रेशोल्ड को उचित रूप से समायोजित करने या अधिकतम स्थिति रखने की अवधि को कम करने की सिफारिश की जाती है।

  4. धन प्रबंधन जोखिमः डिफ़ॉल्ट रूप से खाते में 50% धन का उपयोग करें, जो कई बार जमा करने के मामले में जोखिम के जोखिम को बढ़ा सकता है। उपयोगकर्ताओं को अपनी जोखिम सहनशीलता के आधार पर स्थिति के आकार और जमा मापदंडों को समायोजित करने की सलाह दी जाती है।

  5. तकनीकी कार्यान्वयन की सीमाएंः रणनीति समापन मूल्य पर आधारित है, जो वास्तविक संचालन में स्लाइड और मूल्य अंतर का सामना कर सकती है। इस तरह के जोखिम को कम करने के लिए, समापन से पहले एक निश्चित समय के लिए ऑर्डर करने या बाजार मूल्य के बजाय सीमा शुल्क का उपयोग करने पर विचार किया जा सकता है।

रणनीति अनुकूलन दिशा

  1. गतिशील थ्रेशोल्ड समायोजनः वर्तमान रणनीति में एक निश्चित आईबीएस प्रवेश और निकास थ्रेशोल्ड का उपयोग किया जाता है और बाजार की अस्थिरता के आधार पर इन थ्रेशोल्ड को समायोजित करने पर विचार किया जा सकता है। उदाहरण के लिए, उच्च अस्थिरता अवधि के दौरान प्रवेश थ्रेशोल्ड को उचित रूप से बढ़ाएं और झूठे संकेतों को कम करने के लिए निकास थ्रेशोल्ड को कम करें; कम अस्थिरता अवधि के दौरान, एक अधिक कट्टरपंथी सेटिंग को अपनाया जा सकता है। विशिष्ट कार्यान्वयन आईबीएस थ्रेशोल्ड को एटीआर (वास्तविक औसत) या ऐतिहासिक अस्थिरता दर से जोड़कर किया जा सकता है।

  2. बहु-समय चक्र पुष्टिः बहु-समय चक्र विश्लेषण ढांचे को पेश करने के लिए, ट्रेडों को निष्पादित करने के लिए एक साथ अल्पकालिक और मध्यावधि आईबीएस संकेतों की पुष्टि की आवश्यकता होती है। उदाहरण के लिए, दिन की रेखा आईबीएस सिग्नल के अलावा, परिधि रेखा या 4-घंटे की रेखा के आईबीएस मान की गणना की जा सकती है, केवल जब कई समय चक्र ओवरबॉट या ओवरसोल्ड स्थिति दिखाते हैं, तो संकेत की गुणवत्ता में काफी सुधार किया जा सकता है।

  3. स्मार्ट स्टॉपः वर्तमान रणनीतियाँ केवल आईबीएस आउटपुट सिग्नल और अधिकतम होल्डिंग समय जोखिम नियंत्रण पर निर्भर करती हैं, और अधिक बुद्धिमान स्टॉप को पेश किया जा सकता है। उदाहरण के लिए, एटीआर-आधारित गतिशील स्टॉप, ट्रैक स्टॉप या समर्थन / प्रतिरोध बिंदु-आधारित स्टॉप रणनीतियाँ, लाभ को बेहतर ढंग से संरक्षित करने और एकल-व्यापार जोखिम को नियंत्रित करने के लिए।

  4. बाजार की स्थिति स्व-अनुकूलनः बाजार की स्थिति की पहचान करने के लिए एक तंत्र की शुरूआत, विभिन्न बाजार स्थितियों के तहत विभिन्न पैरामीटर सेटिंग्स का उपयोग करना ((ट्रेंडिंग शहर, अस्थिर बाजार) । बाजार की स्थिति को पहचानने के लिए ADX ((औसत दिशा सूचकांक) या अन्य प्रवृत्ति ताकत संकेतक के माध्यम से बाजार की स्थिति की पहचान की जा सकती है, मजबूत प्रवृत्ति वातावरण में IBS शर्तों को ढीला करना, अस्थिर बाजार में अधिक सख्त IBS थ्रेशोल्ड का उपयोग करना।

  5. मशीन लर्निंग ऑप्टिमाइज़ेशनः मशीन लर्निंग टेक्नोलॉजी का उपयोग IBS सिग्नल को ऑप्टिमाइज़ और फ़िल्टर करने के लिए किया जाता है। प्रशिक्षण मॉडल की पहचान करें कि कौन से IBS सिग्नल अधिक लाभदायक ट्रेडों को उत्पन्न करने की संभावना रखते हैं और बाजार की विशेषताओं के अनुसार पैरामीटर को स्वचालित रूप से समायोजित करते हैं, रणनीति के अनुकूलन प्रदर्शन को प्राप्त करने के लिए। इस पद्धति से रणनीति की स्थिरता और अनुकूलन क्षमता में काफी वृद्धि हो सकती है, खासकर जब विभिन्न बाजार स्थितियों और व्यापार की किस्मों का सामना करना पड़ता है।

संक्षेप

आंतरिक मूल्य शक्ति प्रवृत्ति उलट व्यापार प्रणाली एक दिन रेखा स्तर व्यापार रणनीति है जो आंतरिक मूल्य शक्ति (आईबीएस) सूचक और सूचकांक चलती औसत (ईएमए) को जोड़ती है। यह रणनीति संभावित बाजार उलट बिंदुओं की पहचान करके और लंबी अवधि के रुझानों का पालन करके व्यापार निर्णयों को अनुकूलित करने के लिए विशेष रूप से स्टॉक और यूएस इंडेक्स ट्रेडिंग के लिए उपयुक्त है। इसके मुख्य लाभ इसके उद्देश्यपूर्ण गणितीय मॉडल, लचीली स्थिति प्रबंधन और अंतर्निहित जोखिम नियंत्रण तंत्र में हैं।

रणनीति SPY/SPX और NDQ/QQQ जैसे प्रमुख बाजार सूचकांकों के लिए पैरामीटर अनुकूलित है, और उपयोगकर्ता अनुशंसित सेटिंग्स को सीधे व्यापार करने के लिए लागू कर सकते हैं। हालांकि, किसी भी व्यापारिक रणनीति में जोखिम शामिल हैं, जिसमें पैरामीटर संवेदनशीलता, बाजार में उतार-चढ़ाव का जोखिम और तेजी से प्रवृत्ति में बदलाव के तहत पिछड़ापन शामिल है।

भविष्य के अनुकूलन में गतिशील थ्रेशोल्ड समायोजन, बहु-समय चक्र पुष्टिकरण, स्मार्ट स्टॉप लॉस तंत्र, बाजार की स्थिति के अनुकूलन और मशीन सीखने के अनुकूलन शामिल हैं। इन सुधारों से रणनीति की अनुकूलनशीलता और स्थिरता में और सुधार हो सकता है, जिससे यह विभिन्न बाजार स्थितियों में अच्छा प्रदर्शन कर सके।

एक मात्रात्मक ट्रेडिंग रणनीति के रूप में, आंतरिक मूल्य शक्ति प्रवृत्ति उलटा ट्रेडिंग सिस्टम व्यापारियों को एक नियम-आधारित, निष्पक्ष ट्रेडिंग पद्धति प्रदान करता है, जो व्यापारिक निर्णयों पर भावनात्मक कारकों के प्रभाव को कम करता है और अधिक सुसंगत और अनुमानित व्यापारिक परिणामों को प्राप्त करने में मदद करता है।

रणनीति स्रोत कोड
/*backtest
start: 2024-03-05 00:00:00
end: 2025-03-03 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"SOL_USDT"}]
*/

//Implementation by AlgoTradeKit
//v.0.5
//The IBS Trading Strategy is a daily bars long-only trading system, based on the concept of Internal Bar Strength (IBS). 
//The strategy aims to identify potential reversals by monitoring how the previous bar’s close positions itself within its high-low range. 
//It is suitable for stock and US indices. The default parameters are optimized for SPY/SPX and NDQ/QQQ
//Setting for QQQ: 0.09, 0.985, 220, 0, 14
//Setting for SPY: 0.11, 0.995, 200, 0, 12

//@version=6
strategy("IBS (Internal Bar Strength) Trading Strategy for SPY and NDQ", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=50, pyramiding = 2, currency = currency.USD, process_orders_on_close=false)

// ***** INPUTS *****
// IBS thresholds
ibsEntryThreshold = input.float(0.09, title="IBS Entry Threshold", step=0.01, tooltip="IBS = (Previous Close - Previous Low) / (Previous High - Previous Low), and IBS value below 0.2 is typically interpreted as an oversold condition, while a value above 0.9 suggests an overbought state.")
ibsExitThreshold  = input.float(0.985, title="IBS Exit Threshold", step=0.01, tooltip="IBS = (Previous Close - Previous Low) / (Previous High - Previous Low), and IBS value below 0.2 is typically interpreted as an oversold condition, while a value above 0.9 suggests an overbought state.")
// EMA period (set to 0 to disable the EMA condition)
emaPeriod = input.int(220, title="EMA Period (0 to disable)", minval=0, maxval=5000, step=1, tooltip="Exponential Moving Average Filter Period (0 to disable)")
// Minimum percentage drop required for a new entry (for dollar-cost averaging)
minEntryPct = input.float(0, title="Minimum Distance for New Entry (%)", step=0.05, minval=0.0, maxval=100, tooltip = "Distance in Price from Last Opened Position, in Percentage Terms (%)")
maxTradeDuration = input.int(title="Maximum Trade Duration (days)", defval=14, minval=1, step=1, maxval=1000, tooltip = "Exit at close if maximum trade duration is reached.")


// Persistent variable to record the bar index when the trade is entered.
var int entryBarIndex = na

// ***** EMA CALCULATION *****
// Calculate the EMA globally if the period is greater than 0, otherwise leave as na.
emaValue = emaPeriod > 0 ? ta.ema(close, emaPeriod) : na

// ***** IBS CALCULATION *****
// Calculate IBS using the previous bar’s values.
// Guard against division by zero: if previous high equals previous low, default IBS to 0.5.
prevHigh  = high[1]
prevLow   = low[1]
prevClose = close[1]
ibs = (prevHigh != prevLow) ? (prevClose - prevLow) / (prevHigh - prevLow) : 0.5

// ***** ENTRY AND EXIT CONDITIONS *****
// Define the EMA condition: if emaPeriod is 0, bypass the EMA check.
emaConditionLong = emaPeriod == 0 or (close > emaValue)
emaConditionShort = emaPeriod == 0 or (close < emaValue)

// Entry: IBS is below the entry threshold and the EMA condition holds.
enterLong = (ibs < ibsEntryThreshold) and emaConditionLong 
enterShort = (ibs > ibsExitThreshold) and emaConditionShort 

// Exit: IBS is above the exit threshold.
exitLong = ibs > ibsExitThreshold
exitShort = ibs < ibsEntryThreshold

// ***** DOLLAR-COST AVERAGING CONDITION IN PERCENTAGE *****
// Track the last entry price. Reset when there is no open position.
var float lastEntryPrice = na
if strategy.position_size == 0
    lastEntryPrice := na

// If there is no previous entry, the condition is met.
// Otherwise, allow a new entry only if the current price is lower than the last entry price
// by at least the predefined percentage (converted to a fraction).
dcaCondition = na(lastEntryPrice) or ((close < lastEntryPrice) and (((lastEntryPrice - close) / lastEntryPrice) >= (minEntryPct / 100)))
dcaConditionShort = na(lastEntryPrice) or ((close > lastEntryPrice) and (((close - lastEntryPrice) / lastEntryPrice) >= (minEntryPct / 100)))


// ***** STRATEGY ORDERS *****
// Enter a long position only if both the entry condition and the DCA condition are met.
if enterLong and dcaCondition 
    strategy.entry("Long", strategy.long)
    lastEntryPrice := close  // update the last entry price
    entryBarIndex := bar_index

if enterShort and dcaConditionShort 
    strategy.entry("Short", strategy.short)
    lastEntryPrice := close  // update the last entry price
    entryBarIndex := bar_index

// Compute trade duration in days using the absolute difference
tradeDuration = not na(entryBarIndex) ? math.abs(bar_index - entryBarIndex) : 0

// Exit the long position when the exit condition is met or if the trade duration reaches maxTradeDuration days.
if exitLong or (tradeDuration >= maxTradeDuration)
    strategy.close("Long")

// Exit the long position when the exit condition is met or if the trade duration reaches maxTradeDuration days.
if exitShort or (tradeDuration >= maxTradeDuration)
    strategy.close("Short")

// ***** PLOTTING *****
// Plot IBS for reference, along with horizontal lines for the entry and exit thresholds.
//plot(ibs, title="IBS", color=color.blue, linewidth=2)
//hline(ibsEntryThreshold, title="IBS Entry Threshold", color=color.green)
//hline(ibsExitThreshold, title="IBS Exit Threshold", color=color.red)