
इस रणनीति में स्टॉक के तकनीकी संकेतक एसटीसी, चलती औसत एमए और औसत वास्तविक अस्थिरता दर एटीआर का उपयोग किया गया है, जो कई तकनीकी संकेतक के साथ प्रवृत्ति का आकलन करने के लिए प्रवृत्ति-अनुसरण ट्रेडों को अधिक स्थिर बनाता है।
एसटीसी सूचक प्रवृत्ति को उलट देता है। यह संकेतक तेज लाइन को धीमा करता है, और फिर एक समान प्रवृत्ति सिग्नल बनाने के लिए दोहरी चिकनाई का उपयोग करता है। जब संकेतक 0 अक्ष को पार करता है तो यह एक खरीद संकेत है, और जब 0 अक्ष को पार करता है तो यह एक बेचने का संकेत है।
चलती औसत एमए प्रवृत्ति की दिशा का निर्धारण करती है। जब शेयर की कीमत एमए को पार करती है, तो इसे अभी भी ऊपर की ओर बढ़ने के लिए माना जाता है, जो कि एक बहुआयामी संकेत है। जब कीमत एमए को पार करती है, तो इसे गिरावट के रूप में माना जाता है, जो कि एक रिक्त संकेत है।
एटीआर संकेतक एक स्टॉप-लॉस स्टॉप सेट करता है। एटीआर बाजार में उतार-चढ़ाव के आधार पर स्टॉप-लॉस स्टॉप पॉइंट को गतिशील रूप से समायोजित कर सकता है। और एटीआर को ट्रेडिंग दिशा के संकेत के रूप में उपयोग करता है, एटीआर बढ़ता है और एटीआर गिरता है।
रणनीति एसटीसी निर्णय के साथ पलटाव के रूप में मुख्य खरीद और बिक्री के बिंदु के लिए समय लेने के लिए, एमए के रूप में सहायक निर्णय की प्रवृत्ति, एटीआर के साथ स्टॉप-लॉस स्टॉप. जब एसटीसी एक खरीद संकेत जारी करता है, यदि एमए भी ऊपर की ओर है, तो एटीआर ऊपर है, तो अधिक आदेश खोलें; यदि एसटीसी एक बेचने का संकेत जारी करता है, तो एमए नीचे की ओर है, एटीआर नीचे है, तो खाली आदेश खोलें।
इस रणनीति ने ट्रेडिंग सिग्नल की सटीकता को बढ़ाने के लिए रुझानों और रिवर्स पॉइंट्स को समझने के लिए कई संकेतकों का उपयोग किया।
एसटीसी सूचक एक उलटा सिग्नल को पकड़ता है और ट्रेडों को रोकता है। एमए सूचक एक अस्थिर उलटा सिग्नल को फ़िल्टर करता है ताकि यह सुनिश्चित किया जा सके कि यह प्रमुख प्रवृत्ति के साथ है।
एटीआर संकेतक बाजार में उतार-चढ़ाव के आधार पर स्टॉप-स्टॉप स्थिति सेट कर सकता है, जिससे भारी नुकसान से बचा जा सकता है। और एटीआर का उपयोग एक सहायक निर्णय प्रवृत्ति के संकेत के रूप में किया जा सकता है।
बहु-सूचक संयोजन, मजबूत प्रवृत्ति ट्रैकिंग क्षमता का निर्माण करता है, ऐतिहासिक पुनरावृत्ति में अच्छी स्थिर लाभप्रदता है।
एसटीसी सूचकांक में समय की देरी होती है, जो मूल्य में बदलाव के लिए सबसे अच्छा समय से चूक सकता है।
जब कीमत में भारी बदलाव होता है, तो एमए संकेतक की स्थिति पीछे की ओर झुक जाती है, जो गलत संकेत दे सकती है।
एटीआर स्टॉप को सेकंड किया जा सकता है, एटीआर गुणांक को उचित रूप से ढीला किया जाना चाहिए, या बड़े रुझानों में अस्थायी रूप से बंद किया जा सकता है।
हालांकि बहु-सूचक संयोजन जीत की दर को बढ़ाता है, लेकिन यह रोक को ट्रिगर करने की संभावना को बढ़ाता है, इसलिए पैरामीटर को उचित रूप से समायोजित किया जाना चाहिए ताकि अनावश्यक रोक को कम किया जा सके।
एसटीसी पैरामीटर को समायोजित करें, जो कि अधिक तेज़ी से प्रतिवर्तन के लिए उत्तरदायी है
एमए चक्रों के पैरामीटर को अनुकूलित करें ताकि यह बेहतर ट्रेंड को ट्रैक कर सके
विभिन्न एटीआर गुणकों के लिए पैरामीटर का परीक्षण करना
एसटीसी को बदलने के लिए अन्य संकेतकों का प्रयास करें और बेहतर मिलान खोजें
मशीन लर्निंग एल्गोरिदम को जोड़ना और स्वचालित रूप से कई मापदंडों का अनुकूलन करना
महाचक्र के विभिन्न चरणों को अलग करने के लिए महाचक्र के रुझानों के बारे में अधिक निर्णय लेना
एसटीसी एमए एटीआर रणनीति तीन संकेतकों का एकीकृत उपयोग करती है जो प्रवृत्ति के उलट बिंदुओं को पकड़ती है, स्थिर प्रवृत्ति का पालन करने वाले ट्रेडों को प्राप्त करती है। सूचक संयोजन फ़िल्टर झूठे संकेत, स्टॉप लॉस स्टॉप कंट्रोल जोखिम, मजबूत अनुकूलनशीलता और स्थिरता है। पैरामीटर अनुकूलन और एल्गोरिदम की शुरूआत के माध्यम से, रणनीति के प्रदर्शन को और बढ़ाया जा सकता है। यह रणनीति समग्र रूप से एक विश्वसनीय, उपयुक्त रणनीति विकल्प है।
/*backtest
start: 2023-09-16 00:00:00
end: 2023-10-16 00:00:00
period: 4h
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/
// © Romedius
//@version=5
strategy("My Strategy", overlay=true, margin_long=100, margin_short=100)
// STC
EEEEEE=input(12,"Length",group="STC")
BBBB=input(26,"FastLength",group="STC")
BBBBB=input(50,"SlowLength",group="STC")
AAAA(BBB, BBBB, BBBBB) =>
fastMA = ta.ema(BBB, BBBB)
slowMA = ta.ema(BBB, BBBBB)
AAAA = fastMA - slowMA
AAAA
AAAAA(EEEEEE, BBBB, BBBBB) =>
//AAA=input(0.5)
var AAA = 0.5
var CCCCC = 0.0
var DDD = 0.0
var DDDDDD = 0.0
var EEEEE = 0.0
BBBBBB = AAAA(close,BBBB,BBBBB)
CCC = ta.lowest(BBBBBB, EEEEEE)
CCCC = ta.highest(BBBBBB, EEEEEE) - CCC
CCCCC := (CCCC > 0 ? ((BBBBBB - CCC) / CCCC) * 100 : nz(CCCCC[1]))
DDD := (na(DDD[1]) ? CCCCC : DDD[1] + (AAA * (CCCCC - DDD[1])))
DDDD = ta.lowest(DDD, EEEEEE)
DDDDD = ta.highest(DDD, EEEEEE) - DDDD
DDDDDD := (DDDDD > 0 ? ((DDD - DDDD) / DDDDD) * 100 : nz(DDDDDD[1]))
EEEEE := (na(EEEEE[1]) ? DDDDDD : EEEEE[1] + (AAA * (DDDDDD - EEEEE[1])))
EEEEE
mAAAAA = AAAAA(EEEEEE,BBBB,BBBBB)
stc = mAAAAA > mAAAAA[1] ? true : false
stc_sig = stc == true and stc[1] == false ? 1 : stc == false and stc[1] == true ? -1 : 0
stc_long = stc_sig == 1
stc_short = stc_sig == -1
// STC end
// ATR stops
nATRPeriod = input(5,group="ATR Stops")
nATRMultip = input(3.5,group="ATR Stops")
xATR = ta.atr(nATRPeriod)
nLoss = nATRMultip * xATR
xATRTrailingStop = 0.0
xATRTrailingStop := close > nz(xATRTrailingStop[1], 0) and close[1] > nz(xATRTrailingStop[1], 0) ? math.max(nz(xATRTrailingStop[1]), close - nLoss) : close < nz(xATRTrailingStop[1], 0) and close[1] < nz(xATRTrailingStop[1], 0) ? math.min(nz(xATRTrailingStop[1]), close + nLoss) : close > nz(xATRTrailingStop[1], 0) ? close - nLoss : close + nLoss
pos = 0
pos := close[1] < nz(xATRTrailingStop[1], 0) and close > nz(xATRTrailingStop[1], 0) ? 1 : close[1] > nz(xATRTrailingStop[1], 0) and close < nz(xATRTrailingStop[1], 0) ? -1 : nz(pos[1], 0)
atr_sig = pos == -1 ? false : true
// ATR stops end
// ma
ma_len = input(200, title="MA Length", group="Moving Average")
ma = ta.sma(close, 200)
ma_sig = close < ma ? false : true
// ma end
// strategy entries
tp_mult = input(2, title="Take Profit ATR Multiplier", group="Strategy")
sl_mult = input(1, title="Stop Loss ATR Multiplier", group="Strategy")
early_stop = input(true, title="Close position when ATR changes color")
atr_stop = if close < xATRTrailingStop
close - (close - xATRTrailingStop) * sl_mult
else
close + (xATRTrailingStop - close) * sl_mult
longCondition = atr_sig == true and stc_sig == 1 and ma_sig == true
shortCondition = atr_sig == false and stc_sig == -1 and ma_sig == false
if (longCondition)
strategy.entry("Long", strategy.long)
strategy.exit("Exit Long", "Long", limit=close + xATR * tp_mult, stop=atr_stop)
else if atr_sig == false and early_stop
strategy.close("Long")
if (shortCondition)
strategy.entry("Short", strategy.short)
strategy.exit("Exit Short", "Short", limit=close - xATR * tp_mult, stop=atr_stop)
else if atr_sig == true and early_stop
strategy.close("Short")
// plot stuff
atr_color = pos == -1 ? color.red: pos == 1 ? color.green : color.blue
plot(atr_stop, title="ATR Stop", color=atr_color)
ma_color = ma_sig ? color.green : color.red
plot(ma, title="Moving Average", color=ma_color)
stc_color = stc_long ? color.green : color.red
plotshape(stc_long, style=shape.triangleup, color=stc_color, title="STC Long Signal", size=size.tiny)
plotshape(stc_short, style=shape.triangledown, color=stc_color, title="STC Short Signal", size=size.tiny)
// plot stuff end