घातीय चलती औसत और वॉल्यूम भार पर आधारित मात्रात्मक रणनीति

लेखक:चाओझांग, दिनांकः 2024-01-25 15:31:21
टैगः

img

अवलोकन

सिद्धांत

xMAVolPrice = ema(volume * close, length)
xMAVol = ema(volume, length) 
nRes = xMAVolPrice / xMAVol

जहां xMAVolPrice समापन मूल्य और मात्रा के उत्पाद का घातीय चलती औसत है, जो मूल्य और मात्रा की संयुक्त जानकारी को दर्शाता है; xMAVol केवल मात्रा का घातीय चलती औसत है; nRes दो घातीय चलती औसत का अनुपात है, जो समायोजित मूल्य जानकारी को दर्शाता है।

if (nRes < close[1])  
    long
if (nRes > close[1]) 
    short

यदि nRes अंतिम समापन मूल्य से कम है, तो इसका अर्थ है कि वॉल्यूम समायोजित मूल्य नवीनतम मूल्य से कम है, जो एक खरीद संकेत है; यदि nRes अंतिम समापन मूल्य से अधिक है, तो इसका अर्थ है कि वॉल्यूम समायोजित मूल्य नवीनतम मूल्य से अधिक है, जो एक बिक्री संकेत है।

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

लाभ विश्लेषण

इस रणनीति के मुख्य लाभ इस प्रकार हैंः

  1. झूठे संकेतों को कम करें। वॉल्यूम वेटिंग अपर्याप्त वॉल्यूम के कारण होने वाले कुछ झूठे ब्रेकआउट को फ़िल्टर कर सकती है। यह प्रभावी रूप से अनावश्यक व्यापार को कम कर सकता है और फंसने से बच सकता है।

  2. लागू करने में आसान। रणनीति का विचार सरल और स्पष्ट है, समझने और लागू करने में आसान है, और मात्रात्मक व्यापार की आवश्यकताओं को पूरा करता है।

जोखिम विश्लेषण

यद्यपि इस रणनीति के कुछ फायदे हैं, लेकिन इसके साथ निम्नलिखित जोखिम भी हैं:

  1. वॉल्यूम की जानकारी अविश्वसनीय है। वॉल्यूम संकेतक हेरफेर के लिए प्रवण हैं और स्थिरता की कमी है, जो भ्रामक हो सकती है।

  2. लंबी और छोटी अवधि के लिए निर्णय लेने के लिए कम अवसर। सरल प्रवृत्ति-अनुसरण रणनीतियों की तुलना में, निर्णय लेने के लिए इस रणनीति के लिए अवसर अपेक्षाकृत छोटे हैं, जिससे आसानी से अपर्याप्त व्यापार हो सकता है।

  3. मापदंड चयन में कठिनाई। मापदंडों का चयन जैसे कि चलती औसत दिन की लंबाई का रणनीति के प्रदर्शन पर बहुत प्रभाव पड़ेगा। अनुचित चयन से रिटर्न बहुत कम हो सकता है।

  4. बाजार में तेज बदलाव का जोखिम। तेजी से चलने वाले बाजार में, सूचक गणना समय पर नवीनतम कीमतों पर प्रतिक्रिया करने में सक्षम नहीं हो सकती है, जिसके परिणामस्वरूप सबसे अच्छा व्यापार बिंदु गायब हो जाता है।

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

अनुकूलन दिशाएँ

इस रणनीति के अनुकूलन के लिए मुख्य दिशाएं हैंः

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

  2. स्थिति प्रबंधन तंत्र को बढ़ाएं। बाजार की अस्थिरता के अनुसार, जोखिमों को प्रभावी ढंग से नियंत्रित करने के लिए प्रत्येक व्यापार के आकार को गतिशील रूप से समायोजित करें।

  3. अनुकूली मापदंड अनुकूलन एल्गोरिदम. लंबाई जैसे मापदंडों को स्वचालित रूप से अनुकूलित करने के लिए एल्गोरिदम स्थापित किए जा सकते हैं, ताकि वे विभिन्न चक्र बाजारों की विशेषताओं के अनुसार अनुकूली रूप से समायोजित कर सकें।

  4. मशीन लर्निंग मॉडल का उपयोग करें। आरएनएन और अन्य डीप लर्निंग मॉडल का उपयोग अंत-से-अंत गैर-रैखिक रणनीतियों को प्राप्त करने के लिए बहुभिन्नरूपी सुविधा मॉडलिंग के लिए किया जा सकता है।

सारांश


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 06/03/2017
// The related article is copyrighted material from Stocks & Commodities 2009 Oct 
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Combining Exponential And Volume Weighting", overlay=true)
length = input(22, minval=1)
reverse = input(false, title="Trade reverse")
xMAVolPrice = ema(volume * close, length)
xMAVol = ema(volume, length)
nRes = xMAVolPrice / xMAVol
pos = iff(nRes < close[1], 1,
	     iff(nRes > close[1], -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)

अधिक