এই কৌশলটি ই-মিনি এসএন্ডপি 500 ফিউচার (ইএস) এ প্রয়োগ করা একটি ট্রেলিং স্টপ কৌশল। এটি রেফারেন্স হিসাবে 10 দিনের এটিআর ব্যবহার করে এবং দীর্ঘ এবং সংক্ষিপ্ত স্টপ লাইনগুলি সংজ্ঞায়িত করতে স্টপ লস ব্যাপ্তিটি 3 বার এটিআর সেট করে। কৌশলটি এটিআর লাইনের দিক পরিবর্তন দ্বারা প্রবণতা বিচার করে এবং প্রবণতার বাঁক পয়েন্টে প্রবেশ সংকেত উত্পন্ন করে। একবার প্রবেশ করা হলে, এটি মুনাফা রক্ষা করে, মূল্য আন্দোলনের পিছনে রিয়েল টাইমে স্টপ লস লাইনগুলি সামঞ্জস্য করবে।
কৌশলটি মূল্য উত্স হিসাবে hl2 ব্যবহার করে। প্রথমে এটি 10 দিনের ATR গণনা করে এবং ব্যবহারকারীকে SMA পদ্ধতি বা অন্তর্নির্মিত ATR ফাংশন ব্যবহার করে ATR গণনা করার মধ্যে বেছে নিতে দেয়। ATR পাওয়ার পরে, এটি 3 বার ATR উপরে এবং নীচে যোগ করে পরিসীমা গঠন করে। দুটি পরিসীমা লাইন স্টপ লস লাইন।
প্রবণতা বিচার করার পদ্ধতিটি হ'ল যখন দাম উপরের সীমানা অতিক্রম করে, এটি দীর্ঘ; যখন দাম নীচের সীমানা ভঙ্গ করে, এটি সংক্ষিপ্ত। যখন দামটি ব্যাপ্তিতে ফিরে আসে, এটি প্রবণতা বিপরীতের বিষয়টি নিশ্চিত করে। এই সময়ে, যদি সংক্ষিপ্ত থেকে দীর্ঘ দিকে ঘুরানো হয় তবে এটি একটি দীর্ঘ প্রবেশ সংকেত তৈরি করবে; যদি দীর্ঘ থেকে সংক্ষিপ্ত হয়ে যায় তবে এটি একটি সংক্ষিপ্ত প্রবেশ সংকেত তৈরি করবে।
প্রবেশের পর, লং স্টপ লস লাইনটি উপরের সীমানা বিয়োগ ১ টিকে সেট করা হয়, এবং শর্ট স্টপ লস লাইনটি নীচের সীমানা প্লাস ১ টিকে সেট করা হয়, লাভ রক্ষা করার জন্য পিছনে।
সাধারণভাবে, এটি একটি শক্তিশালী প্রবণতা অনুসরণকারী কৌশল। এটি স্টপ লস পরিসীমা নির্ধারণের সমস্যা সমাধান করে এবং এটিআর-এর উপর ভিত্তি করে গতিশীলভাবে স্টপগুলি সামঞ্জস্য করে ঝুঁকি হ্রাস করে। একই সাথে, ট্রেলিং স্টপগুলি মুনাফা লক করে। তবে এটিআর সময়কাল, স্টপ অ্যালগরিদম ইত্যাদির মতো পরামিতিগুলি অনুকূল করার জন্য এখনও জায়গা রয়েছে। আরও পরীক্ষা এবং টিউনিংয়ের সাথে, এই কৌশলটি উচ্চ স্থিতিশীলতার সাথে একটি প্রবণতা অনুসরণকারী কৌশলতে পরিণত হতে পারে।
/*backtest start: 2023-01-05 00:00:00 end: 2024-01-11 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("ATR Based Trailing Stop Strategy on ES! [v4]", overlay=true) // Given ATR study Periods = input(title="ATR Period", type=input.integer, defval=10) src = input(hl2, title="Source") Multiplier = input(title="ATR Multiplier", type=input.float, step=0.1, defval=3.0) changeATR = input(title="Change ATR Calculation Method ?", type=input.bool, defval=true) atr2 = sma(tr, Periods) atr = changeATR ? atr(Periods) : atr2 up = src - (Multiplier * atr) up1 = nz(up[1], up) up := close[1] > up1 ? max(up, up1) : up dn = src + (Multiplier * atr) dn1 = nz(dn[1], dn) dn := close[1] < dn1 ? min(dn, dn1) : dn trend = 1 trend := nz(trend[1], trend) trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend // Entry logic based on trend change longCondition = trend == 1 and trend[1] == -1 shortCondition = trend == -1 and trend[1] == 1 if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short) // Trailing stop loss logic // For long positions, trail 1 point below the up plot longStopPrice = up - 1 // For short positions, trail 1 point above the dn plot shortStopPrice = dn + 1 strategy.exit("Trailing Stop Long", "Long", trail_offset=longStopPrice) strategy.exit("Trailing Stop Short", "Short", trail_offset=shortStopPrice)