
दोहरी प्रवृत्ति तोड़ने की रणनीति में कई तकनीकी संकेतकों का उपयोग किया जाता है, जिसमें मुख्य रूप से प्रवृत्ति रेखा, औसत रेखा के पार और मूल्य चैनल तोड़ने शामिल हैं, जिसका उद्देश्य बाजार की प्रवृत्ति में बदलाव की पहचान करना और प्रवृत्ति को बदलने के अवसरों को पकड़ना है। यह रणनीति प्रवृत्ति ट्रैकिंग और तोड़ने के संकेतों को जोड़ती है, जो स्थिति में प्रवेश करने और बाहर निकलने के लिए अपेक्षाकृत स्थिर है, लेकिन इसमें कुछ झूठे तोड़ने का जोखिम भी है।
इस रणनीति में सबसे पहले पॉलीहोलिक प्रवृत्ति को पॉलीहोलिक प्रवृत्ति को विभाजित करने के लिए एक्सल हाई और एक्सल लो का उपयोग किया जाता है, जब कीमत प्रवृत्ति रेखा को तोड़ती है, तो यह संकेत देती है कि संभावित प्रवृत्ति उलट जाती है। एटीआर विधि का उपयोग करके स्केलिंग की गणना की जाती है ताकि यह वास्तविक उतार-चढ़ाव के करीब हो सके।
इस रणनीति में अल्पकालिक 5 दिन की रेखा और दीर्घकालिक 34 दिन की रेखा का उपयोग किया जाता है, जो एक धीमी औसत रेखा क्रॉसिंग रणनीति का निर्माण करता है। लघु औसत रेखा पर लंबी औसत रेखा को खरीदने के लिए संकेत दिया जाता है, और नीचे एक बेचने के लिए संकेत दिया जाता है। अल्पकालिक रुझानों को पकड़ने के लिए तेजी से औसत रेखा का उपयोग करें, धीमी औसत रेखा लंबी अवधि के रुझानों को ट्रैक करें।
इस रणनीति में एक 5-दिवसीय मूल्य चैनल भी है, जो अपट्रेल खरीद को तोड़ता है, डाउनट्रेल बेचता है, और अल्पकालिक मूल्य टूटने को पकड़ता है।
इन तीनों तकनीकी संकेतकों के सिग्नल का संयोजन इस रणनीति में इस्तेमाल किया जाता है, जिससे दोहरे निर्णय की एक मजबूत प्रणाली बनती है और गलत ट्रेडों से बचा जाता है।
कई तकनीकी संकेतकों के एकीकरण से संकेतों को मजबूत माना जाता है, जिससे झूठी घुसपैठ से होने वाले नुकसान को कम किया जाता है।
तेजी से औसत रेखा और मूल्य चैनल अल्पकालिक मूल्य प्रवृत्ति में परिवर्तन को समय पर पकड़ने में सक्षम होते हैं। धीमी गति से औसत रेखा और प्रवृत्ति रेखा लंबी अवधि के रुझानों का अनुसरण करती है, और बाजार में प्रवेश और निकास अपेक्षाकृत स्थिर होता है।
कोड संरचना स्पष्ट है, संकेतक पैरामीटर समायोज्य है, और विभिन्न चक्रों और किस्मों के लिए अनुकूलित किया जा सकता है।
प्रवृत्ति निर्णय और ब्रेकआउट सिग्नल के संयोजन के साथ, प्रवृत्ति बुल बाजार में, बाजार में अधिक आक्रामकता लाभ के लिए अनुकूल है; रेंज में, ब्रेकआउट सिग्नल ट्रेडिंग की आवृत्ति कम हो जाती है, जो बड़े पैमाने पर झटके से बचने के लिए अनुकूल है।
एक निश्चित जोखिम है कि एक झूठी ब्रेकआउट, विशेष रूप से एक स्थिति में जहां कीमतों में उतार-चढ़ाव होता है, नुकसान का कारण बन सकता है।
औसत रेखा का पार करना एक विलंब संकेत है, और यदि कोई भारी प्रवृत्ति उलट जाती है, तो उच्च खरीद या कम बिक्री का जोखिम होता है।
कई तकनीकी संकेतकों को एकीकृत करने के लिए, पैरामीटर को अनुकूलित करने के लिए बहुत अधिक परीक्षण और गणना की आवश्यकता होती है, जो समय लेने वाली होती है।
झूठी तोड़ने के जोखिम के लिए, लेन-देन की मात्रा के संकेतकों को जोड़कर फ़िल्टर किया जा सकता है, उदाहरण के लिए, लेन-देन की मात्रा को तोड़ने के लिए बढ़ाया जाना चाहिए, या किसी K लाइन के समापन मूल्य ने पूर्व-उच्च या पूर्व-निम्न को नहीं तोड़ा है।
ओवरबॉट और ओवरसोल सूचकांक के लिए फ़िल्टर स्थितियां सेट की जा सकती हैं, जैसे कि आरएसआई सूचकांक ओवरबॉट से बचने के लिए। या स्टॉप-लॉस लाइन सेट करें, स्टॉप-लॉस को तेज करें।
पैरामीटर अनुकूलन की कठिनाई के लिए, मशीन सीखने के तरीकों का उपयोग करके अनुकूलन की सहायता की जा सकती है, जो कि विशाल ऐतिहासिक डेटा में इष्टतम पैरामीटर संयोजन की तलाश में है।
ट्रेंड की विश्वसनीयता का आकलन करने के लिए लेन-देन की मात्रा या ओवरबॉय ओवरसोल इंडिकेटर को जोड़ें, और झूठी तोड़फोड़ से बचने के लिए सख्त फ़िल्टरिंग शर्तें सेट करें।
विभिन्न ट्रेडिंग किस्मों के लिए, औसत रेखा पैरामीटर सेटिंग्स और मूल्य चैनल पैरामीटर को समायोजित करें ताकि वे उस किस्म की विशेषताओं के अनुकूल हों।
एकल घाटे को नियंत्रित करने के लिए स्टॉप-लॉस रणनीति को बढ़ाएं, जैसे कि स्टॉप-लॉस को स्थानांतरित करना, स्टॉप-लॉस को रोकना आदि।
अनुकूलनशीलता का उपयोग करें, जब बाजार में उतार-चढ़ाव के चरण में प्रवेश होता है, तो स्थिति खोलने की आवृत्ति को कम करें; जब रुझान स्पष्ट होता है, तो लेनदेन की आवृत्ति बढ़ाएं।
डीपीएल के माध्यम से ट्रेडिंग मॉडल को ट्रेडिंग के लिए अधिक प्रभावी ट्रेडिंग रणनीतियों की तलाश करने के लिए पारंपरिक तकनीकी संकेतकों को खरीदने या बेचने के लिए प्रशिक्षित किया जाता है।
इस रणनीति में कई सामान्य तकनीकी संकेतकों को एकीकृत किया गया है ताकि दोहरी निर्णय प्रणाली बनाई जा सके, जो प्रवृत्ति में परिवर्तन की प्रभावी पहचान कर सके, और फीडबैक में बेहतर स्थिरता दिखा सके। हालांकि, कुछ झूठे ब्रेकआउट जोखिमों पर भी ध्यान दिया जाना चाहिए, जो फ़िल्टरिंग शर्तों, स्टॉप लॉस रणनीतियों, पैरामीटर समायोजन और मशीन सीखने के तरीकों को जोड़कर अनुकूलित किया जा सकता है, जो रणनीति के प्रदर्शन को और बढ़ा सकता है।
/*backtest
start: 2024-02-11 00:00:00
end: 2024-02-18 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/
// © FinanceUpPvtLtd
//@version=5
strategy("FINANCE UP FREE STRATEGY (+919665229664)", overlay=true)
// Script 01 - Trendlines
length_tl = input.int(14, 'Swing Detection Lookback')
mult_tl = input.float(1., 'Slope', minval=0, step=.1)
calcMethod_tl = input.string('Atr', 'Slope Calculation Method', options=['Atr', 'Stdev', 'Linreg'])
backpaint_tl = input(true, tooltip='Backpainting offset displayed elements in the past. Disable backpainting to see real-time information returned by the indicator.')
upCss_tl = input(color.teal, 'Up Trendline Color', group='Style')
dnCss_tl = input(color.red, 'Down Trendline Color', group='Style')
showExt_tl = input(true, 'Show Extended Lines')
var upper_tl = 0.
var lower_tl = 0.
var slope_ph_tl = 0.
var slope_pl_tl = 0.
var offset_tl = backpaint_tl ? length_tl : 0
n_tl = bar_index
src_tl = close
ph_tl = ta.pivothigh(length_tl, length_tl)
pl_tl = ta.pivotlow(length_tl, length_tl)
slope_tl = switch calcMethod_tl
'Atr' => ta.atr(length_tl) / length_tl * mult_tl
'Stdev' => ta.stdev(src_tl, length_tl) / length_tl * mult_tl
'Linreg' => math.abs(ta.sma(src_tl * n_tl, length_tl) - ta.sma(src_tl, length_tl) * ta.sma(n_tl, length_tl)) / ta.variance(n_tl, length_tl) / 2 * mult_tl
slope_ph_tl := ph_tl ? slope_tl : slope_ph_tl
slope_pl_tl := pl_tl ? slope_tl : slope_pl_tl
upper_tl := ph_tl ? ph_tl : upper_tl - slope_ph_tl
lower_tl := pl_tl ? pl_tl : lower_tl + slope_pl_tl
var upos_tl = 0
var dnos_tl = 0
upos_tl := ph_tl ? 0 : close > upper_tl - slope_ph_tl * length_tl ? 1 : upos_tl
dnos_tl := pl_tl ? 0 : close < lower_tl + slope_pl_tl * length_tl ? 1 : dnos_tl
// var uptl_tl = line.new(na, na, na, na, color=upCss_tl, style=line.style_dashed, extend=extend.right)
// var dntl_tl = line.new(na, na, na, na, color=dnCss_tl, style=line.style_dashed, extend=extend.right)
// if ph_tl and showExt_tl
// uptl_tl.set_xy1(n_tl - offset_tl, backpaint_tl ? ph_tl : upper_tl - slope_ph_tl * length_tl)
// uptl_tl.set_xy2(n_tl - offset_tl + 1, backpaint_tl ? ph_tl - slope_tl : upper_tl - slope_ph_tl * (length_tl + 1))
// if pl_tl and showExt_tl
// dntl_tl.set_xy1(n_tl - offset_tl, backpaint_tl ? pl_tl : lower_tl + slope_pl_tl * length_tl)
// dntl_tl.set_xy2(n_tl - offset_tl + 1, backpaint_tl ? pl_tl + slope_tl : lower_tl + slope_pl_tl * (length_tl + 1))
plot(backpaint_tl ? upper_tl : upper_tl - slope_ph_tl * length_tl, 'Upper', color=ph_tl ? na : upCss_tl, offset=-offset_tl)
plot(backpaint_tl ? lower_tl : lower_tl + slope_pl_tl * length_tl, 'Lower', color=pl_tl ? na : dnCss_tl, offset=-offset_tl)
plotshape(upos_tl > upos_tl[1] ? low : na, "Upper Break", shape.labelup, location.absolute, upCss_tl, text="B", textcolor=color.white, size=size.tiny)
plotshape(dnos_tl > dnos_tl[1] ? high : na, "Lower Break", shape.labeldown, location.absolute, dnCss_tl, text="B", textcolor=color.white, size=size.tiny)
alertcondition(upos_tl > upos_tl[1], 'Upward Breakout', 'Price broke the down-trendline upward')
alertcondition(dnos_tl > dnos_tl[1], 'Downward Breakout', 'Price broke the up-trendline downward')
// Script 02 - Channel Breakout
length_channel = input.int(title="Channel Length", minval=1, maxval=1000, defval=5)
upBound_channel = ta.highest(high, length_channel)
downBound_channel = ta.lowest(low, length_channel)
if (not na(close[length_channel]))
strategy.entry("LE-LE", strategy.long, stop=upBound_channel + syminfo.mintick, comment="LE-LE")
strategy.entry("BECH-DE", strategy.short, stop=downBound_channel - syminfo.mintick, comment="BECH-DE")
// Script 03 - MA Cross
shortlen_ma = input.int(5, "Short MA Length", minval=1)
longlen_ma = input.int(34, "Long MA Length", minval=1)
short_ma = ta.sma(close, shortlen_ma)
long_ma = ta.sma(close, longlen_ma)
plot(short_ma, color=#FF6D00, title="Short MA")
plot(long_ma, color=#43A047, title="Long MA")
plot(ta.cross(short_ma, long_ma) ? short_ma : na, color=#2962FF, style=plot.style_cross, linewidth=4, title="Cross")