
এই কৌশলটি উদ্বায়ীতা স্টপ (VStop) নির্দেশক এবং এক্সপোনেনশিয়াল মুভিং এভারেজ (EMA) এর উপর ভিত্তি করে একটি ট্রেডিং সিস্টেম অনুসরণ করে। কৌশলটি স্ট্যান ওয়েইনস্টেইনের ট্রেডিং দর্শনকে একত্রিত করে, গতিশীলভাবে সামঞ্জস্যপূর্ণ স্টপ লস লেভেলের মাধ্যমে মূলধন ব্যবস্থাপনাকে অপ্টিমাইজ করে এবং প্রবণতা দিক নিশ্চিত করতে EMA ব্যবহার করে। এই সংমিশ্রণটি বিনিয়োগকারীদের এবং সুইং ট্রেডারদের একটি ট্রেডিং ফ্রেমওয়ার্ক প্রদান করে যা কার্যকরভাবে ঝুঁকি পরিচালনা করার সময় ট্রেন্ড ক্যাপচার করতে পারে।
কৌশলটির মূল যুক্তি দুটি প্রধান প্রযুক্তিগত সূচকের উপর ভিত্তি করে:
অস্থিরতা স্টপ লস (VStop): ATR (গড় সত্যিকারের অস্থিরতা) এর উপর ভিত্তি করে একটি গতিশীল স্টপ লস সূচক, যা বাজারের অস্থিরতার উপর ভিত্তি করে স্টপ লস পজিশনকে অভিযোজিতভাবে সামঞ্জস্য করে। মূল্য যখন ঊর্ধ্বমুখী প্রবণতায় থাকে, তখন মূল্য বৃদ্ধির সাথে সাথে স্টপ লস লাইনটি ঊর্ধ্বমুখী হবে;
এক্সপোনেনশিয়াল মুভিং এভারেজ (EMA): মিথ্যা সংকেত ফিল্টার করতে সাহায্য করার জন্য ট্রেন্ড নিশ্চিতকরণ টুল হিসেবে কাজ করে। একটি অবস্থান খোলার কথা বিবেচনা করার জন্য মূল্যকে EMA-এর উপরে দাঁড়াতে হবে, যা নিশ্চিত করে যে ট্রেডিং দিক মূল প্রবণতার সাথে সামঞ্জস্যপূর্ণ।
ট্রেডিং সিগন্যাল জেনারেশন লজিক নিম্নরূপ:
এই কৌশলটি একটি সম্পূর্ণ ট্রেন্ড-অনুসরণকারী ট্রেডিং ফ্রেমওয়ার্ক তৈরি করে অস্থিরতা স্টপ এবং মুভিং এভারেজ সিস্টেমকে একত্রিত করে। কৌশলটির প্রধান সুবিধাটি এর অভিযোজনযোগ্যতা এবং ঝুঁকি ব্যবস্থাপনার ক্ষমতার মধ্যে রয়েছে, তবে একই সময়ে, কৌশল কর্মক্ষমতার উপর বাজারের পরিবেশের প্রভাবের দিকে মনোযোগ দিতে হবে। ক্রমাগত অপ্টিমাইজেশান এবং উন্নতির মাধ্যমে, কৌশলটি বিভিন্ন বাজার পরিবেশে স্থিতিশীল কর্মক্ষমতা বজায় রাখার প্রত্যাশিত৷ এটা বাঞ্ছনীয় যে ট্রেডাররা পরামিতি সেটিংস সম্পূর্ণভাবে পরীক্ষা করে এবং বাস্তব ট্রেডিংয়ে এটি ব্যবহার করার আগে তাদের নিজস্ব ঝুঁকি সহনশীলতার ভিত্তিতে কৌশলটি সামঞ্জস্য করে।
/*backtest
start: 2024-12-17 00:00:00
end: 2025-01-16 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}]
*/
//@version=5
strategy("VStop + EMA Strategy", overlay=true)
// VStop Parameters
length = input.int(20, "VStop Length", minval=2)
multiplier = input.float(2.0, "VStop Multiplier", minval=0.25, step=0.25)
// EMA Parameters
emaLength = input.int(30, "EMA Length", minval=1)
// VStop Calculation
volStop(src, atrlen, atrfactor) =>
if not na(src)
var max = src
var min = src
var uptrend = true
var float stop = na
atrM = nz(ta.atr(atrlen) * atrfactor, ta.tr)
max := math.max(max, src)
min := math.min(min, src)
stop := nz(uptrend ? math.max(stop, max - atrM) : math.min(stop, min + atrM), src)
uptrend := src - stop >= 0.0
if uptrend != uptrend[1] and not barstate.isfirst
max := src
min := src
stop := uptrend ? max - atrM : min + atrM
[stop, uptrend]
// Calculate VStop
[vStop, isUptrend] = volStop(close, length, multiplier)
// Plot VStop
plot(vStop, "Volatility Stop", style=plot.style_cross, color=isUptrend ? color.teal : color.red)
// Calculate 30 EMA
emaValue = ta.ema(close, emaLength)
plot(emaValue, "EMA", color=color.blue)
// Entry and Exit Conditions
longCondition = isUptrend and close > emaValue
exitCondition = close <= emaValue
// Strategy Execution
if longCondition and not strategy.opentrades
strategy.entry("Long", strategy.long)
if exitCondition and strategy.opentrades
strategy.close("Long")
// Display Strategy Info
bgcolor(isUptrend ? color.new(color.teal, 90) : color.new(color.red, 90), title="Trend Background")