मूविंग एवरेज आधारित रिट्रेसमेंट ट्रेडिंग रणनीति


निर्माण तिथि: 2024-02-21 17:03:31 अंत में संशोधित करें: 2024-02-21 17:03:31
कॉपी: 0 क्लिक्स: 648
1
ध्यान केंद्रित करना
1617
समर्थक

मूविंग एवरेज आधारित रिट्रेसमेंट ट्रेडिंग रणनीति

अवलोकन

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

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

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

विशेष रूप से, जब निम्नलिखित शर्तें पूरी होती हैं, तो अधिक प्रवेश करेंः कीमत 200 दिन की रेखा से अधिक है, कीमत 10 दिन की रेखा से कम है, पहले कोई स्थिति नहीं थी। जब निम्नलिखित शर्तें पूरी होती हैं, तो सपाट स्थिति से बाहर निकलेंः कीमत 10 दिन की रेखा से अधिक है, पहले एक बहुस्तरीय स्थिति थी। भारी नुकसान को रोकने के लिए, FAILSAFE स्टॉप लॉस सेट किया गया है, यदि उच्चतम बिंदु से 10% से अधिक निकासी की जाती है, तो सीधे स्टॉप लॉस से बाहर निकलें।

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

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

इस रणनीति का सबसे बड़ा लाभ यह है कि यह कम पूंजीगत लागत के साथ ट्रेंड का पालन करता है और अतिरिक्त आय की तलाश करता है। इसके विशिष्ट फायदे इस प्रकार हैंः

  1. लंबी-लघु अवधि की औसत रेखाओं के संयोजन का उपयोग करके, मुख्य स्तरों के रुझान की दिशा का आकलन किया जा सकता है, जिससे मध्यम और लंबी रेखाओं के रुझान के अवसरों को प्रभावी ढंग से लॉक किया जा सकता है, जिससे अल्पकालिक घटनाओं से भ्रामक रूप से बचा जा सकता है।

  2. शॉर्ट-टर्म रिट्रीट इनवॉइसिंग को अपनाकर, खरीद लागत को कम से कम किया जा सकता है, जिससे उच्च लाभप्रदता के लिए जगह मिलती है।

  3. FAILSAFE स्टॉप लॉस सिस्टम को स्थापित करें, जो व्यक्तिगत नुकसान को प्रभावी ढंग से नियंत्रित कर सकता है और खाते के धन की सुरक्षा कर सकता है।

  4. स्टॉपबॉक्स से बाहर निकलने के लिए ट्रैक करने की अनुमति देता है, जो अतिरिक्त अल्फा प्राप्त करने के लिए मध्य-लंबी प्रवृत्ति के अवसरों का लाभ उठाने के लिए है।

  5. इस प्रकार, व्यापारियों के लिए यह एक बहुत ही सरल रणनीति है, क्योंकि यह पूरी तरह से यांत्रिक है, जो भावनाओं को प्रभावित नहीं करता है।

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

इस रणनीति में मुख्य रूप से निम्नलिखित जोखिम हैं:

  1. वास्तविक बाजार की स्थिति ऐतिहासिक डेटा से भिन्न हो सकती है, जिसके परिणामस्वरूप वास्तविक समय के व्यापार प्रभाव में गिरावट आ सकती है।

  2. झूठे ब्रेकआउट जोखिम. यदि कीमत केवल औसत रेखा के पास टच करती है, तो रिवर्स रिडक्शन की संभावना अधिक होती है, जिससे मामूली नुकसान हो सकता है।

  3. रुझान में बदलाव का जोखिम. मध्य-लंबी रेखा में रुझान में अचानक बदलाव आम है, और इस स्थिति में स्थिति रखने से अधिक नुकसान हो सकता है।

यह इस प्रकार है:

  1. अधिक से अधिक नमूनों का उपयोग करें और अधिक ऐतिहासिक डेटा का उपयोग करें ताकि परिणामों की विश्वसनीयता सुनिश्चित की जा सके।

  2. पैरामीटर का अनुकूलन करें, ट्रेडिंग सिग्नल की गुणवत्ता सुनिश्चित करने के लिए समानांतर प्रणाली पैरामीटर संयोजन को समायोजित करें

  3. स्टॉप लॉस को उचित रूप से ढीला करें, कीमतों को कुछ समायोजन स्थान दें, अत्यधिक संवेदनशील स्टॉप लॉस से बचें।

अनुकूलन दिशा

इस रणनीति को और अधिक अनुकूलित किया जा सकता हैः

  1. फ़िल्टरिंग की शर्तों को जोड़ना, जैसे कि लेनदेन की मात्रा को फ़िल्टर करना, झूठी सफलताओं से उत्पन्न अनावश्यक लेनदेन को कम करने में मदद कर सकता है।

  2. केडीजे, एमएसीडी, आदि जैसे अन्य संकेतकों के साथ संयोजन में, संकेतकों का एक पोर्टफोलियो बनाने के लिए, ट्रेडिंग सिग्नल की गुणवत्ता में सुधार किया जा सकता है।

  3. विभिन्न पोजीशन होल्ड समय का परीक्षण, स्टॉप और स्टॉप लॉस रणनीतियों को अनुकूलित करना, और शार्प रेट को और बेहतर बनाना।

  4. बाजार की स्थिति के अनुसार गतिशील रूप से पैरामीटर को समायोजित करें, अनुकूलन पैरामीटर अनुकूलन तंत्र बनाएं, जिससे रणनीति अधिक कठोर हो।

  5. एल्गोरिथम ट्रेडिंग मॉड्यूल को जोड़ना, मशीन लर्निंग जैसे तरीकों का उपयोग करके स्वचालित रूप से ट्रेडिंग सिग्नल उत्पन्न करना, मानव हस्तक्षेप को कम करना।

संक्षेप

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

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

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © irfanp056
// @version=5

strategy("Simple Pullback Strategy", 
     overlay=true, 
     initial_capital=100000,
     default_qty_type=strategy.percent_of_equity, 
     default_qty_value=1000, // 100% of balance invested on each trade
     commission_type=strategy.commission.cash_per_contract, 
     commission_value=0.005) // Interactive Brokers rate

// Get user input
i_ma1           = input.int(title="MA 1 Length", defval=200, step=10, group="Strategy Parameters", tooltip="Long-term MA")
i_ma2           = input.int(title="MA 2 Length", defval=10, step=10, group="Strategy Parameters", tooltip="Short-term MA")
i_stopPercent   = input.float(title="Stop Loss Percent", defval=0.10, step=0.1, group="Strategy Parameters", tooltip="Failsafe Stop Loss Percent Decline")
i_lowerClose    = input.bool(title="Exit On Lower Close", defval=false, group="Strategy Parameters", tooltip="Wait for a lower-close before exiting above MA2")
i_startTime     = input(title="Start Filter", defval=timestamp("01 Jan 1995 13:30 +0000"), group="Time Filter", tooltip="Start date & time to begin searching for setups")
i_endTime       = input(title="End Filter", defval=timestamp("1 Jan 2099 19:30 +0000"), group="Time Filter", tooltip="End date & time to stop searching for setups")

// Get indicator values
ma1 = ta.sma(close, i_ma1)
ma2 = ta.sma(close, i_ma2)

// Check filter(s)
f_dateFilter = true

// Check buy/sell conditions
var float buyPrice = 0
buyCondition    = close > ma1 and close < ma2 and strategy.position_size == 0 and f_dateFilter
sellCondition   = close > ma2 and strategy.position_size > 0 and (not i_lowerClose or close < low[1])
stopDistance    = strategy.position_size > 0 ? ((buyPrice - close) / close) : na
stopPrice       = strategy.position_size > 0 ? buyPrice - (buyPrice * i_stopPercent) : na
stopCondition   = strategy.position_size > 0 and stopDistance > i_stopPercent

// Enter positions
if buyCondition
    strategy.entry(id="Long", direction=strategy.long)

if buyCondition[1]
    buyPrice := open

// Exit positions
if sellCondition or stopCondition
    strategy.close(id="Long", comment="Exit" + (stopCondition ? "SL=true" : ""))
    buyPrice := na

// Draw pretty colors
plot(buyPrice, color=color.lime, style=plot.style_linebr)
plot(stopPrice, color=color.red, style=plot.style_linebr, offset=-1)
plot(ma1, color=color.blue)
plot(ma2, color=color.orange)