मोमेंटम चैनल फॉलोइंग रणनीति


निर्माण तिथि: 2023-12-25 13:14:24 अंत में संशोधित करें: 2023-12-25 13:14:24
कॉपी: 0 क्लिक्स: 729
1
ध्यान केंद्रित करना
1621
समर्थक

मोमेंटम चैनल फॉलोइंग रणनीति

अवलोकन

यह रणनीति गतिशील चैनल संकेतक पर आधारित है जो ट्रेडिंग सिग्नल डिजाइन करती है। यह रणनीति केवल मल्टीहेड ट्रेडिंग करती है। यदि कोई बेचने का संकेत मिलता है, तो यह स्थिति खाली हो जाती है।

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

इस रणनीति में SMA औसत और ATR वास्तविक अस्थिरता का उपयोग करके गतिशीलता चैनल का निर्माण किया गया है। चैनल के अपर-रेल और डाउन-रेल क्रमशः हैंः

ऊपर की पटरी = SMA + ATR * कारक नीचे ट्रैक = SMA - ATR * कारक

जब कीमत ऊपर की ओर जाती है, तो यह एक खरीद संकेत उत्पन्न करता है; जब कीमत नीचे की ओर जाती है, तो यह एक बिक्री संकेत उत्पन्न करता है।

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

इस तरह की रणनीति का तर्क इस प्रकार है:

  1. एसएमए और एटीआर का उपयोग करके गतिशील चैनल बनाना
  2. जब कीमत ऊपर की ओर जाती है, तो स्टॉक मूल्य सेट करें और अधिक ऑर्डर करें
  3. जब कीमतें नीचे की ओर जाती हैं, तो पहले के ओवरऑर्डर्स को समतल करें, जिससे स्थिति खाली हो जाए

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

इस रणनीति के निम्नलिखित फायदे हैं:

  1. रणनीति तर्क सरल, स्पष्ट और आसानी से समझने योग्य है
  2. गतिशीलता चैनल सूचक सहज ज्ञान युक्त, बाजार के रुझानों के बारे में सटीक निर्णय
  3. स्टॉप लॉस के जोखिम को ट्रैक करने से बचने के लिए केवल मल्टी हेड ट्रेड करें
  4. शर्तों को एक साथ रखना, सटीक प्रविष्टियों के लिए

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

इस रणनीति के कुछ जोखिम भी हैं:

  1. बाजारों में उतार-चढ़ाव के दौरान, बार-बार पोजीशन खोलना संभव है
  2. यह एक बहुत ही कठिन काम है, लेकिन हम इसे पूरा करने में सक्षम हैं।
  3. कोई बाहर निकलने की व्यवस्था नहीं है, बाहर निकलने के बिंदु को मैन्युअल रूप से निर्धारित करना होगा

क्या करें?

  1. चैनल मापदंडों का अनुकूलन, कम त्रुटि संकेत
  2. दो-तरफा लेन-देन के लिए एक खाली मॉड्यूल जोड़ें
  3. मोबाइल स्टॉप, ट्रेलिंग स्टॉप और अन्य से बाहर निकलने की व्यवस्था

अनुकूलन दिशा

इस रणनीति को निम्नलिखित पहलुओं से अनुकूलित किया जा सकता हैः

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

संक्षेप

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

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

//@version=3
strategy("Keltner Channel Strategy", overlay=true)
source = close

useTrueRange = input(true)
length = input(20, minval=1)
mult = input(1.0)

ma = sma(source, length)
range = useTrueRange ? tr : high - low
rangema = sma(range, length)
upper = ma + rangema * mult
lower = ma - rangema * mult

crossUpper = crossover(source, upper)
crossLower = crossunder(source, lower)

bprice = 0.0
bprice := crossUpper ? high+syminfo.mintick : nz(bprice[1])

sprice = 0.0
sprice := crossLower ? low -syminfo.mintick : nz(sprice[1]) 

crossBcond = false
crossBcond := crossUpper ? true 
 : na(crossBcond[1]) ? false : crossBcond[1]

crossScond = false
crossScond := crossLower ? true 
 : na(crossScond[1]) ? false : crossScond[1]

cancelBcond = crossBcond and (source < ma or high >= bprice )
cancelScond = crossScond and (source > ma or low <= sprice )

if (cancelBcond)
    strategy.cancel("KltChLE")

if (crossUpper)
    strategy.entry("KltChLE", strategy.long, stop=bprice, comment="KltChLE")

if (cancelScond)
    strategy.cancel("KltChSE")

if (crossLower)
    strategy.entry("KltChSE", strategy.short, stop=sprice, comment="KltChSE")

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)