मोमेंटम आर्बिट्रेज रणनीति का बैकटेस्टिंग विश्लेषण


निर्माण तिथि: 2023-10-25 11:10:59 अंत में संशोधित करें: 2023-10-25 11:10:59
कॉपी: 0 क्लिक्स: 728
1
ध्यान केंद्रित करना
1617
समर्थक

मोमेंटम आर्बिट्रेज रणनीति का बैकटेस्टिंग विश्लेषण

रणनीति का नाम

इस रणनीति की मुख्य विशेषताओं के आधार पर, मैंने इसे गतिशीलता-व्यापार रणनीति नाम दिया है।

रणनीतिक रूपरेखा

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

तीन, रणनीति

कोड पहले पैरामीटर Length, TopBand और LowBand सेट करता है, Length गणना गति की दिन की अवधि का प्रतिनिधित्व करता है, और TopBand और LowBand सेट की ऊपर और नीचे की सीमा का प्रतिनिधित्व करते हैं।

और फिर हाल ही में Lengthday की पूर्ण गति xMom की गणना करें, और फिर Lengthday की सरल चलती औसत xSMA_mom की गणना करें।

इसके बाद Length दिन में संचयी गति xMomLength‬ की गणना की जाती है।

फिर गतिज कंपन सूचक nRes की गणना करें, जो xMomLength को xSMA_mom से विभाजित करके और फिर लंबाई से गुणा करके 100 गुना बढ़ाया गया है।

nRes और ऊपरी और निचले थ्रेशोल्ड के आकार के संबंध के आधार पर बहु-विभाजन दिशा को देखते हुए, पॉज़ में जमा करें।

अंत में, यदि रिवर्स ट्रेडिंग को सक्षम किया गया है, तो पॉसिग को संशोधित करें, एक ट्रेडिंग सिग्नल पॉसिग उत्पन्न करें, और मल्टी-फ्री एंट्री उत्पन्न करें।

4. रणनीतिक लाभ

  1. गतिशीलता संकेतकों का उपयोग ट्रेंड के संभावित मोड़ को पहचानने और ट्रेंड को पकड़ने के लिए किया जाता है
  2. थ्रेशोल्ड फ़िल्टरिंग के साथ एक स्पष्ट पॉलीहोम सिग्नल बनाने के लिए, गलत ट्रेडों से बचें
  3. रिवर्स ट्रेडिंग विचारधारा का उपयोग करके रिवर्स अवसर प्राप्त करें
  4. पैरामीटर को अनुकूलित किया जा सकता है और विभिन्न किस्मों और चक्रों के लिए अनुकूलित किया जा सकता है
  5. ट्रेडिंग तर्क को समझने के लिए दृश्यमान पैरामीटर

पांच, रणनीतिक जोखिम

  1. केवल गतिशीलता को ध्यान में रखते हुए, अन्य तकनीकी संकेतकों द्वारा उत्पन्न व्यापारिक अवसरों को याद किया जा सकता है
  2. गतिशीलता में वृद्धि का मतलब यह नहीं है कि रुझान बदल रहा है, गलतफहमी का खतरा है
  3. रिवर्स ट्रेडों में लाभ की गुंजाइश है, लेकिन घाटे में वृद्धि हो सकती है
  4. अनुचित पैरामीटर अनुकूलन के कारण बहुत अधिक बार व्यापार किया जा सकता है या सर्वोत्तम बिंदुओं को याद किया जा सकता है
  5. आकस्मिक घटनाओं के कारण अल्पकालिक गतिशीलता विरूपण को उचित रूप से फ़िल्टर करने की आवश्यकता

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

6. रणनीतिक अनुकूलन

  1. ट्रेडिंग सिग्नल की सटीकता बढ़ाने के लिए अन्य तकनीकी संकेतकों को फ़िल्टर करें

गति संकेतों को ट्रिगर करने से पहले, यह निर्धारित किया जा सकता है कि क्या समापन मूल्य औसत रेखा प्रणाली के ऊपर है या उतार-चढ़ाव सामान्य सीमा के भीतर है, जिससे भ्रम से बचा जा सके।

  1. प्रजनन विशेषताओं के आधार पर अनुकूलन पैरामीटर

उच्च अस्थिरता वाली किस्मों के लिए, अस्थिरता में उतार-चढ़ाव की सामान्य सीमा को उचित रूप से बढ़ाया जा सकता है, जिससे व्यापार की आवृत्ति कम हो जाती है।

  1. विभिन्न समय चक्रों के अनुसार बहु-समय फ़्रेम अनुकूलन

दिन के दौरान, छोटी अवधि की लंबाई का उपयोग करके, सुपर शॉर्ट लाइन ट्रेड किया जा सकता है; परिमिति को सर्किट या चंद्र रेखा के अनुसार समायोजित करने के लिए, मध्य-लंबी रेखा की प्रवृत्ति पर ध्यान केंद्रित करें।

  1. शर्तों से परे नीचे सेट करें

जब एक bullish संकेत ट्रिगर किया जाता है, तो एक झूठे संकेत से बचने के लिए एक पूर्व-लहर घाटी की तुलना में अधिक कीमतों की आवश्यकता होती है।

VII. निष्कर्ष

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

रणनीति स्रोत कोड
/*backtest
start: 2023-09-24 00:00:00
end: 2023-10-24 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 07/02/2017
//    This indicator plots Chande Momentum Oscillator. This indicator was 
//    developed by Tushar Chande. A scientist, an inventor, and a respected 
//    trading system developer, Mr. Chande developed the CMO to capture what 
//    he calls "pure momentum". For more definitive information on the CMO and 
//    other indicators we recommend the book The New Technical Trader by Tushar 
//    Chande and Stanley Kroll.
//    The CMO is closely related to, yet unique from, other momentum oriented 
//    indicators such as Relative Strength Index, Stochastic, Rate-of-Change, 
//    etc. It is most closely related to Welles Wilder`s RSI, yet it differs 
//    in several ways:
//        - It uses data for both up days and down days in the numerator, thereby 
//          directly measuring momentum;
//        - The calculations are applied on unsmoothed data. Therefore, short-term 
//          extreme movements in price are not hidden. Once calculated, smoothing 
//          can be applied to the CMO, if desired;
//        - The scale is bounded between +100 and -100, thereby allowing you to 
//          clearly see changes in net momentum using the 0 level. The bounded scale 
//          also allows you to conveniently compare values across different securities.
////////////////////////////////////////////////////////////
strategy(title="CMO (Chande Momentum Oscillator)", shorttitle="CMO")
Length = input(9, minval=1)
TopBand = input(70, minval=1)
LowBand = input(-70, maxval=-1)
reverse = input(false, title="Trade reverse")
// hline(0, color=gray, linestyle=dashed)
// hline(TopBand, color=red, linestyle=line)
// hline(LowBand, color=green, linestyle=line)
xMom = abs(close - close[1])
xSMA_mom = sma(xMom, Length)
xMomLength = close - close[Length]
nRes = 100 * (xMomLength / (xSMA_mom * Length))
pos = iff(nRes > TopBand, 1,
	   iff(nRes <= LowBand, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
         iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue)
plot(nRes, color=blue, title="CMO")