এই কৌশলটি প্রবণতা দিক নির্ধারণের জন্য গড় সত্য পরিসীমা (এটিআর) সূচক ব্যবহার করে। প্রবণতা যখন উপরে যায় তখন এটি দীর্ঘ হয় এবং প্রবণতা যখন নীচে যায় তখন এটি সংক্ষিপ্ত হয়। এটি প্রবণতা অনুসরণকারী কৌশল প্রকারের অন্তর্গত।
কৌশলটি প্রথমে মূল্যের সহজ চলমান গড় (এসএমএ) এবং এক্সপোনেনশিয়াল চলমান গড় (ইএমএ) গণনা করে। তারপরে এটি এটিআর সূচক গণনা করে, যা গত এন দিনের মধ্যে মূল্য আন্দোলনের গড় পরিসীমা।
এই কৌশলটি প্রবণতা দিকনির্ধারণের জন্য ইএমএ গড় রেখা, উপরের ব্যান্ড (ইএমএ + এটিআর * সহগ) এবং নিম্ন ব্যান্ড (ইএমএ - এটিআর * সহগ) ব্যবহার করে। যখন দাম উপরের ব্যান্ডের উপরে ভেঙে যায় তখন এটি দীর্ঘ হয় এবং যখন দাম নীচের ব্যান্ডের নীচে ভেঙে যায় তখন এটি সংক্ষিপ্ত হয়।
কোডের মূল যুক্তিঃ
এটিআর-এর উপর ভিত্তি করে গতিশীলভাবে অবস্থানগুলি সামঞ্জস্য করে, এটি কার্যকরভাবে প্রবণতা দিকনির্দেশগুলি অনুসরণ করতে পারে।
সমাধান:
এটিআর ট্রেন্ড অনুসরণকারী কৌশলটি এটিআর ব্যবহার করে ট্রেন্ডের দিকনির্দেশ নির্ধারণের জন্য একটি স্পষ্ট যুক্তি রয়েছে। এটি একটি সাধারণ ট্রেন্ড অনুসরণকারী সিস্টেম। সুবিধাগুলি হ'ল সরলতা এবং প্রবণতা অনুসরণ করার ক্ষমতা। তবে এটিতে বিভিন্ন বাজারের জন্য অপ্টিমাইজেশান প্রয়োজন এমন ঝুঁকিও রয়েছে। সামগ্রিকভাবে, এটির পরিমাণগত ট্রেডিং সরঞ্জাম হিসাবে দুর্দান্ত সম্ভাবনা এবং মূল্য রয়েছে।
/*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)