गतिशील मूविंग एवरेज ट्रैकिंग रणनीति


निर्माण तिथि: 2023-12-04 15:38:09 अंत में संशोधित करें: 2023-12-04 15:38:09
कॉपी: 5 क्लिक्स: 699
1
ध्यान केंद्रित करना
1619
समर्थक

गतिशील मूविंग एवरेज ट्रैकिंग रणनीति

अवलोकन

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

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

इस रणनीति का मूल तर्क उच्च और निम्न के लिए 3 चरणों की चलती औसत की गणना करना है। विशेष रूप से, यह गतिशील समर्थन और प्रतिरोध उत्पन्न करने के लिए नवीनतम 3 बार की ऊंचाइयों और निम्न के लिए सूचकांक चलती औसत की गणना करने के लिए ta.ema फ़ंक्शन का उपयोग करता है। जब कीमत निचली औसत से नीचे गिरती है, तो यह दर्शाता है कि यह वर्तमान में गिरावट में है, इसलिए हम अधिक कर सकते हैं; जब कीमत फिर से ऊंची औसत से ऊपर उठती है, तो यह दर्शाता है कि यह बढ़ी हुई प्रवृत्ति समाप्त हो गई है। इस तरह, रणनीति गतिशील रूप से मूल्य परिवर्तन को ट्रैक कर सकती है, कम खरीद और बेचने के लिए।

श्रेष्ठता विश्लेषण

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

जोखिम और समाधान

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

अनुकूलन दिशा

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

संक्षेप

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

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

//@version=5
strategy(
     "Larry Williams 3 Period EMAs strategy",
     overlay=true,
     calc_on_every_tick=true,
     currency=currency.USD
     )

// Time range for backtesting
startDate = input.int(title="Start Date", defval=1, minval=1, maxval=31)
startMonth = input.int(title="Start Month", defval=1, minval=1, maxval=12)
startYear = input.int(title="Start Year", defval=2018, minval=1800, maxval=2100)

endDate = input.int(title="End Date", defval=31, minval=1, maxval=31)
endMonth = input.int(title="End Month", defval=12, minval=1, maxval=12)
endYear = input.int(title="End Year", defval=2041, minval=1800, maxval=2100)

inDateRange = (time >= timestamp(syminfo.timezone, startYear, startMonth, startDate, 0, 0)) and
     (time < timestamp(syminfo.timezone, endYear, endMonth, endDate, 0, 0))

// EMA
period = 3

emaH = ta.ema(high, period)
emaL = ta.ema(low, period)

// PLOT:
// Draw the EMA lines on the chart
plot(series=emaH, color=color.green, linewidth=2)
plot(series=emaL, color=color.red, linewidth=2)

// Conditions
if(inDateRange and close < emaL)
    strategy.entry("Long", strategy.long, comment="Long")
if(close > emaH)
    strategy.close("Long", comment="Close Long")

// Uncomment to enable short entries
//if(inDateRange and close > emaH)                                    
//    strategy.entry("Short", strategy.short, comment="Short")    
//if(close < emaL)
//    strategy.close("Short", comment="Close Short")