यह एक लंबी-केवल रणनीति है जो एटीआर चैनल के निचले बैंड से नीचे कीमतों को तोड़ने पर प्रवेश संकेतों की पहचान करती है, और जब कीमतें एटीआर चैनल के मध्य बैंड (ईएमए) या ऊपरी बैंड तक पहुंचती हैं तो लाभ उठाती है। यह स्टॉप लॉस स्तरों की गणना करने के लिए एटीआर का भी उपयोग करती है। यह रणनीति त्वरित अल्पकालिक ट्रेडों के लिए उपयुक्त है।
जब कीमत निचले एटीआर बैंड से नीचे टूट जाती है, तो यह एक असामान्यता गिरावट का संकेत देती है। रणनीति अगले मोमबत्ती के खुलने पर लंबी होगी। स्टॉप लॉस को एटीआर स्टॉप लॉस गुणक गुणा एटीआर को घटाकर प्रवेश मूल्य पर सेट किया जाता है। लाभ लें मध्य बैंड (ईएमए) या ऊपरी एटीआर बैंड पर होता है। यदि वर्तमान बार बंद पिछले बार के कम से कम है, तो पिछले बार के कम लाभ के रूप में उपयोग करें।
विशेष रूप से, प्रमुख तर्क में शामिल हैंः
इस रणनीति के फायदे:
कुछ जोखिम हैंः
एटीआर अवधि, स्टॉप लॉस गुणक आदि को समायोजित करके इन जोखिमों को कम किया जा सकता है। कम ट्रेडिंग शुल्क वाले दलालों का चयन भी महत्वपूर्ण है।
इस रणनीति में निम्नलिखित उपायों से सुधार किया जा सकता हैः
संक्षेप में, यह एटीआर चैनल के आधार पर एक सरल और व्यावहारिक औसत प्रतिगमन रणनीति है। इसमें स्पष्ट प्रवेश नियम, सख्त स्टॉप लॉस और उचित लाभ लेने हैं। पैरामीटर ट्यूनिंग के लिए भी जगह है। यदि व्यापारी सही प्रतीक का चयन कर सकते हैं और स्टॉप लॉस के साथ जोखिम को नियंत्रित कर सकते हैं, तो यह रणनीति अच्छे परिणाम प्राप्त कर सकती है।
/*backtest start: 2022-12-04 00:00:00 end: 2023-12-10 00:00:00 period: 1d basePeriod: 1h 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/ // © Bcullen175 //@version=5 strategy("ATR Mean Reversion", overlay=true, initial_capital=100000,default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=6E-5) // Brokers rate (ICmarkets = 6E-5) SLx = input(1.5, "SL Multiplier", tooltip = "Multiplies ATR to widen stop on volatile assests, Higher values reduce risk:reward but increase winrate, Values below 1.2 are not reccomended") src = input(close, title="Source") period = input.int(10, "ATR & MA PERIOD") plot(open+ta.atr(period)) plot(open-ta.atr(period)) plot((ta.ema(src, period)), title = "Mean", color=color.white) i_startTime = input(title="Start Filter", defval=timestamp("01 Jan 1995 13:30 +0000"), group="Time Filter", tooltip="Start date & time to begin searching for setups") i_endTime = input(title="End Filter", defval=timestamp("1 Jan 2099 19:30 +0000"), group="Time Filter", tooltip="End date & time to stop searching for setups") // Check filter(s) f_dateFilter = true atr = ta.atr(period) // Check buy/sell conditions var float buyPrice = 0 buyCondition = low < (open-ta.atr(period)) and strategy.position_size == 0 and f_dateFilter sellCondition = (high > (ta.ema(close, period)) and strategy.position_size > 0 and close < low[1]) or high > (open+ta.atr(period)) stopDistance = strategy.position_size > 0 ? ((buyPrice - atr)/buyPrice) : na stopPrice = strategy.position_size > 0 ? (buyPrice - SLx*atr): na stopCondition = strategy.position_size > 0 and low < stopPrice // Enter positions if buyCondition strategy.entry(id="Long", direction=strategy.long) if buyCondition[1] buyPrice := open // Exit positions if sellCondition or stopCondition strategy.close(id="Long", comment="Exit" + (stopCondition ? "SL=true" : "")) buyPrice := na // Draw pretty colors plot(buyPrice, color=color.lime, style=plot.style_linebr) plot(stopPrice, color=color.red, style=plot.style_linebr, offset=-1)