কোয়ান্ট ট্রেন্ড ফলোিং স্ট্র্যাটেজি হল ইএমএ লাইন এবং এটিআর স্টপ লস এর উপর ভিত্তি করে একটি ট্রেন্ড ট্র্যাকিং কৌশল। এটি সামগ্রিক বাজারের প্রবণতা দিক বিচার করার জন্য ইএমএ লাইন ব্যবহার করে এবং গতিশীলভাবে এটিআর দিয়ে স্টপ লস ট্র্যাক করে ট্রেন্ড মুনাফা লক করে, রিটার্ন সর্বাধিক করে।
কৌশলটি নিম্নলিখিত প্রধান অংশগুলির সমন্বয়ে গঠিতঃ
প্রাথমিক প্রবণতা নির্ধারণের জন্য EMA লাইন
১৩ দিনের, ৫০ দিনের এবং ১০০ দিনের লাইন ব্যবহার করে বাউলিশ/বেয়ারিশ পক্ষপাত তৈরি করুন এবং প্রাথমিক প্রবণতার দিকনির্দেশনা বিচার করুন।
এটিআর ডায়নামিক স্টপ লস
বর্তমান সময়ের মূল্য আন্দোলনের পরিসীমা গণনা করতে এবং লাভের লক করার জন্য স্টপ লস মূল্য সেট করতে ATR সূচক ব্যবহার করুন।
সিগন্যাল মসৃণকরণ
মিথ্যা সংকেত এড়াতে এসএমএ দিয়ে নির্দিষ্ট সময়ের মধ্যে মসৃণ বন্ধের মূল্য।
বাউলিশ/বেয়ারিশ সংকেত
যখন দাম ইএমএ লাইন অতিক্রম করে তখন লম্বা যান, যখন নীচে অতিক্রম করে তখন শর্ট যান। গতিশীল এটিআর ট্রেইলিং স্টপ লস সেট করুন।
এই কৌশলটির নিম্নলিখিত সুবিধা রয়েছে:
এছাড়াও কিছু ঝুঁকি আছেঃ
প্যারামিটার অপ্টিমাইজেশান, অভিযোজনযোগ্যতা পরীক্ষা ইত্যাদির মাধ্যমে এই ঝুঁকিগুলি হ্রাস করা যেতে পারে।
কৌশলটি নিম্নলিখিত দিকগুলিতে অপ্টিমাইজ করা যেতে পারেঃ
সংক্ষেপে, এটি একটি প্রবণতা অনুসরণ ধারণার উপর ভিত্তি করে ডিজাইন করা একটি পরিমাণ কৌশল। এটি ইএমএর সাথে প্রবণতার দিক নির্ধারণ করে এবং গতিশীল এটিআর স্টপ লস ব্যবহার করে। এটি প্রবণতা লাভ ক্যাপচার করার সময় কার্যকরভাবে ড্রডাউন নিয়ন্ত্রণ করতে পারে। অবিচ্ছিন্ন অপ্টিমাইজেশন এবং পুনরাবৃত্তি উন্নত ফলাফল তৈরি করতে পারে।
/*backtest start: 2023-12-27 00:00:00 end: 2024-01-03 00:00:00 period: 10m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Combined Strategy", overlay=true) // Input variables for EMA Crossover ema13_length = input(13, title="EMA 13 Length") ema50_length = input(50, title="EMA 50 Length") ema100_length = input(100, title="EMA 100 Length") ema200_length = input(200, title="EMA 200 Length") // Calculate EMAs for EMA Crossover ema13 = ema(close, ema13_length) ema50 = ema(close, ema50_length) ema100 = ema(close, ema100_length) ema200 = ema(close, ema200_length) // Plot EMAs for EMA Crossover plot(ema13, color=color.blue, title="EMA 13") plot(ema50, color=color.orange, title="EMA 50") plot(ema100, color=color.green, title="EMA 100") plot(ema200, color=color.red, title="EMA 200") // Input variables for LinReg Candles signal_length = input(title="Signal Smoothing", type=input.integer, minval=1, maxval=200, defval=11) sma_signal = input(title="Simple MA (Signal Line)", type=input.bool, defval=true) lin_reg = input(title="Lin Reg", type=input.bool, defval=true) linreg_length = input(title="Linear Regression Length", type=input.integer, minval=1, maxval=200, defval=11) // Calculate LinReg Candles bopen = lin_reg ? linreg(open, linreg_length, 0) : open bhigh = lin_reg ? linreg(high, linreg_length, 0) : high blow = lin_reg ? linreg(low, linreg_length, 0) : low bclose = lin_reg ? linreg(close, linreg_length, 0) : close r = bopen < bclose signal = sma_signal ? sma(bclose, signal_length) : ema(bclose, signal_length) plotcandle(r ? bopen : na, r ? bhigh : na, r ? blow: na, r ? bclose : na, title="LinReg Candles", color=color.green, wickcolor=color.green, bordercolor=color.green, editable=true) plotcandle(r ? na : bopen, r ? na : bhigh, r ? na : blow, r ? na : bclose, title="LinReg Candles", color=color.red, wickcolor=color.red, bordercolor=color.red, editable=true) plot(signal, color=color.white) // Input variables for UT Bot Alerts a = input(1, title="Key Value. 'This changes the sensitivity'") c = input(10, title="ATR Period") h = input(false, title="Signals from Heikin Ashi Candles") // Calculate UT Bot Alerts 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 strategy.entry("Buy", strategy.long, when=buy) strategy.close("Buy", when=sell) strategy.entry("Sell", strategy.short, when=sell) strategy.close("Sell", when=buy) 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) alertcondition(buy, "UT Long", "UT Long") alertcondition(sell, "UT Short", "UT Short")