मल्टी टाइमफ्रेम मूविंग एवरेज पॉलबैक ट्रेडिंग रणनीति

लेखक:चाओझांग, दिनांकः 2024-02-29 11:20:28
टैगः

img

अवलोकन

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

रणनीति तर्क

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

विशेष रूप से, जब निम्नलिखित शर्तें पूरी हो जाती हैं, तो लंबी प्रविष्टि ट्रिगर की जाती हैः बंद > 200-दिवसीय एसएमए और बंद < 10-दिवसीय एसएमए। जब निम्नलिखित शर्तें पूरी होती हैं, तो छोटी प्रविष्टि ट्रिगर की जाती हैः बंद < 200-दिवसीय एसएमए और बंद > 10-दिवसीय एसएमए।

प्रवेश के बाद, एक 10% स्टॉप लॉस तंत्र लागू किया जाता है। यदि प्रवेश मूल्य से प्रतिगमन 10% से अधिक है तो स्थिति को रोक दिया जाएगा। इसके अलावा, यदि i_lowerClose विकल्प सक्षम है, तो यह बाहर निकलने से पहले एक निचले बंद की प्रतीक्षा करेगा, स्टॉप लॉस की अत्यधिक संवेदनशीलता से बचने के लिए।

लाभ विश्लेषण

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

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

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

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

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

बाजार के व्यापक सुधारों के दौरान, उदाहरण के लिए वित्तीय संकट के दौरान, इस रणनीति को बड़े नुकसान का सामना करना पड़ सकता है। ऐसे समय में लाभप्रदता की संभावना नहीं है।

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

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

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

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

निष्कर्ष

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


/*backtest
start: 2024-01-29 00:00:00
end: 2024-02-28 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) // 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)

अधिक