यह रणनीति ट्रेंड की दिशा का आकलन करने के लिए औसत वास्तविक तरंग दैर्ध्य ATR पर आधारित होती है, जब ट्रेंड बढ़ता है तो अधिक होता है, और जब ट्रेंड गिरता है तो कम होता है, यह एक ट्रेंड फॉलोइंग प्रकार की रणनीति है।
यह रणनीति पहले कीमतों की सरल चलती औसत स्मा और सूचकांक चलती औसत ईएमए की गणना करती है। इसके बाद एटीआर सूचक की गणना की जाती है, जो पिछले एन दिनों के लिए औसत उतार-चढ़ाव की सीमा है।
रणनीति ईएमए औसत, ऊपर की ओर ((ईएमए + एटीआर * कारक) और नीचे की ओर ((ईएमए - एटीआर * कारक) के माध्यम से प्रवृत्ति की दिशा का न्याय करती है। जब कीमत ऊपर की ओर ट्रेल करती है, तो अधिक करें; जब कीमत नीचे की ओर ट्रेल करती है, तो खाली करें।
कोड का मुख्य तर्क:
एटीआर के माध्यम से गतिशील रूप से स्थिति को समायोजित करने के लिए, दिशाओं पर ट्रेंड को प्रभावी ढंग से ट्रैक करने में सक्षम।
समाधान:
यह एटीआर प्रवृत्ति ट्रैकिंग रणनीति समग्र विचार स्पष्ट है, एटीआर संकेतकों के माध्यम से प्रवृत्ति दिशा का निर्णय, यह एक विशिष्ट प्रवृत्ति ट्रैकिंग रणनीति है। रणनीति का लाभ सरल और आसान संचालन है, जो प्रभावी रूप से प्रवृत्ति को ट्रैक करने में सक्षम है; लेकिन कुछ जोखिम भी हैं, जो विभिन्न बाजार स्थितियों के लिए अनुकूलित समायोजन की आवश्यकता है, ताकि रणनीति का अधिकतम लाभ उठाया जा सके। कुल मिलाकर, इस रणनीति में एक मात्रात्मक व्यापार उपकरण के रूप में काफी विस्तार की जगह और उपयोग मूल्य है।
/*backtest
start: 2023-08-28 00:00:00
end: 2023-09-27 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/
// © Investoz
//@version=4
strategy("ATR Strategy FOREX", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
len = input(26, type=input.integer, minval=1, title="Length")
mul = input(2.618, type=input.float, minval=0, title="Length")
mullow = input(2.386, type=input.float, minval=0, title="Length")
price = sma(close, 1)
average = ema(close, len)
diff = atr(len) * mul
difflow = atr(len) * mullow
bull_level = average + diff
bear_level = average - difflow
bull_cross = crossunder(price, bear_level)
bear_cross = crossunder(bull_level, price)
FromMonth = input(defval = 8, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 18, title = "From Day", minval = 1, maxval = 31)
FromYear = input(defval = 2008, title = "From Year", minval = 2008)
ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear = input(defval = 2020, title = "To Year", minval = 2019)
start = timestamp(FromYear, FromMonth, FromDay, 00, 00)
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59)
startTimeOk() => true
if (startTimeOk()) and ema(close,1) > ema(close,528)
strategy.entry("KOP", strategy.long, when=bull_cross)
strategy.close("KOP", when=bear_cross)
if (startTimeOk()) and ema(close,1) < ema(close,528)
strategy.entry("SALJ", strategy.short, when=bear_cross)
strategy.close("SALJ", when=bull_cross)
plot(price, title="price", color=color.black, transp=50, linewidth=2)
a0 = plot(average, title="average", color=color.red, transp=50, linewidth=1)
a1 = plot(bull_level, title="bull", color=color.green, transp=50, linewidth=1)
a2 = plot(bear_level, title="bear", color=color.red, transp=50, linewidth=1)
fill(a0, a1, color=color.green, transp=97)
fill(a0, a2, color=color.red, transp=97)