अनुकूलित रुझान ट्रैकर

लेखक:चाओझांग, दिनांकः 2022-05-06 23:35:19
टैगःओटीटी

MOST (मोविंग स्टॉप लॉस) संकेतक के डेवलपर Anıl Özekşi से एक नया संकेतक।

ऑप्टिमाइज्ड ट्रेंड ट्रैकर (ओटीटी) एक ऐसा संकेतक है जो व्यापारियों को मौजूदा ट्रेंड का पता लगाने या दूसरे शब्दों में यह देखने में मदद करता है कि हम वर्तमान ट्रेंड के किस पक्ष में हैं।

हम उन मामलों में अपट्रेंड के प्रभाव में हैं जहां कीमतें ओटीटी से ऊपर हैं, जब कीमतें ओटीटी से कम हो जाती हैं, तो एक घटती प्रवृत्ति के प्रभाव में यह कहना संभव है कि हम हैं।

ओटीटी संकेतक में दो मापदंडों द्वारा निर्धारित पहला पैरामीटर अवधि/लंबाई है।

यदि ओटीटी छोटा है तो यह रुझानों के लिए बहुत संवेदनशील होगा। और इसके विपरीत, यदि यह लंबा है तो यह कम संवेदनशील होगा।

जैसे-जैसे अवधि बढ़ेगी, वह छोटे रुझानों और मूल्य आंदोलनों के प्रति कम संवेदनशील हो जाएगा।

इस प्रकार, आपकी अवधि की पसंद, इस बात से निकटता से संबंधित होगी कि आप किस प्रकार के रुझानों में रुचि रखते हैं।

ओटीटी में ओटीटी प्रतिशत पैरामीटर एक अनुकूलन गुणांक है। छोटे मूल्य अल्पकालिक उतार-चढ़ाव को बेहतर ढंग से पकड़ते हैं, जबकि बड़े मूल्य दीर्घकालिक रुझानों के लिए अधिक उपयुक्त होगा।

इसके अतिरिक्त, जब ओटीटी का उपयोग इसमें समर्थन लाइन के साथ किया जाता है, तो खरीद और बिक्री संकेत यह एक उत्पादक संकेतक बन जाएगा।

आप ओटीटी डिफ़ॉल्ट अलार्म और खरीदें बेचें संकेतों का उपयोग कर सकते हैं जैसेः

1- खरीदें जब कीमतें ओटीटी से ऊपर हों जब कीमतें ओटीटी से कम हों तो बेचें

2- खरीदें जब ओटीटी समर्थन लाइन ओटीटी लाइन से पार हो जाए। जब ओटीटी समर्थन लाइन ओटीटी लाइन के नीचे पार हो जाए तो बेचना।

3- ओटीटी लाइन ग्रीन होने पर खरीदें और उच्च स्तर पर जाएं। जब ओटीटी लाइन लाल हो और कम निचले स्तर बनाती है तो बेचना।

नोटः अंग्रेजी उपशीर्षक के साथ एक छोटा कवरेज जल्द ही मेरे यूट्यूब चैनल पर उपलब्ध होगा।पुनरीक्षण

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)
  
  


संबंधित

अधिक