অপ্টিমাইজড ট্রেন্ড ট্র্যাকার

লেখক:চাওঝাং, তারিখঃ ২০২২-০৫-০৬ ২৩ঃ৩৫ঃ১৯
ট্যাগঃওটিটি

MOST (Moving Stop Loss) সূচক Anıl Özekşi এর ডেভেলপার থেকে একটি ব্র্যান্ড নতুন সূচক।

অপ্টিমাইজড ট্রেন্ড ট্র্যাকার (ওটিটি) হল একটি সূচক যা ব্যবসায়ীদেরকে একটি বিদ্যমান প্রবণতা খুঁজে পেতে বা অন্য কথায় আমরা বর্তমান প্রবণতার কোন দিকে আছি তা দেখতে দেয়।

দাম ওটিটি-র চেয়ে বেশি হলে আমরা এই প্রবণতার প্রভাবের মধ্যে আছি । নিম্নমুখী প্রবণতার প্রভাবের অধীনে, যখন দাম ওটিটি-র নিচে থাকে এটা বলা সম্ভব যে আমরা আছি।

দুটি পরামিতি দ্বারা নির্ধারিত ওটিটি সূচকের প্রথম পরামিতি হল সময়কাল/দৈর্ঘ্য।

ওটিটি যদি ছোট হয় তবে ট্রেন্ডের গতির প্রতি অনেক বেশি সংবেদনশীল হবে। এবং বিপরীতভাবে, যদি এটি দীর্ঘ হয় তবে এটি কম সংবেদনশীল হবে।

সময় বাড়ার সাথে সাথে এটি ছোটখাট প্রবণতা এবং দামের ক্রিয়াকলাপের প্রতি কম সংবেদনশীল হয়ে উঠবে।

এইভাবে, আপনার সময়কালের পছন্দটি আপনার আগ্রহের প্রবণতার সাথে ঘনিষ্ঠভাবে সম্পর্কিত হবে।

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

উপরন্তু, যখন ওটিটি ব্যবহার করা হয় যখন সমর্থন লাইন এটিতে, কিনুন এবং বিক্রয় সংকেত এটি একটি ফলপ্রসূ সূচক হয়ে উঠবে।

আপনি ওটিটি ডিফল্ট অ্যালার্ম এবং কিনুন বিক্রয় সংকেত ব্যবহার করতে পারেন যেমনঃ

১- যখন দাম ওটিটি-র উপরে থাকে তখন কিনুন যখন দাম ওটিটি-র নিচে থাকে তখন বিক্রি করুন

২- ওটিটি সাপোর্ট লাইন ওটিটি লাইনের উপর দিয়ে অতিক্রম করলে কিনুন। OTT সাপোর্ট লাইন যখন OTT লাইনের নিচে ক্রস করে তখন বিক্রি করুন।

৩- ওটিটি লাইন যখন সবুজ হয় এবং উচ্চতর উচ্চতা তৈরি করে তখন কিনুন। ওটিটি লাইন যখন লাল হয়ে যায় এবং নিম্ন স্তরে পড়ে যায় তখন বিক্রি করুন।

দ্রষ্টব্যঃ আমার ইউটিউব চ্যানেলে শীঘ্রই ইংরেজি সাবটাইটেল সহ একটি ছোট কভারেজ পাওয়া যাবে।পুনরায় পরীক্ষা

img


/*backtest
start: 2022-04-06 00:00:00
end: 2022-05-05 23:59:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © KivancOzbilgic

//created by: @Anil_Ozeksi
//developer: ANIL ÖZEKŞİ
//author: @kivancozbilgic

study("Optimized Trend Tracker","OTT", overlay=true)
src = input(close, title="Source")
length=input(2, "OTT Period", minval=1)
percent=input(1.4, "OTT Percent", type=input.float, step=0.1, minval=0)
showsupport = input(title="Show Support Line?", type=input.bool, defval=true)
showsignalsk = input(title="Show Support Line Crossing Signals?", type=input.bool, defval=true)
showsignalsc = input(title="Show Price/OTT Crossing Signals?", type=input.bool, defval=false)
highlight = input(title="Show OTT Color Changes?", type=input.bool, defval=false)
showsignalsr = input(title="Show OTT Color Change Signals?", type=input.bool, defval=false)
highlighting = input(title="Highlighter On/Off ?", type=input.bool, defval=true)
mav = input(title="Moving Average Type", defval="VAR", options=["SMA", "EMA", "WMA", "TMA", "VAR", "WWMA", "ZLEMA", "TSF"])
Var_Func(src,length)=>
    valpha=2/(length+1)
    vud1=src>src[1] ? src-src[1] : 0
    vdd1=src<src[1] ? src[1]-src : 0
    vUD=sum(vud1,9)
    vDD=sum(vdd1,9)
    vCMO=nz((vUD-vDD)/(vUD+vDD))
    VAR=0.0
    VAR:=nz(valpha*abs(vCMO)*src)+(1-valpha*abs(vCMO))*nz(VAR[1])
VAR=Var_Func(src,length)
Wwma_Func(src,length)=>
    wwalpha = 1/ length
    WWMA = 0.0
    WWMA := wwalpha*src + (1-wwalpha)*nz(WWMA[1])
WWMA=Wwma_Func(src,length)
Zlema_Func(src,length)=>
    zxLag = length/2==round(length/2) ? length/2 : (length - 1) / 2
    zxEMAData = (src + (src - src[zxLag]))
    ZLEMA = ema(zxEMAData, length)
ZLEMA=Zlema_Func(src,length)
Tsf_Func(src,length)=>
    lrc = linreg(src, length, 0)
    lrc1 = linreg(src,length,1)
    lrs = (lrc-lrc1)
    TSF = linreg(src, length, 0)+lrs
TSF=Tsf_Func(src,length)
getMA(src, length) =>
    ma = 0.0
    if mav == "SMA"
        ma := sma(src, length)
        ma

    if mav == "EMA"
        ma := ema(src, length)
        ma

    if mav == "WMA"
        ma := wma(src, length)
        ma

    if mav == "TMA"
        ma := sma(sma(src, ceil(length / 2)), floor(length / 2) + 1)
        ma

    if mav == "VAR"
        ma := VAR
        ma

    if mav == "WWMA"
        ma := WWMA
        ma

    if mav == "ZLEMA"
        ma := ZLEMA
        ma

    if mav == "TSF"
        ma := TSF
        ma
    ma
    
MAvg=getMA(src, length)
fark=MAvg*percent*0.01
longStop = MAvg - fark
longStopPrev = nz(longStop[1], longStop)
longStop := MAvg > longStopPrev ? max(longStop, longStopPrev) : longStop
shortStop =  MAvg + fark
shortStopPrev = nz(shortStop[1], shortStop)
shortStop := MAvg < shortStopPrev ? min(shortStop, shortStopPrev) : shortStop
dir = 1
dir := nz(dir[1], dir)
dir := dir == -1 and MAvg > shortStopPrev ? 1 : dir == 1 and MAvg < longStopPrev ? -1 : dir
MT = dir==1 ? longStop: shortStop
OTT=MAvg>MT ? MT*(200+percent)/200 : MT*(200-percent)/200 
plot(showsupport ? MAvg : na, color=#0585E1, linewidth=2, title="Support Line")
OTTC = highlight ? OTT[2] > OTT[3] ? color.green : color.red : #B800D9 
pALL=plot(nz(OTT[2]), color=OTTC, linewidth=2, title="OTT", transp=0)

buySignalk = crossover(MAvg, OTT[2])
plotshape(buySignalk and showsignalsk ? OTT*0.995 : na, title="Buy", text="Buy", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.green, textcolor=color.white, transp=0)
sellSignallk = crossunder(MAvg, OTT[2])
plotshape(sellSignallk and showsignalsk ? OTT*1.005 : na, title="Sell", text="Sell", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.red, textcolor=color.white, transp=0)

if buySignalk
    strategy.entry("entry long", strategy.long)
else if sellSignallk
    strategy.entry("entry short", strategy.short)
  
  


সম্পর্কিত

আরো