এটিআর এবং এসএমএ-র উপর ভিত্তি করে গতিশীল ট্রেলিং স্টপ কৌশল

লেখক:চাওঝাং, তারিখঃ ২০২৪-০৩-১১ ১১ঃ৫৫ঃ২১
ট্যাগঃ

img

সারসংক্ষেপ

এই কৌশলটি একটি গতিশীল ট্রেইলিং স্টপ ট্রেডিং সিস্টেম বাস্তবায়নের জন্য এটিআর (গড় সত্য পরিসীমা) সূচক এবং এসএমএ (সহজ চলমান গড়) সূচককে একত্রিত করে। যখন দাম এসএমএর উপরে থাকে, তখন এটি একটি দীর্ঘ অবস্থান খোলে এবং এটিআর-এর উপর ভিত্তি করে একটি গতিশীল স্টপ লস সেট করে। দাম বাড়ার সাথে সাথে স্টপ লসের দাম বাড়তে থাকবে। যখন দাম গতিশীল স্টপ লসের দামের নীচে পড়ে, তখন অবস্থানটি বন্ধ হয়ে যায়। এই কৌশলটির মূল ধারণাটি গতিশীল স্টপ লসের ব্যবহার করে মুনাফা লকডাউন করা এবং ট্রেন্ড মার্কেটে ড্রাউনগুলি হ্রাস করা।

কৌশলগত নীতি

  1. ৫০ দিনের এসএমএ গণনা করুন। যখন বন্ধের মূল্য ৫০ দিনের এসএমএ এর চেয়ে বেশি হয়, তখন একটি লম্বা অবস্থান খুলুন।
  2. স্টপ লস রেঞ্জ nLoss পাওয়ার জন্য ATR ইন্ডিকেটরটি 10 এর একটি সময়ের সাথে গণনা করা হবে, যা একটি কী মান দ্বারা গুণিত হবে (ডিফল্ট হল 3) ।
  3. একটি প্রাথমিক মান 0 সহ গতিশীল স্টপ লস মূল্য xATRTrailingStop গণনা করুন।
    • যখন বন্ধের মূল্য এবং পূর্ববর্তী বন্ধের মূল্য উভয়ই পূর্ববর্তী স্টপ লস মূল্যের চেয়ে বেশি হয়, তখন নতুন স্টপ লস মূল্য পূর্ববর্তী স্টপ লস মূল্যের চেয়ে বড় হয় এবং (বন্ধের মূল্য - nLoss) ।
    • যখন বন্ধের মূল্য এবং পূর্ববর্তী বন্ধের মূল্য উভয়ই পূর্ববর্তী স্টপ লস মূল্যের চেয়ে কম হয়, তখন নতুন স্টপ লস মূল্য পূর্ববর্তী স্টপ লস মূল্যের ছোট এবং (বন্ধের মূল্য + এন লস) ।
    • অন্য ক্ষেত্রে, নতুন স্টপ লস মূল্য হল (বন্ধ মূল্য - nLoss) অথবা (বন্ধ মূল্য + nLoss) ।
  4. যখন বন্ধের মূল্য গতিশীল স্টপ লস মূল্যের নিচে নেমে আসে, তখন অবস্থানটি বন্ধ করুন।
  5. স্টপ লস পয়েন্টগুলি বিভিন্ন রঙে চিহ্নিত করা হয়ঃ দীর্ঘ স্টপ লসের জন্য সবুজ, সংক্ষিপ্ত স্টপ লসের জন্য লাল এবং অন্যান্য ক্ষেত্রে নীল।

সুবিধা বিশ্লেষণ

  1. ডায়নামিক স্টপ লস প্রক্রিয়াটি ট্রেন্ড মার্কেটে মুনাফা রক্ষা করতে পারে এবং ড্রাউনডাউন ঝুঁকি হ্রাস করতে পারে। ফিক্সড স্টপ লসের তুলনায় ডায়নামিক স্টপ লস আরও নমনীয় এবং বিভিন্ন বাজারের অবস্থার সাথে খাপ খাইয়ে নিতে পারে।
  2. স্টপ লস রেঞ্জটি এটিআর সূচকের উপর ভিত্তি করে গণনা করা হয়। এটিআর বাজারের অস্থিরতার আকারকে ভালভাবে প্রতিফলিত করতে পারে, তাই স্টপ লস দূরত্বটি সাম্প্রতিক বাজারের অবস্থার অস্থিরতার সাথে স্বয়ংক্রিয়ভাবে সামঞ্জস্য করবে। এটি অস্থিরতা বাড়লে স্টপ লস স্পেস বাড়ায় এবং অস্থিরতা হ্রাস পেলে স্টপ লস স্পেস হ্রাস করে।
  3. এসএমএকে প্রবণতা মূল্যায়নের ভিত্তি হিসাবে ব্যবহার করা তুলনামূলকভাবে স্পষ্ট প্রবণতা বাজারগুলি ক্যাপচার করতে পারে। এসএমএ এর উপরে দীর্ঘ পজিশন খোলা প্রবণতার প্রাথমিক পর্যায়ে হস্তক্ষেপ করতে পারে এবং বৃহত্তর মুনাফা স্পেস লক্ষ্য করতে পারে।
  4. এটি ব্যবহারকারীদের ATR সময়কাল এবং মূল মানের পরামিতিগুলি সেট করার অনুমতি দেয়, যা বিভিন্ন জাত এবং চক্রের বৈশিষ্ট্যগুলির সাথে মানিয়ে নিতে কৌশল পরামিতিগুলি নমনীয়ভাবে সামঞ্জস্য করতে পারে।

ঝুঁকি বিশ্লেষণ

  1. অস্পষ্ট বা অস্থির বাজারে, এই কৌশলটি ঘন ঘন পজিশন খোলার এবং বন্ধের অভিজ্ঞতা অর্জন করতে পারে, যার ফলে লেনদেনের খরচ বৃদ্ধি এবং মুনাফা হ্রাস পায়।
  2. এই কৌশলটি কেবল দীর্ঘ যুক্তিযুক্ত এবং একটি একতরফা বাজারের ঝুঁকির মুখোমুখি হয়ে নেমে যাওয়া প্রবণতায় লাভ করতে পারে না। দ্বিপাক্ষিক বাণিজ্য অর্জনের জন্য সংক্ষিপ্ত যুক্তি যুক্ত করার বিষয়টি বিবেচনা করুন।
  3. স্টপ লস পয়েন্টটি এটিআর গণনার উপর ভিত্তি করে। যখন বাজার হিংস্রভাবে ওঠানামা করে, তখন স্টপ লস স্পেস খুব বড় হতে পারে, যা ঝুঁকি বাড়িয়ে তুলতে পারে। একটি একক লেনদেনের সর্বাধিক ক্ষতি নিয়ন্ত্রণের জন্য সর্বাধিক স্টপ লস পরিসীমা সেট করার বিষয়টি বিবেচনা করুন।
  4. অনুপযুক্ত পরামিতি নির্বাচন কৌশল ব্যর্থতা হতে পারে। উদাহরণস্বরূপ, যদি এটিআর সময় খুব ছোট হয়, এটি অত্যধিক সংবেদনশীল স্টপ লস এবং ঘন ঘন ট্রিগার হতে পারে; যদি এটি খুব বড় হয়, এটি সময়মতো ক্ষতি বন্ধ করতে পারে না এবং ক্ষতি বাড়িয়ে তুলতে পারে।

অপ্টিমাইজেশান দিক

  1. নিম্নমুখী প্রবণতাগুলিতে মুনাফা অর্জনের জন্য সংক্ষিপ্ত যুক্তি যুক্ত করুন এবং কৌশলটির অভিযোজনযোগ্যতা উন্নত করুন। যখন দাম এসএমএর নীচে পড়ে তখন আপনি একটি সংক্ষিপ্ত অবস্থান খুলতে পারেন এবং গতিশীল স্টপ লস যুক্তিও ব্যবহার করতে পারেন।
  2. ট্রেন্ডের শক্তি অনুযায়ী পজিশনের আকার সামঞ্জস্য করার জন্য লং এবং শর্ট পজিশন ম্যানেজমেন্ট চালু করুন। ট্রেন্ড শক্তিশালী হলে রিটার্ন বাড়ানোর জন্য পজিশন বাড়ান; ঝুঁকি নিয়ন্ত্রণের জন্য ট্রেন্ড দুর্বল হলে পজিশন হ্রাস করুন।
  3. স্টপ লস লজিককে অপ্টিমাইজ করুন এবং চরম পরিস্থিতিতে অত্যধিক ক্ষতি রোধ করতে সর্বাধিক স্টপ লস ব্যাপ্তি সেট করুন। একই সময়ে, স্টপ লস ট্রিগার না হওয়া পর্যন্ত এটি ধরে রাখার পরিবর্তে প্রত্যাশিত রিটার্ন পৌঁছানোর পরে পজিশনটি সক্রিয়ভাবে বন্ধ করার জন্য একটি লাভের পয়েন্ট সেট করার বিষয়টি বিবেচনা করুন।
  4. সেরা প্যারামিটার সেটিংস খুঁজে পেতে বিভিন্ন প্যারামিটার সমন্বয় অতিক্রম করে প্যারামিটারগুলি অনুকূলিত করুন। জিনগত অ্যালগরিদমের মতো বুদ্ধিমান অপ্টিমাইজেশন পদ্ধতিগুলি অপ্টিমাইজেশান দক্ষতা উন্নত করতে ব্যবহার করা যেতে পারে।
  5. ট্রেডিং ভলিউম এবং অস্থিরতা সূচকগুলির মতো আরও ফিল্টারিং শর্ত যুক্ত করার বিষয়টি বিবেচনা করুন, প্রবণতা এবং ঝুঁকিগুলি আরও ভালভাবে বিচার করতে এবং সংকেতগুলির নির্ভরযোগ্যতা উন্নত করতে।

সংক্ষিপ্তসার

এই কৌশলটি এটিআর এবং এসএমএ সূচকগুলির উপর ভিত্তি করে একটি গতিশীল ট্রেলিং স্টপ ট্রেডিং সিস্টেম বাস্তবায়ন করে, যা মুনাফা রক্ষা এবং ঝুঁকি নিয়ন্ত্রণের জন্য ট্রেন্ড মার্কেটে স্টপ লস অবস্থানটি স্বয়ংক্রিয়ভাবে সামঞ্জস্য করতে পারে। কৌশল যুক্তি পরিষ্কার এবং এর সুস্পষ্ট সুবিধা রয়েছে, তবে এর কিছু সীমাবদ্ধতা এবং ঝুঁকি পয়েন্টও রয়েছে। যুক্তিসঙ্গত অপ্টিমাইজেশন এবং উন্নতির মাধ্যমে, যেমন সংক্ষিপ্ত যুক্তি যুক্ত করা, অবস্থান পরিচালনা অনুকূল করা, সর্বাধিক স্টপ লস সেট করা ইত্যাদি, কৌশলটির দৃust়তা এবং লাভজনকতা আরও উন্নত করা যেতে পারে। ব্যবহারিক প্রয়োগে, বিভিন্ন ট্রেডিং জাত এবং চক্র অনুসারে কৌশল পরামিতিগুলি নমনীয়ভাবে সামঞ্জস্য করা এবং ঝুঁকিগুলি কঠোরভাবে নিয়ন্ত্রণ করা প্রয়োজন। সাধারণভাবে, এই কৌশলটি পরিমাণগত ট্রেডিংয়ের জন্য একটি কার্যকর ধারণা সরবরাহ করে এবং আরও অনুসন্ধান এবং অপ্টিমাইজেশনের যোগ্য।


/*backtest
start: 2023-03-05 00:00:00
end: 2024-03-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Trailingstop", overlay=true)

if close > sma(close, 50)
    strategy.entry("long", strategy.long)

// Trailing stop loss for long positions
Trailperc = 0.20
price_stop_long = 0.0

if (strategy.position_size > 0)
    stopValue = close * (1 - Trailperc)
    price_stop_long := max(stopValue, price_stop_long[1])
else
    price_stop_long := 0

if (strategy.position_size > 0)
    strategy.exit(id="stoploss_long", stop=price_stop_long)

// Trailing stop loss for short positions
Trailperc_short = 0.20
price_stop_short = 0.0

if (strategy.position_size < 0)
    stopValue_short = close * (1 + Trailperc_short)
    price_stop_short := min(stopValue_short, price_stop_short[1])
else
    price_stop_short := 0

if (strategy.position_size < 0)
    strategy.exit(id="stoploss_short", stop=price_stop_short)

// ATR Trailing Stop for visualization
keyvalue = input(3, title="Key Value. 'This changes the sensitivity'", step=0.5)
atrperiod = input(10, title="ATR Period")
xATR = atr(atrperiod)
nLoss = keyvalue * xATR

xATRTrailingStop = 0.0
xATRTrailingStop := iff(close > nz(xATRTrailingStop[1], 0) and close[1] > nz(xATRTrailingStop[1], 0), max(nz(xATRTrailingStop[1]), close - nLoss),
   iff(close < nz(xATRTrailingStop[1], 0) and close[1] < nz(xATRTrailingStop[1], 0), min(nz(xATRTrailingStop[1]), close + nLoss),
   iff(close > nz(xATRTrailingStop[1], 0), close - nLoss, close + nLoss)))

pos = 0  
pos :=   iff(close[1] < nz(xATRTrailingStop[1], 0) and close > nz(xATRTrailingStop[1], 0), 1,
   iff(close[1] > nz(xATRTrailingStop[1], 0) and close < nz(xATRTrailingStop[1], 0), -1, nz(pos[1], 0)))

xcolor = pos == -1 ? color.red: pos == 1 ? color.green : color.blue

plot(xATRTrailingStop, color = xcolor, title = "Trailing Stop")

আরো