यह रणनीति बाजार में रुझानों और उलटफेरों को अनुकूलनशील तरीके से पकड़ने के लिए रुझानों के अनुसरण करने वाले मीट्रिक वीएफआई और मूविंग एवरेज को रिवर्स इंडिकेटर बोलिंगर बैंड्स के साथ जोड़ती है।
इस रणनीति के मुख्य घटक निम्नलिखित हैंः
यह प्रवृत्ति निर्धारित करने के लिए वीएफआई संकेतक है। यह मूल्य और मात्रा को उचित रूप से मेल खाने के लिए विशिष्ट मूल्य और व्यापारिक मात्रा के परिवर्तन की लघुगणकीय दर का उपयोग करता है।
प्रवृत्ति निर्धारित करने के लिए ईएमए अंतर संकेतक। यह मध्य-लंबी अवधि की प्रवृत्ति दिशा का न्याय करने के लिए 20-दिवसीय ईएमए और 50-दिवसीय ईएमए के बीच प्रतिशत अंतर की गणना करता है।
रिवर्स का पता लगाने के लिए बोलिंगर बैंड। मध्य बैंड 20 दिन का एसएमए है, और बैंड की चौड़ाई मध्य बैंड का 1.5 मानक विचलन है। जब कीमत ऊपरी या निचले बैंड को तोड़ती है तो ट्रेडिंग सिग्नल उत्पन्न होते हैं।
थकावट का पता लगाने के लिए VFI आयाम। जब VFI अपनी सीमाओं (0, 20) के करीब है, तो रुझान उलटने की संभावना अधिक माना जाता है।
जब मूल्य बोलिंगर बैंड के ऊपरी भाग से ऊपर टूटता है और वीएफआई और ईएमए अंतर ऊपर की ओर प्रवृत्ति का संकेत देता है, तो लंबा हो जाता है। जब मूल्य निचले बैंड से नीचे टूटता है या वीएफआई एक सीमा तक पहुंचता है, तो स्थिति बंद हो जाती है।
वीएफआई की शुरूआत से मूल्य-मात्रा संबंध अधिक उचित हो जाता है और कीमतों का अंधाधुंध पालन करने से बचा जाता है।
ईएमए अंतर और वीएफआई का संयोजन प्रवृत्ति निर्धारण को अधिक विश्वसनीय बनाता है।
बोलिंगर बैंड और वीएफआई का संयोजन रणनीति को बाजार में द्विदिश उतार-चढ़ाव के लिए अधिक अनुकूल बनाता है।
वॉल्यूम-प्राइस इंडिकेटर झूठे ब्रेकआउट के जोखिम से पूरी तरह से बच नहीं सकते हैं।
ईएमए अंतर में कुछ विलंब होता है और यह अल्पकालिक मोड़ पर समय पर प्रतिक्रिया नहीं कर सकता है।
बोलिंगर बैंड के अनुचित मापदंडों से बाजार में ओवरट्रेडिंग या कब्जा हो सकता है।
समाधान:
किसी एक सूचक पर निर्भर होने से बचने के लिए प्रवृत्ति निर्धारित करने के लिए कई संकेतकों को मिलाएं।
ईएमए मापदंडों को उचित मानों पर समायोजित करें.
विभिन्न बाजार स्थितियों में रणनीति पर बोलिंगर मापदंडों के प्रभावों का परीक्षण करें।
इसे अधिक संवेदनशील बनाने के लिए वीएफआई मापदंडों का अनुकूलन जारी रखें।
मूल्य चैनलों या लिफाफे संकेतक के आधार पर ब्रेकआउट निर्णय जोड़ें।
ओबीवी, पीवीटी आदि जैसे अधिक मात्रा-मूल्य संकेतकों की शुरूआत का परीक्षण करें।
गतिशील मापदंड अनुकूलन को प्राप्त करने के लिए मशीन लर्निंग और एआई तकनीकों का परिचय देना।
इस रणनीति में दो तरफा बाजार उतार-चढ़ाव को पकड़ने के लिए वीएफआई, ईएमए अंतर और बोलिंगर बैंड के साथ प्रवृत्ति का पालन और उलट पहचान को व्यापक रूप से माना गया है। अगला कदम मापदंडों का अनुकूलन जारी रखना, निर्णय मेट्रिक्स को समृद्ध करना, प्रयोज्यता का विस्तार करना और लाभप्रदता में सुधार करना है।
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-24 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/ // © beststockalert //@version=4 strategy(title="Super Bollinger Band Breakout", shorttitle = "Super BB-BO", overlay=true) source = close length = input(130, title="VFI length") coef = input(0.2) vcoef = input(2.5, title="Max. vol. cutoff") signalLength=input(5) // session pre = input( type=input.session, defval="0400-0935") trade_session = input( type=input.session, defval="0945-1700") use_trade_session = true isinsession = use_trade_session ? not na(time('1', trade_session)) : true is_newbar(sess) => t = time("D", sess) not na(t) and (na(t[1]) or t > t[1]) is_session(sess) => not na(time(timeframe.period, sess)) preNew = is_newbar(pre) preSession = is_session(pre) float preLow = na preLow := preSession ? preNew ? low : min(preLow[1], low) : preLow[1] float preHigh = na preHigh := preSession ? preNew ? high : max(preHigh[1], high) : preHigh[1] // vfi 9lazybear ma(x,y) => 0 ? sma(x,y) : x typical=hlc3 inter = log( typical ) - log( typical[1] ) vinter = stdev(inter, 30 ) cutoff = coef * vinter * close vave = sma( volume, length )[1] vmax = vave * vcoef vc = iff(volume < vmax, volume, vmax) //min( volume, vmax ) mf = typical - typical[1] vcp = iff( mf > cutoff, vc, iff ( mf < -cutoff, -vc, 0 ) ) vfi = ma(sum( vcp , length )/vave, 3) vfima=ema( vfi, signalLength ) //ema diff ema20 = ema(close,20) ema50 = ema(close,50) diff = (ema20-ema50)*100/ema20 ediff = ema(diff,20) // basis = sma(source, 20) dev = 1.5 * stdev(source, 20) upper = basis + dev lower = basis - dev ema9 = ema(source, 9) if ( ((crossover(source, upper) and diff>ediff and diff>0) or (close>upper and (vfi >0 or vfima>0 or ediff>0.05) and (vfi<14 or vfima<14)) )) strategy.entry("Long", strategy.long) if (crossunder(source, lower) or vfi>19 or vfima>19 or diff<(ediff+0.01) ) strategy.close("Long")