Alıntı Originally Posted by MBaybars Yazıyı Oku
Merhaba, matrikste bir formulde hata ile karşılaştım formul MTF formulu ama hata MTF ile ilgili değil sanırım

n:=8; {Input("CmoH periods",1,252,14);} nw:=(HOUR()=10 AND MINUTE()=0) OR (HOUR()=14 AND MINUTE()=0);
c1:=valuewhen(1,nw,ref(c,-1)); c2:=valuewhen(2,nw,ref(c,-1));
po:=if(nw and (c1-c2)>0,c1-c2,0); neg:=if(nw and (c1-c2)<0,c2-c1,0);
np:=cum(po)-valuewhen(n+1,nw,cum(po)); nn:=cum(neg)-valuewhen(n+1,nw,cum(neg));
vCMO:=100*(np-nn)/(np+nn);


c1:=valuewhen(2,nw,ref(c,-1)); c2:=valuewhen(3,nw,ref(c,-1));
po:=if(nw and (c1-c2)>0,c1-c2,0); neg:=if(nw and (c1-c2)<0,c2-c1,0);
np:=cum(po)-valuewhen(n+1,nw,cum(po)); nn:=cum(neg)-valuewhen(n+1,nw,cum(neg));
vCMOpre:=100*(np-nn)/(np+nn);

vCMO;vCMOpre

Yukarıdaki formulde L2 yani vCMOpre değişkeni 0 çizdiriyor, bununla berabersadece vCMOpre yi hesaplattıran formulu tek başına aşağıdaki gibi yazdığımda ise düzgün çalışıor

n:=8; {Input("CmoH periods",1,252,14);} Nw:=(HOUR()=10 AND MINUTE()=0) OR (HOUR()=14 AND MINUTE()=0);
c1:=valuewhen(2,nw,ref(c,-1)); c2:=valuewhen(3,nw,ref(c,-1));
po:=if(nw and (c1-c2)>0,c1-c2,0); neg:=if(nw and (c1-c2)<0,c2-c1,0);
np:=cum(po)-valuewhen(n+1,nw,cum(po)); nn:=cum(neg)-valuewhen(n+1,nw,cum(neg));
vCMOpre:=100*(np-nn)/(np+nn);
vCMOpre

Burada ki hata ne olabilir? Teşekkürler
Test amaçlı ilk yazdığım formulde son satırdaki "vCMO;vCMOpre" ifadesini silip yerine sırasıyla tek başına c, sonra silip tek başına c2 vb. yazdım ve sonuca baktım; c1 ve c2 yi düzgün yazdırıyor ama po ve neg ve sonrasını 0 olarak yazdırıyor, orada hata var ama olmaması lazım sequential çalışan bir kod diye düşünüyorum alttaki po ve neg değerini üst taraftaki satırlardan bağımsız olarak hesaplamasını beklerdim, bu duruma ne dersiniz? Teşekküğrler