
এই কৌশলটির মূল ধারণাগুলি হ’ল গতিশীল চলমান গড় ব্যবহার করে প্রবণতা ট্র্যাকিং, স্টপ লস সেট করা এবং হাইক্লিং ফিক্স প্রযুক্তির নির্দেশের সাথে মিলিতভাবে মাল্টি-হোয়ার সিগন্যাল বিচার করা। এটিআর সূচকটি গতিশীল চলমান গড় এবং স্টপ লস অবস্থান গণনা করতে ব্যবহৃত হয়।
এই কৌশলটি প্রথমে এটিআর সূচকটি গণনা করে এবং তারপরে দামের উত্স এবং প্যারামিটারগুলির সাথে ইনপুট দিয়ে একটি গতিশীল চলমান গড় গণনা করে। দাম যখন গতিশীল চলমান গড়ের উপরে / নীচে থাকে তখন একটি বেশি / খালি সংকেত উত্পন্ন করে। একই সাথে স্টপ লস স্টপ অবস্থান সেট করে, দামের পরিবর্তনের ট্র্যাকিংয়ের জন্য রিয়েল-টাইম আপডেট।
বিশেষভাবে, প্রথমে এটিআর সূচক এবং প্যারামিটার nLoss গণনা করুন। তারপরে বর্তমান চক্রের দাম এবং পূর্ববর্তী চক্রের স্টপ অবস্থান গণনা করুন এবং তাদের তুলনা করুন। স্টপ লাইনটি আপডেট করুন। যখন দাম পূর্ববর্তী চক্রের স্টপ লাইনটি ভেঙে যায় তখন একটি পস / শূন্য সংকেত পোস এবং সংশ্লিষ্ট রঙ উত্পন্ন হয়; যখন একটি লেনদেনের সংকেত উত্পন্ন হয়, তখন একটি তীর চিহ্ন আঁকুন।
এই কৌশলটির সবচেয়ে বড় সুবিধা হল ডায়নামিক মুভিং এভারেজ ব্যবহার করে রিয়েল-টাইমে দামের পরিবর্তনগুলি ট্র্যাক করা। এটি প্রচলিত ফিক্সড মুভিং এভারেজের তুলনায় ট্রেন্ডকে আরও ভালভাবে ধরতে পারে এবং স্টপ লস হওয়ার সম্ভাবনা হ্রাস করে। এটিআর স্টপ সহ, আপনি বাজারের ওঠানামা অনুযায়ী স্টপ পজিশনটি নমনীয়ভাবে সামঞ্জস্য করতে পারেন এবং ঝুঁকি কার্যকরভাবে নিয়ন্ত্রণ করতে পারেন।
এই কৌশলটির প্রধান ঝুঁকি হল যে দামের একটি বড় লাফিয়ে উঠতে পারে, যার ফলে স্টপ লাইনটি ভেঙে ভুল সংকেত তৈরি হয়। এছাড়াও, শর্তাদির ভুল সেটটি খুব ঘন ঘন লেনদেনের কারণ হতে পারে।
সমাধানটি হ’ল চলমান গড়ের সময়কালের অনুকূলিতকরণ, এটিআর এবং স্টপ লস ফ্যাক্টরের আকারটি সামঞ্জস্য করা, ভুল সংকেতের সম্ভাবনা হ্রাস করা। অতিরিক্তভাবে, ফিল্টারিং শর্তগুলি সেট করা যেতে পারে যাতে খুব ঘন বাণিজ্য এড়ানো যায়।
এই কৌশলটি নিম্নলিখিত দিকগুলি থেকে অপ্টিমাইজ করা যায়ঃ
বিভিন্ন প্রকারের এবং সময়কালের চলমান গড় পরীক্ষা করে সেরা প্যারামিটার সমন্বয় খুঁজে বের করুন
এটিআর চক্রের প্যারামিটারগুলিকে অপ্টিমাইজ করুন, স্টপ লস সংবেদনশীলতাকে ভারসাম্য করুন
সংকেতের গুণমান উন্নত করতে অতিরিক্ত ফিল্টারিং শর্ত এবং সূচক যুক্ত করা হয়েছে
স্টপ লস ও স্টপ থ্রেশহোল্ডের মান পরিবর্তন করে রিটার্ন-রিস্ক অনুপাত অপ্টিমাইজ করুন
এই কৌশলটির মূল ধারণাগুলি হল গতিশীল চলমান গড়গুলি রিয়েল-টাইমে দামের পরিবর্তনগুলি ট্র্যাক করে, এটিআর সূচকগুলি ব্যবহার করে গতিশীলভাবে স্টপ লস অবস্থান সেট করে এবং প্রবণতা অনুসরণ করার সাথে সাথে ঝুঁকিগুলি কঠোরভাবে নিয়ন্ত্রণ করে। প্যারামিটার অপ্টিমাইজেশন এবং নিয়ম সংশোধন করে, কৌশলটি একটি খুব কার্যকর পরিমাণের সিস্টেমে প্রশিক্ষণ দেওয়া যেতে পারে।
/*backtest
start: 2022-11-23 00:00:00
end: 2023-11-05 05:20:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"BTC_USDT","stocks":0}]
*/
//@version=5
strategy(title='UT Bot v5', overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
//CREDITS to HPotter for the orginal code. The guy trying to sell this as his own is a scammer lol.
//Edited and converted to @version=5 by SeaSide420 for Paperina
// Inputs
AllowBuy = input(defval=true, title='Allow Buy?')
AllowSell = input(defval=false, title='Allow Sell?')
h = input(false, title='Signals from Heikin Ashi Candles')
//revclose = input(defval=true, title='Close when reverse signal?')
Price = input(defval=open, title='Price Source (recommended OPEN to avoid repainting)')
smoothing = input.string(title="Moving Average Type", defval="HMA", options=["SMA", "EMA", "WMA", "HMA"])
MA_Period = input(2, title='This changes the MAPeriod')
a = input.float(1, title='This changes the sensitivity',step=0.1)
c = input(11, title='ATR Period')
TakeProfit = input.int(defval=50000, title='Take Profit ($)', minval=1)
StopLoss = input.int(defval=50000, title='Stop Loss ($)', minval=1)
xATR = ta.atr(c)
nLoss = a * xATR
src = h ? request.security(ticker.heikinashi(syminfo.tickerid), timeframe.period, Price, lookahead=barmerge.lookahead_off) : Price
xATRTrailingStop = 0.0
iff_1 = src > nz(xATRTrailingStop[1], 0) ? src - nLoss : src + nLoss
iff_2 = src < nz(xATRTrailingStop[1], 0) and src[1] < nz(xATRTrailingStop[1], 0) ? math.min(nz(xATRTrailingStop[1]), src + nLoss) : iff_1
xATRTrailingStop := src > nz(xATRTrailingStop[1], 0) and src[1] > nz(xATRTrailingStop[1], 0) ? math.max(nz(xATRTrailingStop[1]), src - nLoss) : iff_2
pos = 0
iff_3 = src[1] > nz(xATRTrailingStop[1], 0) and src < nz(xATRTrailingStop[1], 0) ? -1 : nz(pos[1], 0)
pos := src[1] < nz(xATRTrailingStop[1], 0) and src > nz(xATRTrailingStop[1], 0) ? 1 : iff_3
xcolor = pos == -1 ? color.red : pos == 1 ? color.green : color.blue
ma_function(src, MA_Period) =>
switch smoothing
"SMA" => ta.sma(src, MA_Period)
"EMA" => ta.ema(src, MA_Period)
"WMA" => ta.wma(src, MA_Period)
=> ta.hma(src, MA_Period)
thema = ma_function(src, MA_Period)
above = ta.crossover(thema, xATRTrailingStop)
below = ta.crossover(xATRTrailingStop, thema)
buy = src > xATRTrailingStop and above
sell = src < xATRTrailingStop and below
barbuy = src > xATRTrailingStop
barsell = src < xATRTrailingStop
plot(thema,title="The M.A.",color=color.green,linewidth=2)
plot(xATRTrailingStop,title="The M.A.",color=color.red,linewidth=2)
plotshape(buy, title = "Buy", text = "Buy", style = shape.labelup, location = location.belowbar, color= color.green, textcolor = color.white, size = size.tiny)
plotshape(sell, title = "Sell", text = "Sell", style = shape.labeldown, location = location.abovebar, color= color.red, textcolor = color.white, size = size.tiny)
barcolor(barbuy ? color.green : na)
barcolor(barsell ? color.red : na)
strategy.close_all(when=strategy.openprofit>TakeProfit,alert_message="Close- TakeProfit", comment = "TP")
strategy.close_all(when=strategy.openprofit<StopLoss-(StopLoss*2),alert_message="Close- StopLoss", comment = "SL")
strategy.close("buy", when = sell and AllowSell==false , comment = "close buy")
strategy.close("sell", when = buy and AllowBuy==false, comment = "close sell")
strategy.entry("buy", strategy.long, when = buy and AllowBuy)
strategy.entry("sell", strategy.short, when = sell and AllowSell)