এই কৌশলটি এটিআর সূচকের সাথে ডিজাইন করা গতিশীল ট্রেলিং স্টপ লস প্রক্রিয়াটির উপর ভিত্তি করে তৈরি করা হয়েছে যা লাভের সর্বাধিকীকরণের জন্য কার্যকর স্টপ লস নিশ্চিত করার সময় রিয়েল টাইমে স্টপ লস সামঞ্জস্য করতে পারে।
কৌশলটি একটি দ্বি-স্তরীয় গতিশীল ট্রেলিং স্টপ লস তৈরি করতে দ্রুত এটিআর পিরিয়ড 5 এবং ধীর এটিআর পিরিয়ড 10 ব্যবহার করে। যখন মূল্য একটি অনুকূল দিকে চলে, তখন দ্রুত স্তরটি স্টপ লসকে শক্ত করার জন্য প্রথমে ট্রেলিং স্টপ সক্রিয় করবে; যখন স্বল্পমেয়াদী পুলব্যাক থাকে, তখন ধীর স্তর স্টপ লস অকাল স্টপ আউট এড়াতে পারে। এদিকে, দ্রুত এবং ধীর স্তরের মধ্যে ক্রসওভার ট্রেডিং সংকেত হিসাবে কাজ করে।
বিশেষত, দ্রুত স্তরের স্টপ লস দূরত্ব 5 পিরিয়ড এটিআর এর 0.5 গুণ এবং ধীর স্তরের স্টপ লস দূরত্ব 10 পিরিয়ড এটিআর এর 3 গুণ। যখন দ্রুত স্তরটি ধীর স্তরের উপরে ভেঙে যায় তখন একটি ক্রয় সংকেত উত্পন্ন হয় এবং যখন দ্রুত স্তরটি ধীর স্তরের নীচে ভেঙে যায় তখন একটি বিক্রয় সংকেত উত্পন্ন হয়। স্টপ লস লাইনটি রিয়েল টাইমে আপডেট করা হয় এবং মূল্য বক্ররেখার নীচে প্লট করা হয়।
এই কৌশলটির সবচেয়ে বড় সুবিধা হ'ল এটি কার্যকর স্টপ লস নিশ্চিত করার সময় লাভকে সর্বাধিকীকরণের জন্য স্টপ লস অবস্থানকে গতিশীলভাবে সামঞ্জস্য করতে পারে। স্থির স্টপ লস দূরত্বের তুলনায়, গতিশীল এটিআর স্টপ লস লাইনটি স্টপ লস হওয়ার সম্ভাবনা হ্রাস করার জন্য বাজারের ওঠানামা উপর ভিত্তি করে সমন্বয় করতে পারে।
এছাড়াও, দ্বৈত-স্তরযুক্ত এটিআর নকশা স্টপ লসের সংবেদনশীলতা ভারসাম্য বজায় রাখে। দ্রুত স্তরটি দ্রুত প্রতিক্রিয়া জানায় এবং ধীর স্তরটি অকাল স্টপ লস এড়াতে স্বল্পমেয়াদী গোলমাল ফিল্টার করতে পারে।
এই কৌশলটির মূল ঝুঁকিটি হ'ল স্টপ লস দূরত্বের সেটিং যুক্তিসঙ্গত কিনা। যদি এটিআর গুণকটি খুব বেশি সেট করা হয় তবে স্টপ লস ব্যাপ্তি দামের চলাচলের সাথে তাল মিলিয়ে চলবে না। যদি এটিআর গুণকটি খুব ছোট হয় তবে এটি স্বল্পমেয়াদী গোলমাল দ্বারা বন্ধ হয়ে যায়। অতএব, বিভিন্ন জাতের বৈশিষ্ট্য অনুসারে পরামিতিগুলি সামঞ্জস্য করা দরকার।
উপরন্তু, একটি পরিসীমা আবদ্ধ বাজারে, ATR মান ছোট এবং স্টপ লস লাইন কাছাকাছি, যা সহজেই ঘন ঘন স্টপ লস হতে পারে। অতএব, এই কৌশলটি নির্দিষ্ট অস্থিরতার সাথে জাতগুলির জন্য আরও উপযুক্ত।
সর্বোত্তম ভারসাম্য খুঁজে পেতে ATR চক্রের পরামিতিগুলির বিভিন্ন সংমিশ্রণ চেষ্টা করা যেতে পারে। এটি গতিশীলভাবে ATR গুণকের আকার সামঞ্জস্য করার জন্য বাজারের পর্যায়ে বিচার করার জন্য প্রবণতা সূচকগুলির মতো অন্যান্য সূচকগুলির সাথে সংমিশ্রণ বিবেচনা করতে পারে।
এটিআর সূচকের বিকল্পগুলিও অধ্যয়ন করা সম্ভব, এটিআরকে ডিকেভিওএল, হর্যাঞ্জ বা এটিআর শতাংশ ইত্যাদির সাথে প্রতিস্থাপন করা আরও ভাল স্টপ লস প্রভাব অর্জন করতে পারে।
এই কৌশলটি অত্যধিক স্টপ লস এড়ানোর সময় মুনাফা সর্বাধিকীকরণের জন্য এটিআর সূচকের উপর ভিত্তি করে একটি দ্বৈত-স্তরীয় গতিশীল ট্রেলিং প্রক্রিয়া ডিজাইন করে। এটি এমন ব্যবহারকারীদের জন্য উপযুক্ত যাদের স্টপ লসের জন্য উচ্চতর প্রয়োজনীয়তা রয়েছে। এই কৌশলটি সর্বোত্তম স্টপ লস প্রভাব অর্জনের জন্য বাজার এবং বৈচিত্র্যের বৈশিষ্ট্য অনুসারে পরামিতিগুলি নমনীয়ভাবে সামঞ্জস্য করতে পারে।
/*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"}] */ //@version=4 strategy("ATR Trailing Stop Strategy by ceyhun", overlay=true) /////////notes//////////////////////////////////////// // This is based on the ATR trailing stop indicator // // width addition of two levels of stops and // // different interpretation. // // This is a fast-reacting system and is better // // suited for higher volatility markets // ////////////////////////////////////////////////////// SC = input(close, "Source", input.source) // Fast Trail // AP1 = input(5, "Fast ATR period", input.integer) // ATR Period AF1 = input(0.5, "Fast ATR multiplier", input.float) // ATR Factor SL1 = AF1 * atr(AP1) // Stop Loss Trail1 = 0.0 Trail1 := iff(SC > nz(Trail1[1], 0) and SC[1] > nz(Trail1[1], 0), max(nz(Trail1[1], 0), SC - SL1), iff(SC < nz(Trail1[1], 0) and SC[1] < nz(Trail1[1], 0), min(nz(Trail1[1], 0), SC + SL1), iff(SC > nz(Trail1[1], 0), SC - SL1, SC + SL1))) // Slow Trail // AP2 = input(10, "Slow ATR period", input.integer) // ATR Period AF2 = input(3, "Slow ATR multiplier", input.float) // ATR Factor SL2 = AF2 * atr(AP2) // Stop Loss Trail2 = 0.0 Trail2 := iff(SC > nz(Trail2[1], 0) and SC[1] > nz(Trail2[1], 0), max(nz(Trail2[1], 0), SC - SL2), iff(SC < nz(Trail2[1], 0) and SC[1] < nz(Trail2[1], 0), min(nz(Trail2[1], 0), SC + SL2), iff(SC > nz(Trail2[1], 0), SC - SL2, SC + SL2))) // Bar color for trade signal // Green = Trail1 > Trail2 and close > Trail2 and low > Trail2 Blue = Trail1 > Trail2 and close > Trail2 and low < Trail2 Red = Trail2 > Trail1 and close < Trail2 and high < Trail2 Yellow = Trail2 > Trail1 and close < Trail2 and high > Trail2 // Signals // Bull = barssince(Green) < barssince(Red) Buy = crossover(Trail1, Trail2) Sell = crossunder(Trail1, Trail2) TS1 = plot(Trail1, "Fast Trail", style=plot.style_line, color=Trail1 > Trail2 ? color.blue : color.yellow, linewidth=2, display=display.none) TS2 = plot(Trail2, "Slow Trail", style=plot.style_line, color=Trail1 > Trail2 ? color.green : color.red, linewidth=2) fill(TS1, TS2, Bull ? color.new(color.green, 90) : color.new(color.red, 90)) plotcolor = input(true, "Paint color on chart", input.bool) bcl = iff(plotcolor == 1, Blue ? color.blue : Green ? color.lime : Yellow ? color.yellow : Red ? color.red : color.white, na) barcolor(bcl) if Buy strategy.entry("Buy", strategy.long, comment="Buy") if Sell strategy.close("Buy")