उन्नत बोलिंगर बैंड मूविंग एवरेज ग्रिड ट्रेंड ट्रैकिंग रणनीति

लेखक:चाओझांग, दिनांक: 2023-11-24 14:48:28
टैगः

img

अवलोकन

इस रणनीति का नाम Advanced Bollinger Band Moving Average Grid Trend Tracking Strategy है। यह एक रणनीति है जो ट्रेंड निर्धारण के लिए बोलिंगर बैंड और मूविंग एवरेज का उपयोग करती है और ट्रेंड दिशा को ट्रैक करने के लिए ग्रिड पोजीशन स्थापित करती है।

सिद्धांत

इस रणनीति का मुख्य विचार यह हैः

  1. वर्तमान बाजार अस्थिरता रेंज का न्याय करने के लिए बोलिंगर बैंड का उपयोग करें। बोलिंगर बैंड का मध्य रेल एन-दिवसीय सरल चलती औसत है, और चौड़ाई एन-दिवसीय एटीआर औसत आयाम है।

  2. बोलिंगर बैंड के बाहर चार लाइनें औसत वास्तविक अस्थिरता आयाम लाइनों के असामान्य गुणक हैं। रणनीति लाइनों के विभिन्न स्तरों के माध्यम से तोड़ने पर स्थिति स्थापित करती है।

  3. ईएमए तेजी से और धीमी गति से चलने वाले औसत बड़े चक्र की प्रवृत्ति दिशा निर्धारित करते हैं। केवल बड़े चक्र के उभरते रुझान में लंबे समय तक जाएं और इसके विपरीत शॉर्ट जाएं।

  4. ट्रेंड दिशा में ट्रेक और बिल्ड पोजीशन, पिन बार देखने पर मुनाफे के लिए बंद पोजीशन।

विशेष रूप से इस रणनीति के मुख्य भाग हैंः

  1. बोलिंगर बैंड पैरामीटर निर्धारित करें. बोलिंगर बैंड का मध्य रेल एन-दिवसीय एसएमए चलती औसत है, और बोलिंगर बैंड की चौड़ाई एन-दिवसीय एटीआर है. रणनीति में बोलिंगर लंबाई एन 20 है.

  2. बोलिंगर बैंड के बाहर चार विस्तारित रेखाएं सेट करें। रेखाओं और मध्य रेल के बीच की दूरी औसत वास्तविक अस्थिरता आयाम के 1.236 गुना, 2.382 गुना, 3.618 गुना और 4.236 गुना है।

  3. बड़े चक्र के रुझान को निर्धारित करने के लिए तेज और धीमी ईएमए चलती औसत सेट करें। तेज रेखा की लंबाई 25 दिन है और धीमी रेखा 200 दिन है।

  4. एक बड़े चक्र में ऊपर की ओर बढ़ते हुए नीचे की चार रेखाओं को तोड़ते समय धीरे-धीरे लंबी स्थिति स्थापित करें।

  5. जब एक पिन बार दिखाई देता है या कीमत फिर से बड़े चक्र चलती औसत को पार करती है, तो इसे लाभ के लिए पदों को बंद करने के लिए एक पिन बार समाप्त संकेत के रूप में माना जाता है।

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

लाभ विश्लेषण

इस रणनीति के मुख्य लाभ इस प्रकार हैंः

  1. प्रवृत्ति विशेषताओं का पूर्ण उपयोग करें, बड़े चक्रों में प्रवृत्ति की दिशा निर्धारित करें, अनावश्यक रिवर्स संचालन को कम करने के लिए प्रवृत्ति की दिशा में स्थिति बनाएं।

  2. कई बोलिंगर रेखाओं का प्रयोग वर्तमान अस्थिरता सीमा को अधिक स्पष्ट रूप से निर्धारित कर सकता है, जो अधिकांश रुझानों को पकड़ने के लिए अनुकूल है।

  3. ग्रिड पोजीशन पद्धति स्थिर रिटर्न प्राप्त करने के लिए धन की प्रत्येक इकाई पर जोखिमों को समान रूप से वितरित कर सकती है।

  4. स्थिति को बंद करने के लिए पिन बार उच्च दक्षता संकेतों का उपयोग जल्दी से लाभ में लॉक कर सकता है।

  5. समग्र रणनीति में रुझान निर्धारण, ग्रिड स्थिति और विशिष्ट संकेत स्थिति समापन शामिल है। यह अपेक्षाकृत परिपक्व और पूर्ण मात्रात्मक रणनीति है।

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

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

  1. बड़े चक्र की प्रवृत्ति को गलत तरीके से निर्धारित करने की संभावना। तेज और धीमी गति से चलती औसत में त्रुटि की कुछ संभावना है, जिससे अनावश्यक उलट संचालन हो सकते हैं।

  2. बोलिंगर लाइन ब्रेकआउट विफलताओं की संभावना बोलिंगर लाइनें कीमत पथों की 100% सटीकता से भविष्यवाणी नहीं कर सकती हैं।

  3. पिन बार सिग्नल देर से आ सकते हैं और समय पर मुनाफे में लॉक नहीं कर सकते।

  4. बड़े चक्र के सदमे के समायोजन के दौरान बहुत अधिक ओवरलैपिंग स्थिति बनाना आसान है।

संबंधित समाधान हैंः

  1. त्रुटियों की संभावना को कम करने के लिए तेज और धीमी गति से चलती औसत मापदंडों को समायोजित करें।

  2. बोलिंगर लाइन पैरामीटर को समायोजित करें ताकि बोलिंगर लाइनें अधिकतर उतार-चढ़ाव के लिए जितना संभव हो उतना चिपके रहें।

  3. लाभ लेने के संकेतों के लिए अधिक संवेदनशील विशिष्ट पैटर्न का परीक्षण करें।

  4. नियंत्रण स्थिति आकार के लिए अंतराल दूरी बढ़ाएँ।

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

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

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

  2. बोलिंगर चैनल चौड़ाई सेटिंग्स का अनुकूलन करने के लिए विभिन्न गुणक एटीआर मापदंडों का परीक्षण करें। बोलिंगर बैंड को वास्तविक उतार-चढ़ाव के करीब रखें।

  3. अन्य कुशल लाभ लेने वाले संकेतों का परीक्षण करें। उदाहरण के लिए, SAR, Kalman Lines, आदि।

  4. ओवरलैपिंग पदों को कम करने के लिए अस्थिरता अंतराल को अधिक समान रूप से विभाजित करने के लिए ग्रिड अंतराल को अनुकूलित करें।

  5. स्टॉप लॉस के तंत्र को बढ़ाएं. चरम बाजार स्थितियों में भारी नुकसान से बचें.

सारांश

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


/*backtest
start: 2023-10-24 00:00:00
end: 2023-11-23 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Aayonga

//@version=5
strategy("fib trend grid@Aa", overlay=true)

//回测时间
useDateFilter=input.bool(true,title = "启用回测时间范围限定(backtest)", group = "回测范围(backtest)")
backtesStarDate=input(timestamp("1 Jan 2015"),title = "开始时间(Start)", group = "回测范围(backtest)")
backtestEndDate=input(timestamp("1 Jan 2040"),title = "结束时间(finish)",group = "回测范围(backtest)")
inTradeWindow=true


//入场位 entry
bolllen=input.int(defval=20,minval=1,title="布林长度,(boll length)",group = "入场位(entry)")
sma=ta.sma(close,bolllen)
avg=ta.atr(bolllen)
fib1=input(defval=1.236,title="Fib 1",group = "入场位(entry)")
fib2=input(defval=2.382,title="Fib 2",group = "入场位(entry)")
fib3=input(defval=3.618,title="fib 3",group = "入场位(entry)")
fib4=input(defval=4.236,title="Fib 4",group = "入场位(entry)")
r1=avg*fib1
r2=avg*fib2
r3=avg*fib3
r4=avg*fib4
top4=sma+r4
top3=sma+r3
top2=sma+r2
top1=sma+r1
bott1=sma-r1
bott2=sma-r2
bott3=sma-r3
bott4=sma-r4



//趋势 plot

t4=plot(top4,title="卖 (sell)4",color=color.rgb(244, 9, 9))
t3=plot(top3,title = "卖(sell) 3",color=color.rgb(211, 8, 8))
t2=plot(top2,title="卖 (sell)2",color=color.rgb(146, 13, 13))
t1=plot(top1,title="卖(sell) 1",color=color.rgb(100, 3, 3))

b1=plot(bott1,title="买(buy1)1",color=color.rgb(4, 81, 40))
b2=plot(bott2,title="买(buy)2",color=color.rgb(15, 117, 46))
b3=plot(bott3,title = "买(buy)3",color =color.rgb(8, 176, 42) )
b4=plot(bott4,title="买(buy)4",color=color.rgb(15, 226, 103))
plot(sma,style=plot.style_cross,title="SMA",color=color.rgb(47, 16, 225))

//趋势
LengthF=input(defval = 25,title = "快线长度(fastlength)")
LengthS=input(defval=200,title = "慢线长度(slowlength)")
emaF=ta.ema(close,LengthF)
smaS=ta.sma(close,LengthS)
longTrend=emaF>smaS
longb=ta.crossover(emaF,smaS)
bgcolor(longb ? color.new(color.green,40):na,title = "多头强势(bull trend)")
shortTrend=smaS>emaF
shortb=ta.crossunder(emaF,smaS)
bgcolor(shortb ? color.new(#951313, 40):na,title = "空头强势(bear trend)")

//pinbar
bullPinBar = ((close > open) and ((open - low) > 0.6* (high - low))) or ((close < open) and ((close - low) > 0.9 * (high - low)))
//plotshape(bullPinBar  , text ="pinbar", textcolor=color.rgb(9, 168, 144),location=location.belowbar, color=color.rgb(29, 103, 67), size=size.tiny)
bearPinBar = ((close > open) and ((high - close) > 0.7 * (high - low))) or ((close < open) and ((high - open) > 0.7 * (high - low)))
//plotshape(bearPinBar  , text ="pinbar", textcolor=color.rgb(219, 12, 12),location=location.abovebar, color=color.rgb(146, 7, 7), size=size.tiny)

buy1=ta.crossunder(close,bott1) and longTrend and close>ta.ema(close,100)
buy2=ta.crossunder(close,bott2) and longTrend 
buy3=ta.crossunder(close,bott3) and longTrend 
buy4=ta.crossunder(close,bott4) and longTrend 
buyclose=bearPinBar or ta.crossunder(close,smaS)




if buy2 or buy3 or buy4 or buy1 and inTradeWindow
    strategy.order("多(buy)",strategy.long)

if buyclose  and inTradeWindow
    strategy.close("多(buy)")

sell1=ta.crossover(close,top1) and shortTrend and close<ta.ema(close,200)
sell2=ta.crossover(close,top2) and shortTrend and close<ta.ema(close,200)
sell3=ta.crossover(close,top3) and shortTrend and close<ta.ema(close,200)
sell4=ta.crossover(close,top4) and shortTrend and close<ta.ema(close,200)
sellclose=bullPinBar or ta.crossover(close,ta.sma(close,220))

if  sell1 or sell2 or sell3 or sell4 and inTradeWindow
    strategy.order("空(sell)",strategy.short)

if sellclose  and inTradeWindow
    strategy.close("空(sell)")
     

अधिक