
ডাবল ইওরলাইন ইন্ডিকেটর র্যান্ডম কৌশল হল এমন একটি কৌশল যা ট্রেডিংয়ের সুযোগ খুঁজতে ইওরলাইন ইন্ডিকেটর এবং র্যান্ডম ইন্ডিকেটরের সমন্বয় ব্যবহার করার চেষ্টা করে। এটি একটি দ্রুত ইএমএতে একটি ধীর এসএমএ অতিক্রম করার সময় একটি ট্রেডিং সংকেত তৈরি করে এবং র্যান্ডম ইন্ডিকেটর কে-মান ব্যবহার করে এটি নির্ধারণ করে যে এটি অতিরিক্ত বিক্রি হয়েছে কিনা।
এই কৌশলটি মূলত দুটি প্রযুক্তিগত সূচকের উপর ভিত্তি করে তৈরি করা হয়েছেঃ
গড় রেখাঃ দ্রুত ইএমএ, ধীর এসএমএ এবং ধীর ভিডাব্লুএমএ তিনটি ভিন্ন প্যারামিটারের গড় রেখা গণনা করে, যখন দ্রুত ইএমএ অতিক্রম করে বা ধীর এসএমএ অতিক্রম করে তখন ট্রেডিং সিগন্যাল তৈরি করে।
এলোমেলো সূচকঃ %K মান গণনা করা হয়, যখন এটি সেট করা ওভার-বই জোন বা ওভার-বিক্রয় জোনের থ্রেশহোল্ড অতিক্রম করে, যখন মনে করা হয় যে বাজারটি বিপরীত হতে পারে, কিছু গড়-লাইন ট্রেডিং সংকেত মুছে ফেলা যেতে পারে।
এই প্রসঙ্গে, কৌশলগত সংকেত প্রেরণ করার যুক্তি হলঃ
যখন দ্রুত ইএমএ ধীর এসএমএ অতিক্রম করে এবং% কে ওভারসোল্ড থ্রেশহোল্ডের নীচে থাকে, তখন অতিরিক্ত করুন; যখন দ্রুত ইএমএ ধীর এসএমএ অতিক্রম করে এবং% কে ওভারসোল্ড থ্রেশহোল্ডের উপরে থাকে, তখন খালি করুন।
খোলা একাধিক পজিশনের জন্য, যদি %K মানটি আবার ওভারসোল অঞ্চলে প্রবেশ করে বা দামটি স্টপ লস লাইন অতিক্রম করে তবে এটি বন্ধ হয়ে যায়। খোলা খালি পজিশনের জন্য, যদি %K মানটি আবার ওভারসোল অঞ্চলে প্রবেশ করে বা দামটি স্টপ লস লাইন অতিক্রম করে তবে এটি বন্ধ হয়ে যায়।
সমান্তরাল সূচক এবং এলোমেলো সূচকগুলির সমন্বয় করে, কৌশলটি উচ্চ সম্ভাব্যতার সমান্তরাল সংকেত বিন্দুতে প্রবেশের সংকেত প্রেরণ করার চেষ্টা করে এবং এলোমেলো সূচকের ফিল্টার অংশটি ভুলভাবে প্রবেশের সুযোগটি ব্যবহার করে।
এই কৌশলটির প্রধান সুবিধাগুলি হলঃ
এই কৌশলটির কিছু ঝুঁকিও রয়েছেঃ
সমীকরণঃ
এই কৌশলটি নিম্নলিখিত দিকগুলি থেকে অপ্টিমাইজ করা যায়ঃ
ডাবল ইভ্যালিওরেটরি ইন্ডিকেটর র্যান্ডম কৌশলটি দ্রুত এবং ধীরে ধীরে ইভ্যালিওরেটরি ইন্ডিকেটর এবং র্যান্ডম ইন্ডিকেটরগুলির সংমিশ্রণ দ্বারা একটি আরও স্থিতিশীল প্রবণতা ট্র্যাকিং কৌশল ডিজাইন করে। তবে প্যারামিটার নির্বাচন, স্টপ লস পদ্ধতি ইত্যাদির মতো কিছু অপ্টিমাইজযোগ্য স্থান রয়েছে। আরও সূচক বিচার এবং অপ্টিমাইজেশন প্রবর্তন করা হলে এই কৌশলটি আরও স্থিতিশীল অতিরিক্ত লাভের প্রত্যাশা করতে পারে।
/*backtest
start: 2023-01-22 00:00:00
end: 2024-01-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("TVIX MEAN REV V2 TREND", overlay=true)
length = input(16, minval=1)
OverBought = input(80)
OverSold = input(20)
TradeLong = input (true)
TradeShort = input (true)
OverBoughtClose = input(80)
OverSoldClose = input(20)
smoothK = 3
smoothD = 3
trail_points = input(50)
k = sma(stoch(close, high, low, length), smoothK)
d = sma(k, smoothD)
k2 = sma(stoch(close, high, low, length), smoothK)
d2 = sma(k, smoothD)
// === GENERAL INPUTS ===
// short Ema
maFastSource = input(defval=close, title="Fast EMA Source")
maFastLength = input(defval=1, title="Fast EMA Period", minval=1)
// long Sma
maSlowSource = input(defval=close, title="Slow SMA Source")
maSlowLength = input(defval=100, title="Slow SMA Period", minval=1)
// longer Sma
maSlowerSource = input(defval=close, title="Slower SMA Source")
maSlowerLength = input(defval=30, title="Slower SMA Period", minval=1)
//ATR Stop Loss Indicator by Keith Larson
atrDays = input(7, "ATR Days Lookback")
theAtr = atr(atrDays)
atrModifier = input(5.0, "ATR Modifier")
//plot(atr * atrModifier, title="ATR")
LstopLoss = close - (theAtr * atrModifier)
SstopLoss = close + (theAtr * atrModifier)
// === SERIES SETUP ===
/// a couple of ma's..
maFast = ema(maFastSource, maFastLength)
maSlow = sma(maSlowSource, maSlowLength)
maSlower = vwma(maSlowerSource, maSlowerLength)
rsi = rsi(maSlowerSource, maSlowerLength)
// === PLOTTING ===
fast = plot(maFast, title="Fast MA", color=color.red, linewidth=2, style=plot.style_line, transp=30)
slow = plot(maSlow, title="Slow MA", color=color.green, linewidth=2, style=plot.style_line, transp=30)
slower = plot(maSlower, title="Slower MA", color=color.teal, linewidth=2, style=plot.style_line, transp=30)
// === LOGIC === Basic - simply switches from long to short and vice-versa with each fast-slow MA cross
LongFilter = maFast > maSlow
ShortFilter = maSlow > maFast
BUY=crossover(k, d) and k < OverSold
SELL=crossunder(k, d) and k > OverBought
SELLCLOSE=crossover(k, d) and k < OverSoldClose
BUYCLOSE=crossunder(k, d) and k > OverBoughtClose
Open = open
if not na(k) and not na(d)
if crossover(k, d) and k < OverSold and LongFilter and TradeLong
strategy.entry("$", strategy.long, limit = Open, comment="Long")
strategy.close("$",when = crossunder(k, d) and k > OverBoughtClose or open < LstopLoss )
///strategy.close("$",when = open < LstopLoss )
if not na(k) and not na(d)
if crossunder(k, d) and k > OverBought and ShortFilter and TradeShort
strategy.entry("$1", strategy.short, limit = Open, comment="S")
strategy.close ("$1", when = crossover(k, d) and k < OverSoldClose or open > SstopLoss )
///strategy.close ("$1", when = open < SstopLoss)