একাধিক প্রযুক্তিগত সূচক সহ মোমেন্টাম ট্রেন্ড কৌশল


সৃষ্টির তারিখ: 2024-01-26 11:45:55 অবশেষে সংশোধন করুন: 2024-01-26 11:45:55
অনুলিপি: 0 ক্লিকের সংখ্যা: 575
1
ফোকাস
1617
অনুসারী

একাধিক প্রযুক্তিগত সূচক সহ মোমেন্টাম ট্রেন্ড কৌশল

ওভারভিউ

এই কৌশলটি বেশ কয়েকটি প্রযুক্তিগত সূচক যেমন চলমান গড়, তুলনামূলকভাবে দুর্বল সূচক (RSI), পরিমাণ পরিবর্তন সূচক (VFI) এবং প্রকৃত শক্তি সূচক (TSI) ব্যবহার করে বাজারের সামগ্রিক গতিশীলতা এবং প্রবণতা নির্ধারণ করে এবং মধ্যম এবং দীর্ঘ লাইনের দামের গতিশীলতা ক্যাপচার করে।

কৌশল নীতি

  1. দ্রুত লাইন RSI ((7 দিন), স্বাভাবিক লাইন RSI ((14 দিন) এবং ধীর লাইন RSI ((50 দিন) এর চলমান গড় গণনা করুন, আরএসআই এর বহুমুখী প্রবণতা এবং গতিশীলতা বিচার করুন।

  2. ভিএফআই এবং ভিএফআই এর চলমান গড় EMA (25 দিন) এবং SMA (25 দিন) গণনা করুন এবং বাজারে তহবিলের প্রবাহ এবং প্রবাহ নির্ধারণ করুন।

  3. বাজার প্রবণতার শক্তি নির্ণয় করার জন্য টিএসআই এর দীর্ঘমেয়াদী গড় এবং স্বল্পমেয়াদী গড়ের অনুপাত গণনা করুন।

  4. আরএসআই, ভিএফআই এবং টিএসআই এর ফলাফল একত্রিত করে বাজারের সামগ্রিক গতিশীলতার দিকনির্দেশনা বের করা হয়েছে।

  5. যখন বাজারে নেমে যাওয়ার গতিশীলতা দেখা যায়, তখন কমান্ডটি খালি করুন। যখন বাজারের গতিশীলতা বিপরীত হয়, তখন খালি পজিশনটি খালি করুন।

সামর্থ্য বিশ্লেষণ

  1. বিভিন্ন সূচকের সমন্বয়ে, বাজারের সামগ্রিক গতিশীলতা এবং প্রবণতা সম্পর্কে একটি সম্পূর্ণ এবং সঠিক ধারণা পাওয়া যায়।

  2. ভিএফআই মার্কেটের অর্থের প্রবাহ ও প্রবাহকে প্রতিফলিত করে এবং লেনদেনের বিপরীতমুখী হওয়া এড়ায়।

  3. টিএসআই ফিল্টারগুলি সিগন্যালকে আরও নির্ভরযোগ্য করে তোলে।

  4. সামগ্রিকভাবে, এই কৌশলটি নির্ভরযোগ্য এবং বিজয়ী হওয়ার সম্ভাবনা বেশি।

ঝুঁকি বিশ্লেষণ

  1. একাধিক সূচক একত্রিত করা, প্যারামিটার সেট করা জটিল, সর্বোত্তম প্যারামিটার অর্জনের জন্য বারবার পরীক্ষার প্রয়োজন।

  2. এন্ট্রি এবং এক্সজিট কৌশল সহজ, সূচক দ্বারা প্রদত্ত তথ্যের পূর্ণ ব্যবহার করা যায় না, যার ফলে অতি সংক্ষিপ্ত লাইন বিপরীত ক্ষতি হতে পারে।

  3. “অবশ্যই, এই ধরনের পরিস্থিতিতে, আপনি একটি ছোট ক্ষতির দিকে ঝুঁকতে পারেন।

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

  1. সূচক প্যারামিটার সমন্বয় অপ্টিমাইজ করুন এবং সর্বোত্তম প্যারামিটার খুঁজুন।

  2. Exit rule যুক্ত করা হয়েছে, যেটা দিয়ে আপনি আপনার Exit Rule এর বিপরীত সিদ্ধান্ত নিতে পারবেন।

  3. 👉

সারসংক্ষেপ

এই কৌশলটি বাজারের সামগ্রিক গতিশীলতা নির্ধারণের জন্য একাধিক সূচক ব্যবহার করে, যখন বাজারে নেমে যাওয়ার গতিশীলতা রয়েছে তখন মুনাফা অর্জন করে। এই কৌশলটি উচ্চ নির্ভরযোগ্য, তবে প্রবেশ এবং প্রস্থান প্রক্রিয়াটি সহজ, সূচকের তথ্যটি পুরোপুরি ব্যবহার করা হয় না। প্যারামিটারগুলিকে ক্রমাগত অনুকূলিতকরণ এবং প্রস্থান নিয়মকে শক্তিশালী করে কৌশলটির স্থায়িত্ব এবং লাভজনকতা আরও বাড়ানো যায়।

]

কৌশল সোর্স কোড
//@version=2
//credit to LazyBear, Lewm444, and others for direct and indirect inputs/////////////////////////////////
//script is very rough, publishing more for collaborative input value than as a finished product/////////
strategy("Momo", overlay=true)
length = input( 50 )
overSold = input( 50 )
overBought = input( 65 )
price = ohlc4

/////////////////////////////////////////////////////macd/////////////////////////////////////////////////

fastLength = input(12)
slowlength = input(26)
MACDLength = input(9)

fast = 12, slow = 26
fastMA = ema(close, fast)
slowMA = ema(close, slow)
MACD = (fastMA - slowMA)
Msignal = (sma(MACD, 9))*40
//plot(Msignal, color=blue, linewidth=3)

/////////////////////////////////////////////////rsi spread/////////////////////////////////////////////////

source = price

RSIFast  = rsi(source, input(7))
RSINorm  = rsi(source, input(14))
RSISlow = rsi(source, input(50))

//plot(RSIFast, color=silver, style=area, histbase=50)
//plot(RSINorm, color=#98b8be, style=area, histbase=50)
//plot(RSISlow, color=#be9e98, style=area, histbase=50)

//plot(RSIFast, color=gray, style=line, linewidth=1)
//plot(RSINorm, color=purple, style=line, linewidth=2)
//plot(RSISlow, color=black, style=line, linewidth=3)

exponential = input(true, title="Exponential MA")

src = (RSIFast)

ma05 = exponential ? ema(src, 05) : sma(src, 05)
ma30 = exponential ? ema(src, 30) : sma(src, 30)
ma50 = exponential ? ema(src, 50) : sma(src, 50)
ma70 = exponential ? ema(src, 70) : sma(src, 70)
ma90 = exponential ? ema(src, 90) : sma(src, 90)
ma100 = exponential ? ema(src, 100) : sma(src, 100)

exponential1 = input(true, title="Exponential MA")

src1 = (RSINorm)

ma051 = exponential1 ? ema(src1, 05) : sma(src1, 05)
ma301 = exponential1 ? ema(src1, 30) : sma(src1, 30)
ma501 = exponential1 ? ema(src1, 50) : sma(src1, 50)
ma701 = exponential1 ? ema(src1, 70) : sma(src1, 70)
ma901 = exponential1 ? ema(src1, 90) : sma(src1, 90)
ma1001 = exponential1 ? ema(src1, 100) : sma(src1, 100)


exponential2 = input(true, title="Exponential MA")

src2 = (RSINorm)

ma052 = exponential2 ? ema(src2, 05) : sma(src2, 05)
ma302 = exponential2 ? ema(src2, 30) : sma(src2, 30)
ma502 = exponential2 ? ema(src2, 50) : sma(src2, 50)
ma702 = exponential2 ? ema(src2, 70) : sma(src2, 70)
ma902 = exponential2 ? ema(src2, 90) : sma(src2, 90)
ma1002 = exponential2 ? ema(src2, 100) : sma(src2, 100)


////////////////////////////////////////////////vfi by LazyBear, modified////////////////////////////////////

VFIlength = input(130, title="VFI length")
coef = input(0.2)
vcoef = input(2.5, title="Max. vol. cutoff")
signalLength=input(10)
signalLength2 = input(100)
smoothVFI=input(false, type=bool)

ma(x,y) => smoothVFI ? sma(x,y) : x

typical=hlc3
inter = log( typical ) - log( typical[1] )
vinter = stdev(inter, 30 )
cutoff = coef * vinter * close
vave = sma( volume, VFIlength )[1]
vmax = vave * vcoef
vc = iff(volume < vmax, volume, vmax) //min( volume, vmax )
mf = typical - typical[1]
vcp = iff( mf > cutoff, vc, iff ( mf < -cutoff, -vc, 0 ) )

vfi = ma(sum( vcp , VFIlength )/vave, 3)
vfima = ema( vfi, 25 )
vfimaS = (sma(vfima, 25))
zima = ema( vfima, signalLength2 )
d=vfi-vfima
vfi_avg = avg(vfi, vfima, vfimaS)
vfi_avgS = (sma(vfi_avg,5))

plot( zima, title="EMA of vfima", color=fuchsia, linewidth=1)
plot( vfimaS, title="SMA of vfima", color=blue, linewidth=1)
plot( vfima , title="EMA of vfi", color=black, linewidth=1)
//plot( vfi, title="vfi", color=green,linewidth=1)
//plot( vfi_avg, title="vfi_avg", color=blue, linewidth=2)
//plot( vfi_avgS, title="vfi_avgS", color=maroon, linewidth=2)

/////////////////////////////////////////////////////tsi////////////////////////////////////////////////

long2 = input(title="Long Length",  defval=24)
short2 = input(title="Short Length",  defval=7)
signal2 = input(title="Signal Length",  defval=13)
pc = change(price)
double_smooth2(src, long2, short2) =>
    fist_smooth2 = ema(src, long2)
    ema(fist_smooth2, short2)
double_smoothed_pc2 = double_smooth2(pc, long2, short2)
double_smoothed_abs_pc2 = double_smooth2(abs(pc), long2, short2)
tsi_value2 = 60 * (double_smoothed_pc2 / double_smoothed_abs_pc2)
//plot( tsi_value2, title="tsi2", color=black, linewidth=1)

////////////////////////////////////////////////////////mjb////////////////////////////////////////////////

trendSignal = avg(tsi_value2, Msignal, vfi)*1.75
T1 = sma(trendSignal, 5)
T2 = ema(trendSignal, 25)
T3 = ema(T2, 25)
//plot( T1, title="Trend", color=red, linewidth=3)
plot( T3, title="Trend3", color=black, linewidth=3)

/////////////////////////////////////////////////////mjb////////////////////////////////////////////////

Momentum = avg (T3, vfimaS, vfima)
plot( Momentum, title="Momentum", color=blue, linewidth=2)
vrsi = rsi(price, length)
clearance = abs(zima - Msignal)

/////////////////////////////////////////////////////mjb////////////////////////////////////////////////

if (not na(vrsi)) 
    if (zima > T3) and (clearance > 5) and (falling(zima, 1) == 1) and (zima > vfimaS) and (zima > vfima) and (falling(T3, 1) == 1) and (zima > 6)
        strategy.entry("ss", strategy.short)
    if (T3 > zima) and (rising(zima, 1) == 1)
        strategy.entry("Zcover", strategy.long)
    if (strategy.openprofit > 750) and (rising(T2, 1) == 1) and (T2 > 10)
        strategy.entry("ProfitTake", strategy.long)
// strategy.risk.allow_entry_in(strategy.direction.short)
// strategy.risk.max_intraday_loss(2000, strategy.cash)