ডায়নামিক স্টপ সহ ট্রেন্ড অনুসরণকারী কৌশল

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

img

সারসংক্ষেপ

এই কৌশলটি যখন মূল্য EMA অতিক্রম করে তখন ট্রেডিং সংকেত উৎপন্ন করে এবং ঝুঁকি পরিচালনার জন্য এটিআরকে একটি গতিশীল স্টপ লস হিসাবে ব্যবহার করে।

এটি কিভাবে কাজ করে

মূল যুক্তি হল:

  1. স্টপ লস লাইন হিসাবে ATR গণনা করুন, ATR মান স্টপ দূরত্ব nLoss নির্ধারণ করে

  2. দামের উৎস হল বন্ধ মূল্য ডিফল্টরূপে, হেকিন আশি বন্ধ ব্যবহার করুন যদি হেকিন আশি বিকল্প h সক্ষম করা হয়

  3. xATRTrailingStop পূর্ববর্তী স্টপ সঙ্গে মূল্য তুলনা উপর ভিত্তি করে গতিশীল স্টপ ক্ষতি লাইন ট্র্যাক

  4. স্টপ লস লাইনের ঊর্ধ্বে যখন দাম অতিক্রম করে তখন পজিশন পোস ১ হয়, ০ এর নিচে অতিক্রম করার সময় পজিশন পোস ১ হয়, অন্যথায় ০ হয়

  5. EMA ক্রসওভার সংকেত, EMA এর উপরে ক্রয় সংকেত, নীচে বিক্রয় সংকেত

  6. ক্রয়/বিক্রয় সংকেত দিয়ে লেনদেন করুন, বিপরীত সংকেত দিয়ে লেনদেন করুন

  7. অবস্থান, চিহ্নিত সংকেত এবং স্টপ লস লাইনের উপর ভিত্তি করে রঙিন বার

এই কৌশলটি এটিআর ভিত্তিক গতিশীল স্টপগুলির সাথে প্রবণতা অনুসরণ করে। এটি প্রবণতা সনাক্ত করতে এবং ঝুঁকি কার্যকরভাবে পরিচালনা করতে পারে।

সুবিধা

এর সুবিধাগুলো হল:

  1. এটিআর-ভিত্তিক গতিশীল স্টপ বাজারের অস্থিরতার সাথে মানিয়ে নেয়

  2. ইএমএ ফিল্টার শব্দ থেকে মিথ্যা সংকেত হ্রাস করে

  3. ঐচ্ছিক হেকিন আশি শব্দ ফিল্টার এবং প্রবণতা সনাক্ত করে

  4. Clear long/short position avoids whipsaws from trailing stop অর্ডার থেকে অনুবাদঃ

  5. লাইন, লেবেল এবং রঙের মতো চাক্ষুষ সহায়তা

  6. পরিবর্তন করার জন্য সহজ এবং সহজেই বোঝা লজিক

  7. বিভিন্ন বাজারের জন্য কাস্টমাইজযোগ্য ATR সময়কাল এবং মাল্টিপ্লাইকার

সংক্ষেপে, প্রবণতা অনুসরণ এবং গতিশীল স্টপগুলিকে একত্রিত করে, এই কৌশলটি প্রবণতা ধরতে পারে এবং সুইং ট্রেডিংয়ের জন্য ঝুঁকিগুলি ভালভাবে পরিচালনা করতে পারে।

ঝুঁকি

কিছু ঝুঁকি বিবেচনা করা উচিতঃ

  1. ইএমএ সংকেতগুলি স্বল্পমেয়াদী পদক্ষেপগুলি মিস করতে পারে

  2. অস্থির বাজারে ঘন ঘন স্টপ লস ট্রিগার সম্ভব

  3. কমিশন মত খরচ বিবেচনা করা হয় না

  4. পজিশনের আকার নিয়ন্ত্রণের অভাব

  5. পারফরম্যান্স প্যারামিটার টিউনিং উপর নির্ভর করে

  6. বিভিন্ন বাজারে হুইপসাউসের ঝুঁকি

  7. পর্যবেক্ষণ এবং হস্তক্ষেপ প্রয়োজন

প্যারামিটারগুলি অপ্টিমাইজ করা, ফিল্টার যুক্ত করা, অবস্থানগুলি সঠিকভাবে আকার দেওয়া, কর্মক্ষমতা পর্যবেক্ষণ করা এবং প্রয়োজন হলে হস্তক্ষেপ করে ঝুঁকি হ্রাস করা যেতে পারে।

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

কৌশল উন্নত করার কিছু উপায়:

  1. বিভিন্ন বাজারের জন্য এটিআর পরামিতিগুলি সামঞ্জস্য করুন

  2. সিগন্যাল ফিল্টার করার জন্য অন্যান্য চলমান গড় পরীক্ষা করুন

  3. উচ্চতর সম্ভাবনার জন্য প্রবণতা ফিল্টার সূচক যোগ করুন

  4. অবস্থান আকার সীমাবদ্ধতা বাস্তবায়ন

  5. ভলিউম, এমএ থেকে দূরত্বের মতো প্রবেশের শর্ত যুক্ত করুন

  6. স্টপগুলিতে কমিশনের মতো ব্যয় অন্তর্ভুক্ত করুন

  7. আরো সংকেত দিয়ে প্রবেশ এবং প্রস্থান সময় অপ্টিমাইজ করুন

  8. মুনাফা গ্রহণ বা ট্রেলিং স্টপ চালু করুন

  9. স্বয়ংক্রিয় প্যারামিটার অপ্টিমাইজেশন

এন্ট্রি, আউটপুট, ফিল্টার এবং প্যারামিটার টিউনিংয়ের জন্য আরও কৌশল একত্রিত করে কৌশলটি আরও শক্তিশালী করা যেতে পারে।

সিদ্ধান্ত

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


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

//@version=4
strategy(title="UT Bot Strategy", overlay = true)
//CREDITS to HPotter for the orginal code. The guy trying to sell this as his own is a scammer lol. 

// Inputs
a = input(1,     title = "Key Vaule. 'This changes the sensitivity'")
c = input(10,    title = "ATR Period")
h = input(false, title = "Signals from Heikin Ashi Candles")

xATR  = atr(c)
nLoss = a * xATR

src = h ? security(heikinashi(syminfo.tickerid), timeframe.period, close, lookahead = false) : close

xATRTrailingStop = 0.0
xATRTrailingStop := iff(src > nz(xATRTrailingStop[1], 0) and src[1] > nz(xATRTrailingStop[1], 0), max(nz(xATRTrailingStop[1]), src - nLoss),
   iff(src < nz(xATRTrailingStop[1], 0) and src[1] < nz(xATRTrailingStop[1], 0), min(nz(xATRTrailingStop[1]), src + nLoss), 
   iff(src > nz(xATRTrailingStop[1], 0), src - nLoss, src + nLoss)))
 
pos = 0   
pos :=	iff(src[1] < nz(xATRTrailingStop[1], 0) and src > nz(xATRTrailingStop[1], 0), 1,
   iff(src[1] > nz(xATRTrailingStop[1], 0) and src < nz(xATRTrailingStop[1], 0), -1, nz(pos[1], 0))) 
   
xcolor = pos == -1 ? color.red: pos == 1 ? color.green : color.blue 

ema   = ema(src,1)
above = crossover(ema, xATRTrailingStop)
below = crossover(xATRTrailingStop, ema)

buy  = src > xATRTrailingStop and above 
sell = src < xATRTrailingStop and below

barbuy  = src > xATRTrailingStop 
barsell = src < xATRTrailingStop 

plotshape(buy,  title = "Buy",  text = 'Buy',  style = shape.labelup,   location = location.belowbar, color= color.green, textcolor = color.white, transp = 0, size = size.tiny)
plotshape(sell, title = "Sell", text = 'Sell', style = shape.labeldown, location = location.abovebar, color= color.red,   textcolor = color.white, transp = 0, size = size.tiny)

barcolor(barbuy  ? color.green : na)
barcolor(barsell ? color.red   : na)

strategy.entry("long",   true, when = buy)
strategy.entry("short", false, when = sell)

আরো