Artan

99,00 10 18:10
16.477,50 10 18:10
134,20 10 18:10
71,50 10 18:10
291,50 10 18:10
Artan Hisseler

Azalan

87,30 -10 18:10
512,00 -9.94 18:10
11,87 -9.94 18:10
56,95 -6.64 18:10
32,60 -6.48 18:10
Azalan Hisseler

İşlem

25.705.427.996,65 18:10
25.126.837.234,00 18:10
19.159.886.780,88 18:10
15.041.630.827,90 18:10
14.530.506.819,80 18:10
Tüm Hisseler
Sayfa 155/233 İlkİlk ... 55105145153154155156157165205 ... SonSon
Arama sonucu : 2019 madde; 1,233 - 1,240 arası.

Konu: Matriks Formülleri

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
     Alıntı Originally Posted by apiyigun1 Yazıyı Oku
    Hocam bir sorum daha olacak. mostun yüzdelik kısmına değişken tanımlayabilir miyiz? Matrikste gömülü halde bulunan mosta değişken tanımladığımda anlamsız sonuçlar üretiyor. Örneğin elle 0.25 girdiğimizde aldığımız değerle değişkenin 0.25 değerini verdiği andaki değer çok alakasız oluyor. Forumda gezerken mostun formülünü de buldum. orada da denedim ama yine çıkan sonuçlar anlamsız oluyor.
    Mostun sadece datasını degişken olarak atayabilirsin..
    Forumda verilen most açık formulu ve yapmak istegini yazarsanız yardımcı oluruz...
    Ucu açık soruya,nasıl yardımcı olalım???
    Dürüstlük pahalı bir mülktür, ucuz insanlarda bulunmaz. Honore Balssa

  2. yuzde:=Input("% stop",0,10,2);
    per:=Input("period",1,100,3);
    a1:=Mov(C,per,E);
    a2:=a1-(a1*yuzde/100);
    a3:=a1+(a1*yuzde/100);
    b1:=If(a1<PREV,a2,if(a2>PREV,a2,PREV));
    b2:=If(a1>PREV,a3,if(a3<PREV,a3,PREV));
    k1:=Cross(a1,Ref(b2,-1));
    k2:=Cross(Ref(b1,-1),a1);
    s1:=BarsSince(k1) < BarsSince(k2);
    s2:=If(s1=-1,b1,b2);
    a1;s2

    Bu formülde ;

    a1: Matriks içindeki default Most göstergesinde ExMOV yazan değere denk geliyor.
    s2: Matriks içindeki default Most göstergesinde MOST yazan değere denk geliyor.

    Forumda bulduğum mostun açık formülü bu hocam. Yapmak istediğim ise volatilite arttıkça küçülen bir yüzdelik değer, volatilite azaldıkça artan bir yüzdelik değer. henüz bunu nasıl yapacağımı bilmiyorum ancak aklıma ilk gelen hhv(h,30)-llv(l,30)'dan bir ters orantı elde etmeye çalışabilirim.

  3. #3
     Alıntı Originally Posted by apiyigun1 Yazıyı Oku
    yuzde:=Input("% stop",0,10,2);
    per:=Input("period",1,100,3);
    a1:=Mov(C,per,E);
    a2:=a1-(a1*yuzde/100);
    a3:=a1+(a1*yuzde/100);
    b1:=If(a1<PREV,a2,if(a2>PREV,a2,PREV));
    b2:=If(a1>PREV,a3,if(a3<PREV,a3,PREV));
    k1:=Cross(a1,Ref(b2,-1));
    k2:=Cross(Ref(b1,-1),a1);
    s1:=BarsSince(k1) < BarsSince(k2);
    s2:=If(s1=-1,b1,b2);
    a1;s2

    Bu formülde ;

    a1: Matriks içindeki default Most göstergesinde ExMOV yazan değere denk geliyor.
    s2: Matriks içindeki default Most göstergesinde MOST yazan değere denk geliyor.


    Forumda bulduğum mostun açık formülü bu hocam. Yapmak istediğim ise volatilite arttıkça küçülen bir yüzdelik değer, volatilite azaldıkça artan bir yüzdelik değer. henüz bunu nasıl yapacağımı bilmiyorum ancak aklıma ilk gelen hhv(h,30)-llv(l,30)'dan bir ters orantı elde etmeye çalışabilirim.
    Bu formul MIZMIZ dostumuza,verdigim ipuclarıya kendisinin MATRİKSe cevirdigi formuldur..
    Yani;bizim formulude bize izah ettin ya......

    Gelelim sorunuza..
    Oynaklık ölçen bir sürü formul yazabilirsiniz..
    P:=10;
    Mov(HHV(H,2) - LLV(L,2),P, S);
    Stdev(HHV(H,2) - LLV(L,2),P);
    STDEV(C,P);
    ATR(P)
    Bunlar ilk etapda akla gelenler,katsayılar ile çarpabilir,toplayıp ortalamasını alabilir,kokteyl yapıp agırlıklarını degiştirebilirsiniz...

    Bu şekil ....

    Kod:
    P:=10;             
    yuzde:=Mov(HHV(H,2) - LLV(L,2),P, S);
    per:=Input("period",1,100,3);
    a1:=Mov(C,per,E);
    a2:=a1-yuzde;
    a3:=a1+yuzde;
    b1:=If(a1<PREV,a2,if(a2>PREV,a2,PREV));
    b2:=If(a1>PREV,a3,if(a3<PREV,a3,PREV));
    k1:=Cross(a1,Ref(b2,-1));
    k2:=Cross(Ref(b1,-1),a1);
    s1:=BarsSince(k1) < BarsSince(k2);
    s2:=If(s1=-1,b1,b2);
    a1;s2


    Veya


    Kod:
    P:=10; 
    yuzde:=Mov(HHV(H,2) - LLV(L,2),P, S);
    per:=Input("period",1,100,3);
    a1:=Mov(C,per,E); 
    a2:=a1-(a1*yuzde/100); 
    a3:=a1+(a1*yuzde/100);
    b1:=If(a1<PREV,a2,if(a2>PREV,a2,PREV)); 
    b2:=If(a1>PREV,a3,if(a3<PREV,a3,PREV));
    k1:=Cross(a1,Ref(b2,-1)); 
    k2:=Cross(Ref(b1,-1),a1);
    s1:=BarsSince(k1) < BarsSince(k2);
    s2:=If(s1=-1,b1,b2);
    a1;s2
    Dürüstlük pahalı bir mülktür, ucuz insanlarda bulunmaz. Honore Balssa

  4. Abi estağfurullah öyle bir niyetim yoktu, mesajı olduğu gibi kopyaladım. o tanımlamalar da mesaj sahibine ait yani Bu kodları deneyeceğim abi çok teşekkür ederim emeklerine sağlık

  5. #5
    Neden?
    Matriks indikatör builder true/false tarzı Boolean sonucunu default olarak false ise 0, true ise -1 veriyor.
    Örnek: c=... ifadesi False olduğu zaman 0 değeri veriyor.
    Bu ifadenin True olduğu zaman -1 değeri veriyor.
    Ama cross(... , ...) ifadesi False olduğu zaman 0, true olduğu zaman 1 değeri veriyor?[emoji849]

    Umarım salak bir soru olmamıştır.[emoji51]


    Sent from my iPad using Tapatalk

  6. #6
     Alıntı Originally Posted by mesuteryilmaz Yazıyı Oku
    Neden?
    Matriks indikatör builder true/false tarzı Boolean sonucunu default olarak false ise 0, true ise -1 veriyor.
    Örnek: c=... ifadesi False olduğu zaman 0 değeri veriyor.
    Bu ifadenin True olduğu zaman -1 değeri veriyor.
    Ama cross(... , ...) ifadesi False olduğu zaman 0, true olduğu zaman 1 değeri veriyor?[emoji849]

    Umarım salak bir soru olmamıştır.[emoji51]


    Sent from my iPad using Tapatalk
    Bu durum defaatlarca,metastock formullerin matrikscesi yazılırken fark belirtilmişdi..
    Dikkat çekilmişdi..
    Sebebini MATRİKS programcısına sormak gerekir..
    Dürüstlük pahalı bir mülktür, ucuz insanlarda bulunmaz. Honore Balssa

  7. Sayın uufuk,

    Aşağıdaki indikatörü sistem haline getirdiğim de çok yanlış sonuçlar alıyorum, indikatör aslen 0 veya 1 üretiyor, son satırda alternatif olarak aşağıdakileri denedim ama sonuç aynı ve yanlış sinyaller geliyor

    If(upw,1,If(dnw,0,PREV))=1
    If(upw,1,If(dnw,0,PREV))>0.5
    Cross(If(upw,1,If(dnw,0,PREV)),0.5)


    Özetle indikatör builder da düzgün çalışan bu yapı, sistem tester da niçin çalışmaz, bu tarz problemlerle daha önce karşılaşmıştım matrikse sorduğumda malesef çözüm alamamıştım, belki siz yol gösterebilirsiniz. Indikatör halini de en sona yapıştırıyorum, çok teşekkürler



    haOpen:=(Ref((O+H+L+C)/4,-1) + PREV)/2;
    haC:=((O+H+L+C)/4+haOpen+Max(H,haOpen)+Min(L,haOpen))/4;
    1ema1:=mov(haC,OPT1,e);2ema1:=mov(1ema1,OPT1,e);3e ma1:=mov(2ema1,OPT1,e);
    TMA11:=3*1ema1-3*2ema1+3ema1;
    1ema2:=mov(TMA11,OPT1,e);2ema2:=mov(1ema2,OPT1,e); 3ema2:=mov(2ema2,OPT1,e);
    TMA21:=3*1ema2-3*2ema2+3ema2;
    Diff1:= TMA11 - TMA21;
    ZlHa1:= TMA11 + Diff1;
    1ema3:=mov((H+L)/2,OPT1,e);2ema3:=mov(1ema3,OPT1,e);3ema3:=mov(2ema 3,OPT1,e);
    TMA12:=3*1ema3-3*2ema3+3ema3;
    1ema4:=mov(TMA12,OPT1,e);2ema4:=mov(1ema4,OPT1,e); 3ema4:=mov(2ema4,OPT1,e);
    TMA22:=3*1ema4-3*2ema4+3ema4;
    Diff2:= TMA12 - TMA22;
    ZlCl1:= TMA12 + Diff2;
    ZlDif1:=ZlCl1-ZlHa1;
    keep11:=LLV(haC>=haOpen,2);
    keep21:=ZlDif1>=0;
    keeping1:=(keep11 OR keep21);
    keepall1:=keeping1 OR (Ref(keeping1,-1) AND (C>=O) OR C>=Ref(C,-1));
    keep31:=(Abs(C-O)<(H-L)*.35 AND H>=Ref(L,-1));
    utr:=keepall1 OR (Ref(keepall1,-1) AND keep31);
    1ema5:=mov(haC,OPT1,e);2ema5:=mov(1ema5,OPT1,e);3e ma5:=mov(2ema5,OPT1,e);
    TMA13:=3*1ema5-3*2ema5+3ema5;
    1ema6:=mov(TMA13,OPT1,e);2ema6:=mov(1ema6,OPT1,e); 3ema6:=mov(2ema6,OPT1,e);
    TMA23:=3*1ema6-3*2ema6+3ema6;
    Diff3:= TMA13 - TMA23;
    ZlHa2:= TMA13 + Diff3;
    1ema7:=mov((H+L)/2,OPT1,e);2ema7:=mov(1ema7,OPT1,e);3ema7:=mov(2ema 7,OPT1,e);
    TMA14:=3*1ema7-3*2ema7+3ema7;
    1ema8:=mov(TMA14,OPT1,e);2ema8:=mov(1ema8,OPT1,e); 3ema8:=mov(2ema8,OPT1,e);
    TMA24:=3*1ema8-3*2ema8+3ema8;
    Diff4:= TMA14 - TMA24;
    ZlCl2:= TMA14 + Diff4;
    ZlDif2:=ZlCl2-ZlHa2;
    keep12:=LLV(haC<haOpen,2);
    keep22:=ZlDif2<0;
    keep32:=Abs(C-O)<(H-L)*.35 AND L<=Ref(H,-1);
    keeping2:=keep12 OR keep22;
    keepall2:=keeping2 OR (Ref(keeping2,-1) AND (C<O) OR C<Ref(C,-1));
    dtr:=If(keepall2 OR (Ref(keepall2,-1) AND keep32)=1,1,0);
    upw:=dtr=0 AND Ref(dtr,-1) AND utr;
    dnw:=utr=0 AND Ref(utr,-1) AND dtr;
    If(upw,1,If(dnw,0,PREV))=1





    aşağıdaki indikatör hali

    haOpen:=(Ref((O+H+L+C)/4,-1) + PREV)/2;
    haC:=((O+H+L+C)/4+haOpen+Max(H,haOpen)+Min(L,haOpen))/4;
    1ema1:=mov(haC,34,e);2ema1:=mov(1ema1,34,e);3ema1: =mov(2ema1,34,e);
    TMA11:=3*1ema1-3*2ema1+3ema1;
    1ema2:=mov(TMA11,34,e);2ema2:=mov(1ema2,34,e);3ema 2:=mov(2ema2,34,e);
    TMA21:=3*1ema2-3*2ema2+3ema2;
    Diff1:= TMA11 - TMA21;
    ZlHa1:= TMA11 + Diff1;
    1ema3:=mov((H+L)/2,34,e);2ema3:=mov(1ema3,34,e);3ema3:=mov(2ema3,34 ,e);
    TMA12:=3*1ema3-3*2ema3+3ema3;
    1ema4:=mov(TMA12,34,e);2ema4:=mov(1ema4,34,e);3ema 4:=mov(2ema4,34,e);
    TMA22:=3*1ema4-3*2ema4+3ema4;
    Diff2:= TMA12 - TMA22;
    ZlCl1:= TMA12 + Diff2;
    ZlDif1:=ZlCl1-ZlHa1;
    keep11:=LLV(haC>=haOpen,2);
    keep21:=ZlDif1>=0;
    keeping1:=(keep11 OR keep21);
    keepall1:=keeping1 OR (Ref(keeping1,-1) AND (C>=O) OR C>=Ref(C,-1));
    keep31:=(Abs(C-O)<(H-L)*.35 AND H>=Ref(L,-1));
    utr:=keepall1 OR (Ref(keepall1,-1) AND keep31);
    1ema5:=mov(haC,34,e);2ema5:=mov(1ema5,34,e);3ema5: =mov(2ema5,34,e);
    TMA13:=3*1ema5-3*2ema5+3ema5;
    1ema6:=mov(TMA13,34,e);2ema6:=mov(1ema6,34,e);3ema 6:=mov(2ema6,34,e);
    TMA23:=3*1ema6-3*2ema6+3ema6;
    Diff3:= TMA13 - TMA23;
    ZlHa2:= TMA13 + Diff3;
    1ema7:=mov((H+L)/2,34,e);2ema7:=mov(1ema7,34,e);3ema7:=mov(2ema7,34 ,e);
    TMA14:=3*1ema7-3*2ema7+3ema7;
    1ema8:=mov(TMA14,34,e);2ema8:=mov(1ema8,34,e);3ema 8:=mov(2ema8,34,e);
    TMA24:=3*1ema8-3*2ema8+3ema8;
    Diff4:= TMA14 - TMA24;
    ZlCl2:= TMA14 + Diff4;
    ZlDif2:=ZlCl2-ZlHa2;
    keep12:=LLV(haC<haOpen,2);
    keep22:=ZlDif2<0;
    keep32:=Abs(C-O)<(H-L)*.35 AND L<=Ref(H,-1);
    keeping2:=keep12 OR keep22;
    keepall2:=keeping2 OR (Ref(keeping2,-1) AND (C<O) OR C<Ref(C,-1));
    dtr:=If(keepall2 OR (Ref(keepall2,-1) AND keep32)=1,1,0);
    upw:=dtr=0 AND Ref(dtr,-1) AND utr;
    dnw:=utr=0 AND Ref(utr,-1) AND dtr;
    If(upw,1,If(dnw,0,PREV))

  8. İyi akşamlar arkadaşlar merhabalar,
    Örnek olarak sistemimde 4 tane farklı şart büyük yada küçükle belirtererek al sinyalimi oluşturuyorum. Ama kesinlikle crossa bağlı değil bunu belirteyim. Cross fonksiyonunu buna uydurararak çizdiriyorum problem değil ama al sinyalinden sonraki bardada tekrar al sinyali gelebildiği için (crossa bağlı değil al sistemim) haliyle seviyeler değişiyor. Ben aynı gündeki al sinyallerinde gün içindeki ilk al sinyalindeki seviyeleri sabitlemek, farklı günlerdeki al sinyalleri arasında ise (araya sat gitmediğini varsayıyorum) yani sat sinyalinden sonraki ilk al sinyalindeki değerlere bağlı oluşanları sabitlemek istiyorum. Diğer yandan belirli kar oranlarını geçince bu stop ve hedef seviyelerini güncellemek istiyorum. Şöyle bir zincir oluşturdum ama maalesef değerler değişebilior. Kar yüzdelerine göre değişen stoplar var ama bunu sade bir çıktı olarak formüle edemiyorum. Tam olarak bir çıkış bulamadım. Lütfen fikrinizi paylaşırsanız memnun olurum. Parametreler aşağıdaki gibidir.



    kosul:=(c+h+l)/3>FML("on")*0.995 and c>FML("ce") and c>FML("k15") and BarsSince(FML("oh")>300)<4
    and HOUR()*100+MINUTE()<1740 and HOUR()*100+MINUTE()>1030;

    al:=Cross(-0.5,kosul);
    maliyet:=valuewhen(1,al,c);
    atr:=valuewhen(1,al,ATR(14));
    stop:=maliyet-2.5*atr;
    hedef:=maliyet+(2.75*(maliyet-stop));
    hedeftensonra:=cross(-0.5,c>hedef);
    maliyet2:=valuewhen(1,hedeftensonra,c);
    stop2:=maliyet2-2.5*atr;
    stop22:=if(stop2<>ref(stop2,-1),stop2,0);
    hedef2:=maliyet+(4*(maliyet-stop));
    hedeftensonra2:=cross(-0.5,c>hedef2);
    maliyet3:=valuewhen(1,hedeftensonra2,c);
    stop3:=maliyet3-2.5*atr;
    stop33:=if(stop3<>ref(stop3,-1),stop3,0);
    hedef3:=maliyet+(5*(maliyet-stop));
    hedeftensonra3:=cross(-0.5,c>hedef3);
    maliyet4:=valuewhen(1,hedeftensonra3,c);
    stop4:=maliyet4-2.5*atr;
    stop44:=if(stop4<>ref(stop4,-1),stop4,0);
    hedef4:=maliyet+(6*(maliyet-stop));
    hedeftensonra4:=cross(-0.5,c>hedef4);
    maliyet5:=valuewhen(1,hedeftensonra4,c);
    stop5:=maliyet5-2.5*atr;
    stop55:=if(stop5<>ref(stop5,-1),stop5,0);
    hedef5:=maliyet+(7*(maliyet-stop));
    hedeftensonra5:=cross(-0.5,c>hedef5);
    maliyet6:=valuewhen(1,hedeftensonra5,c);
    stop6:=maliyet6-2.5*atr;
    stop66:=if(stop6<>ref(stop6,-1),stop6,0);
    hedef6:=maliyet+(8*(maliyet-stop));
    hedeftensonra6:=cross(-0.5,c>hedef6);
    maliyet7:=valuewhen(1,hedeftensonra6,c);
    stop7:=maliyet7-2.5*atr;
    stop77:=if(stop7<>ref(stop7,-1),stop7,0);
    stop;
    hedef;
    stop22;
    stop33;
    stop44;
    stop55;
    stop66;
    stop77;
    hedef2;
    hedef3;
    hedef4;
    hedef5;
    hedef6
    Son düzenleme : dupont; 16-02-2019 saat: 02:37.

Sayfa 155/233 İlkİlk ... 55105145153154155156157165205 ... SonSon

Yer İmleri

Yer İmleri

Gönderi Kuralları

  • Yeni konu açamazsınız
  • Konulara cevap yazamazsınız
  • Yazılara ek gönderemezsiniz
  • Yazılarınızı değiştiremezsiniz
  •