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

लेखक:चाओझांग, दिनांकः 2023-12-11 13:12:44
टैगः

img

अवलोकन

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

रणनीति तर्क

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

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

लाभ

  1. एटीआर और प्राइस रेंज बाजार की अस्थिरता को ट्रैक करने के लिए एक अनुकूलनशील चैनल बनाते हैं
  2. ट्रेंड ट्रेड एवीआर स्पष्ट रूप से मध्यम और दीर्घकालिक रुझान का आकलन करता है
  3. बोलिंगर बैंड्स झूठे ब्रेकआउट को फ़िल्टर करते हैं और संकेत की गुणवत्ता में सुधार करते हैं
  4. यह प्रणाली मजबूत रुझान को दर्शाती है, लंबी अवधि के लिए अच्छा रिटर्न प्राप्त कर सकती है।

जोखिम

  1. कुछ अचानक घटनाओं के कारण लंबी अवधि के लिए भारी नुकसान हो सकता है।
  2. अनुचित पैरामीटर सेटिंग से ओवर-ट्रेडिंग, लेनदेन लागत में वृद्धि और फिसलन हो सकती है
  3. प्रदर्शन पैरामीटर ट्यूनिंग पर बहुत निर्भर करता है

समाधान:

  1. रखरखाव अवधि को ठीक से कम करें और स्टॉप लॉस सेट करें
  2. संकेतों को पर्याप्त बफर देने के लिए पैरामीटर अनुकूलित करें
  3. पैरामीटर ट्यूनिंग के लिए ऐतिहासिक डेटा और लाइव ट्रेडिंग का उपयोग करें

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

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

निष्कर्ष

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


/*backtest
start: 2022-12-04 00:00:00
end: 2023-12-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 16/10/2018
// This is plots the indicator developed by Andrew Abraham 
// in the Trading the Trend article of TASC September 1998  
// It was modified, result values wass averages.
// And draw two bands above and below TT line.
////////////////////////////////////////////////////////////
strategy(title="Trend Trader Bands Backtest", overlay = true)
Length = input(21, minval=1),
LengthMA = input(21, minval=1),
BandStep = input(20),
Multiplier = input(3, minval=1)
reverse = input(false, title="Trade reverse")
avgTR      = wma(atr(1), Length)
highestC   = highest(Length)
lowestC    = lowest(Length)
hiLimit = highestC[1]-(avgTR[1] * Multiplier)
loLimit = lowestC[1]+(avgTR[1] * Multiplier)
ret = 0.0
ret :=  iff(close > hiLimit and close > loLimit, hiLimit,
         iff(close < loLimit and close < hiLimit, loLimit, nz(ret[1], 0)))
nResMA = ema(ret, LengthMA)        
pos = 0.0
pos := iff(close < nResMA - BandStep , -1,
       iff(close > nResMA + BandStep, 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 ) 
barcolor(pos == -1 ? red: pos == 1 ? green : blue )
plot(nResMA, color= blue , title="Trend Trader AVR")
plot(nResMA+BandStep, color= red , title="Trend Trader UpBand")
plot(nResMA-BandStep, color= green, title="Trend Trader DnBand")

अधिक