|
|
Biraz vakit bulunca göz attım. Önce formülün ne dediğini/yaptığını anlamaya çalışalım.
Nw:=DAYOFMONTH()<>ref(DAYOFMONTH(),-1);
n1:=15; p1:=2/(n1+1);
If(nw,(p1*Ref(C,-1))+((1-p1)*PREV),PREV)
AÇIKLAMA:
nw=-1 demek gün başı demektir. Öyleyse gün başında saat 10:00 da (yani nw=-1) bir önceki gün kapanışını ref(C-1) kullanarak ema hesaplanır ((p1*Ref(C,-1))+((1-p1)*PREV)) ve günün geri kalanında saat 10:00 dan sonra (yani nw=0) bir önceki değer (yani prev) kullanılır.
Ancaaaaak, alt frame lere geçildiğinde bir önceki günün kapanış değeri ( yani ref(c-1) ) doğru çekilmiyor ! Problem bar sayısından ziyade buradan kaynaklanıyor !!!
şu minik kodu (nw=-1 yani gün başında iken bir önceki günün kapanışını gösteren kod) kullanarak ne demek istediğimi grafik üzerinde anlatayım.
Nw:=DAYOFMONTH()<>ref(DAYOFMONTH(),-1);
If(nw,REF(C-1),0)
5 dk.lık grafik'te 22 haziran günlük kapanışı 4.27 ve 21 haziran günlük kapanışı 4.06 olarak çekilmekte. Ancak GÜNLÜK grafikte baktığımızda 22 haziran günlük kapanışı 4.24 ve 21 haziran günlük kapanışı 4.04 olarak görülmekte. Demek ki alt frame lerde iken günlük kapanış datasının okunmasında problem var. Vakit bulunca bu problemi çözmek için kafa patlatırım.
Kolay gelsin.
Son düzenleme : kafkaf; 27-06-2017 saat: 14:16.
Burada yer alan yorumlar, kişisel görüşlere dayanmaktadır. Bu nedenle, yatırım veya al/sat tavsiyesi olarak değerlendirilmemelidir.
Burada yer alan yorumlar, kişisel görüşlere dayanmaktadır. Bu nedenle, yatırım veya al/sat tavsiyesi olarak değerlendirilmemelidir.
Ema günlük için verdiğiniz kodun üzerinde uğraşıyorum.
amacım saatlik emayı 15 dk üzerinde göstermek...
sizin verdiğiniz
Nw:=DAYOFMONTH()<>ref(DAYOFMONTH(),-1);
n1:=40; p1:=2/(n1+1);
If(nw,(p1*Ref(C,-1))+((1-p1)*PREV),PREV)
kodunu
HOUR()<>ref(HOUR(),-1)
başlığı ile editledim...
Nw:=HOUR()<>ref(HOUR(),-1);
n1:=40; p1:=2/(n1+1);
If(nw,(p1*Ref(C,-1))+((1-p1)*PREV),PREV)
bu şekilde....
60dk evet aynı değeri hesaplıyor.
fakat grafiği 15 dk yada 5dk aldığımda olması gereken değeri göstermiyor. nerede yanlış yapıyorum sizce ?
n1:=14;
nw:=HOUR()<>ref(HOUR(),-1);
p1:=2/(n1+1);
nc1:=valuewhen(1,nw,Ref(C,-1));
nc2:=valuewhen(n1+1,nw,Ref(C,-1));
If(nw,(p1*Ref(C,-1))+((1-p1)*PREV),PREV)
başka formüllerinizden bölük pörcük yapmaya çalışıyorum...
momentum için kullandığınız ifadeyi buraya taşıdım.. faakat aşağıda ifli hesaplamaya nasıl dahil edeceğimi bilemedim.
teşekkür ederim.
bunu bende yaptım fakat periyot büyütünce değerler sapıttı...
sanırım data yetersizliğinden oluyor sanırım...
1440 değeri için denermisiniz
saatlik ema 15dk üzerinde yok oluyor...
oysa matriks 15 ve 60 lıklarda 1440ema hesaplıyıp grafik üzerine atıyor.
ilginiz için teşekkürler.
bahsettiğim şey bu...
Yer İmleri