গতিশীল প্রবণতা কৌশল

লেখক:চাওঝাং, তারিখঃ 2024-01-26 11:45:55
ট্যাগঃ

img

সারসংক্ষেপ

এই কৌশলটি বিভিন্ন প্রযুক্তিগত সূচক যেমন চলমান গড়, আপেক্ষিক শক্তি সূচক (আরএসআই), ভলিউম ফ্লাকুয়েশন সূচক (ভিএফআই) এবং প্রকৃত শক্তি সূচক (টিএসআই) একত্রিত করে বাজারের সামগ্রিক গতি এবং প্রবণতা নির্ধারণ করে এবং মাঝারি থেকে দীর্ঘমেয়াদী মূল্য আন্দোলনগুলি ক্যাপচার করে।

কৌশলগত যুক্তি

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

  2. ভিএফআই-র ইএমএ (২৫ দিন) এবং ভিএফআই-র এসএমএ (২৫ দিন) -এর মুভিং মিডিয়ার হিসাব করা হয় যাতে তহবিলের প্রবাহ ও প্রবাহকে পরিমাপ করা যায়।

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

  4. বাজারের সামগ্রিক গতির দিকনির্দেশনা বের করার জন্য RSI, VFI এবং TSI ফলাফলগুলিকে একত্রিত করুন।

  5. যখন নিচে গতির চিহ্নিত করা হয় তখন শর্ট পজিশন নিন। যখন গতির বিপরীত সনাক্ত করা হয় তখন শর্ট কভার করুন।

সুবিধা বিশ্লেষণ

  1. একাধিক সূচকের সংমিশ্রণ সামগ্রিক বাজারের গতি এবং প্রবণতা আরও ব্যাপক এবং সঠিকভাবে পরিমাপ করতে সক্ষম করে।

  2. ভিএফআই বাজারের তহবিলের প্রবাহকে প্রতিফলিত করে, প্রবণতার বিরুদ্ধে ট্রেডিং এড়ায়।

  3. এই টিএসআই বাজারের অস্থিরতাকে ফিল্টার করে, সংকেতগুলিকে আরো নির্ভরযোগ্য করে তোলে।

  4. সামগ্রিকভাবে, কৌশলটি উচ্চ নির্ভরযোগ্যতা এবং ভাল জয় হার আছে।

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

  1. মাল্টি-ইন্ডিক্টর সেটআপ থেকে সর্বোত্তম ফলাফলের জন্য জটিল পরামিতি টিউনিং প্রয়োজন।

  2. সহজ প্রবেশ এবং প্রস্থান নিয়মগুলি সম্পূর্ণরূপে সূচক তথ্য মূলধন করতে অক্ষম, স্বল্পমেয়াদী বিপরীত ক্ষতির ঝুঁকিতে।

  3. ভ্রান্ত সংকেত এবং ছোট পুলব্যাক ক্ষতির জন্য সংবেদনশীল, ব্যাপ্তি, অস্থির বাজারে।

অপ্টিমাইজেশান নির্দেশাবলী

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

  2. বিপরীতমুখী অবস্থার জন্য সূচক অবস্থার উপর ভিত্তি করে প্রস্থান নিয়ম উন্নত করা।

  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)        

আরো