KivancOzbilgic

Forecast Oscillator

The Forecast Oscillator is a technical indicator that compares a security close price to its time series forecast. The time series forecast function name is "tsf" and it calculates the projection of the price trend for the next bar.

The Forecast Oscillator and therefore the time series forecast are based on linear regression . The time series forecast indicator is equal to the sum of two other indicators: the linear regression (LinearReg) and the linear regression slope (LinearReg_Slope).


If the Forecast Oscillator stays above the zero line for an extended period, then it signals that the price may rise in the future and if it stays below the zero line for an extended period, then it signals a coming fall in the security price.


The indicator name is "Forecast Oscillator" and it accepts two arguments. The first argument is the time series that is used in the next bar forecast (It is usually the close price) and the second one is the period that will be passed to the time series forecast function during calculation . The technical analysis indicator returns a value in percentage that corresponds to the close price minus the previous value of the time series forecast, multiplied by 100 and divided by the close price.


Author's Note:
Just look at the exaggerated movements of the oscillator especially in trend changes. Some examples can be experienced on the chart in rectangles.
Kıvanç Özbilgiç

สคริปต์โอเพนซอร์ซ

จากใจ TradingView ผู้เขียนสคริปต์นี้ได้เผยแพร่เป็นโอเพนซอร์ส เพื่อให้ผู้ค้าสามารถเข้าใจและตรวจสอบได้ ยินดีด้วย! คุณสามารถใช้มันได้ฟรี แต่การใช้โค๊ดนี้ซ้ำเพื่อการเผยเเพร่ อยู่ภายใต้ กฎของเรา คุณสามารถตั้งเป็นรายการโปรดเพื่อใช้กับชาร์ตได้

ต้องการที่จะใช้สคริปต์นี้บนชาร์ตใช่ไหม?

ความคิดเห็น

Teşekkürler👏
100 เหรียญ
+1 ตอบกลับ
KIVANÇ BEY SİZİ ANLATAN EN İYİ TAMLAMA.."TEK KİŞİLİK DEV KADRO" TEŞEKKÜR EDERİZ
+6 ตอบกลับ
strategy("Twin Optimized Trend Tracker","TOTT", overlay=true)
src = input(close, title="Source")
length=input(40, "OTT Period", minval=1)
percent=input(1, "Optimization Constant", type=input.float, step=0.1, minval=0)
coeff=input(0.001, "Twin OTT Coefficient", type=input.float, step=0.001, minval=0)
showsupport = input(title="Show Support Line?", type=input.bool, defval=true)
showsignalsk = input(title="Show Signals?", type=input.bool, defval=true)
mav = input(title="Moving Average Type", defval="VAR", options=)
highlighting = input(title="Highlighter On/Off ?", type=input.bool, defval=true)

Burası, aslında bir kısım. Burada input ile giriş bilgileri yazılıyor. Burada kaç zaman değeri olacağı yazıyor.
uzunluğun başlangıç değeri 1, bitiş değeri 40. Anladığım kadarıyla 1 dahil, 40 dahil.
mav = kısmında tam takım değer girişler bulunuyor. Eğer bunlar yazılmazsa, kodlar yazıldığı taktirde hata verecektir. input bool, var ya da yok. Başlangıçta
ise var kabul ediliyor.

Var_Func(src,length)=>
valpha=2/(length+1)
vud1=src>src ? src-src : 0
vdd1=src<src ? src-src : 0
vUD=sum(vud1,9)
vDD=sum(vdd1,9)
vCMO=nz((vUD-vDD)/(vUD+vDD))
VAR=0.0

Burası şöyle açıklanır:
Değer fonksiyonu(kaynak, uzunluk)=>
Başta gösterilen kaynak ve uzunluk alınmış. Bu, tek satır olarak anlamsız gözükse de aşağısıyla bağlantılıdır en çok:
valpha=2/(length+1)
yeni bir değer tanılıyor. length'in 1 fazlasını 2 ye bölüyor.

vud1=src>src ? src-src : 0
vdd1=src<src ? src-src : 0
vUD=sum(vud1,9)
vDD=sum(vdd1,9)
vCMO=nz((vUD-vDD)/(vUD+vDD))
VAR=0.0
Burada vud1 değeri; src, src'nin 1 önceki değerinden büyükse, src'nin 1 önceki elemanı; değilse de 0 ı ele alıyor.
ardından yeni bir değer açıyor ve o da şuna eşit:
bu sefer de yukarının tam tersini yaparak bir sistem oluşuyor. Her iki ihtimal de değerlendiriliyor.
nihai sonuçlar şöyle değerlendiriliyor:
V(u)D ve V(d)D. Bu ikisi aynı değeri kullansa da; yukarıda 3 koşul var. Dolayısıyla 2 koşul değerlendiriliyor. Bir tanesinin kullanılmamasının nedeni 0'dır. Öyle ya da
böyle, sıfırı kullanırsa iki şıkkı elemiş olup, bir tane soldan şık geriye seçilecektir.

VAR:=nz(valpha*abs(vCMO)*src)+(1-valpha*abs(vCMO))*nz(VAR)
VAR=Var_Func(src,length)
Wwma_Func(src,length)=>
wwalpha = 1/ length
WWMA = 0.0
WWMA := wwalpha*src + (1-wwalpha)*nz(WWMA)
WWMA=Wwma_Func(src,length)
Zlema_Func(src,length)=>
zxLag = length/2==round(length/2) ? length/2 : (length - 1) / 2
zxEMAData = (src + (src - src))
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)

Burada çizim işlemine geçiliyor.
Burada anladığım kadarıyla ilk satırda bir koşul, altta da yeni bir koşul var.
temel "var", var fonksiyonunda (ilk kısımda yazılan) değerin
+4 ตอบกลับ
uaozcan06 uaozcan06
@uaozcan06, bir öğrencim var bu u yazdı..lisede.. sizce olmuş mu..
+3 ตอบกลับ
aydin_bulent uaozcan06
@uaozcan06, Olmuş güzel olmuş birde 1 saat ve altı için uygun parametre hangisi olurdu bu daha güzel olurdu.
ตอบกลับ
Man1di5buk3 uaozcan06
@uaozcan06, Bunu biz nasil kullanabiliriz ki!
ตอบกลับ
@uaozcan06, dalga falan mı geçiyorsunuz siz benimle???

Maile de atmışsınız "Bir algoritma geliştirdik.. olmuş mu diye size yazdık.. bakarsanız seviniriz..Lise öğrencisi yazdı.." diye!
Neyin algosu neyin geliştirmesi, kod kopyalanmış aynen!

2 gün önce paylaştığım kodu noktasına virgülüne dokunmadan öğrencim yazdı liseli diye utanmadan benimle paylaşıyorsunuz!

Şaka gibi gerçekten, şaka olmalı bu!
+15 ตอบกลับ
uaozcan06 KivancOzbilgic
@KivancOzbilgic, sayın kıvanç bey amacım o değildi.bir öğrenciye umut olmaktı..o daha bir ergen.. meslek seçmek istiyor.. yanlış anlasildiysam özür diledim.. Ben konut yazmadan anlamam .. öğrencim ben yazdım diyince ben de size bir danışayım dedim.. kusura bakmayın.. sizi yıllardır takip ederim..algoritma ve indikatorlerinizi kullanırım.. bu yanlış anlaşılmadan ötürü de özür dilerim..
+2 ตอบกลับ
@uaozcan06, özür dilemenize gerek yok, bir yanlış anlama olmuş, kodu aynen yazıp biz geliştirdik bir bakar mısınız deyince mailde dalga geçmek için yazdınız sandım, buraya da yazınca canım sıkıldı, öğrenciniz yazılan kodlamanın açıklamasını yazmış ama bence lise öğrencisi için o da bir başarıdır
+2 ตอบกลับ
uaozcan06 KivancOzbilgic
@KivancOzbilgic, sağolun teşekkürler... Zaten sonradan sordum.. komutlara yorum yaptığını söyledi..ben o yazdı zannettim... heyecanlandım birden.. iyi günler..
+5 ตอบกลับ