Sayfa 3/69 İlkİlk 123451353 ... SonSon
908 sonuçtan 25 ile 36 arası

Konu: Metastock Ogreniyoruz

Hybrid View

önceki Mesaj önceki Mesaj   sonraki Mesaj sonraki Mesaj
  1. #1
    Üyelik tarihi
    May 2008
    Yer
    VOBiX.NET
    Mesajlar
    6.393
    Teşekkür Teşekkür 
    668
    Teşekkür Toplam Teşekkür 
    8.033
    Toplam Teşekkür
    3.523 Yazısı Teşekkür aldı

    Standart

    Alıntı enorton Nickli Üyeden Alıntı Mesajı göster
    15 dk bir sistemi test etmek istiyorum ama matriksde 24 kasım 2008 den önceki veriler yok, bunlara nasıl ulaşabilirim? Bu tarihler arasındaki test güvenilir olmaz bence... en az 2-3 yıllık veri lazım diye düşünüyorum...
    Her ay sonu verileri ayrı klasörlere kaydedip biriktimek laızmmış. Ben o olaya Şubat sonunda uyandığım için ben de de daha geçmişi yok. Sonra test için ayrı ayrı klasörlerden datalar eklenip tariha ralıkalrı belirtilir ve test çalıştırılaiblir.
    Pozsiyon yok ama ruh halim kısa ve orta vade vade beklentimi gösterir.
    AL SAT tavsiyesi olarak algılamayın. Ben ki 3-4 yıllık bir amatörüm. Siz üstadlara bakın!
    Bir hatam olursa affola, sizi rahatsız eden bir mesajım olursa özel mesaj atın sileyim.

  2. The Following 2 Users Say Thank You to VOBiX For This Useful Post:


  3. #2
    Üyelik tarihi
    Nov 2008
    Yer
    antalya
    Mesajlar
    603
    Teşekkür Teşekkür 
    47
    Teşekkür Toplam Teşekkür 
    189
    Toplam Teşekkür
    127 Yazısı Teşekkür aldı

    Standart

    Pivot Points All EnterLong :
    Pk1:=Ref(H,-1) > Ref(H,-2)
    AND Ref(H,-1) >= H;
    Tr1:=Ref(L,-1) < Ref(L,-2)
    AND Ref(L,-1) <= L;
    TroughHi1:=ValueWhen(1,Tr1,Ref(H,-1));
    Pk2:=H > Ref(H,-1) AND H >= Ref(H,+1);
    Tr2:=L < Ref(L,-1) AND L <= Ref(L,+1);
    TroughHi2:=ValueWhen(1,Tr2,H);
    ((C > TroughHi1
    AND BarsSince(Pk1) >= BarsSince(Tr1))
    OR (C > TroughHi2
    AND BarsSince(Pk2) >= BarsSince(Tr2)))
    AND Mov((V*(H+L+C*2)/4),5,S) >= 10000
    AND Ref(H,+1) > C

    Close Long :
    Pk1:=Ref(H,-1) > Ref(H,-2)
    AND Ref(H,-1) >= H;
    Tr1:=Ref(L,-1) < Ref(L,-2)
    AND Ref(L,-1) <= L;
    PeakLo1:=ValueWhen(1,Pk1,Ref(L,-1));
    Pk2:=H > Ref(H,-1) AND H >= Ref(H,+1);
    Tr2:=L < Ref(L,-1) AND L <= Ref(L,+1);
    PeakLo2:=ValueWhen(1,Pk2,L);
    ((C < PeakLo1
    AND BarsSince(Pk1) <= BarsSince(Tr1))
    OR (C < PeakLo2
    AND BarsSince(Pk2) <= BarsSince(Tr2)))
    AND V > Ref(V,-1)


    bu formulun nasıl işleğini genel hatlarıyla yazabilirmisiniz
    şimdiden teşekkürler

  4. The Following 2 Users Say Thank You to truva For This Useful Post:


  5. #3
    Üyelik tarihi
    Nov 2007
    Mesajlar
    11.714
    Teşekkür Teşekkür 
    17.466
    Teşekkür Toplam Teşekkür 
    20.796
    Toplam Teşekkür
    7.064 Yazısı Teşekkür aldı

    Standart

    Topic hayırlı olsun vobix, bu ms iyi güzelde, formül işi bi müddet sonra sıkıcı oluyo, ms de gap olayını çözen burayada yazsın formülü hatta öğrenmeye buradan başlayalım...bende güzel formüller geliştirdim zamanında, ama bizimki tırıvırı, tırıvırıda olsa burada benzerlerini gördükçe paylaşırım, saygılar...

  6. The Following 2 Users Say Thank You to bull market For This Useful Post:


  7. #4
    Üyelik tarihi
    May 2008
    Yer
    VOBiX.NET
    Mesajlar
    6.393
    Teşekkür Teşekkür 
    668
    Teşekkür Toplam Teşekkür 
    8.033
    Toplam Teşekkür
    3.523 Yazısı Teşekkür aldı

    Standart

    Pk1:=Ref(H,-1) > Ref(H,-2) AND Ref(H,-1) >= H;
    Bir önceki barın en yüksek değeri iki önceki barın en yüksek değerinden büyük olacak ve bir önceki barın en yüksek değeri büyük eşittir şimdiki barın en yükseği olacak
    Tr1:=Ref(L,-1) < Ref(L,-2) AND Ref(L,-1) <= L;
    Bir önceki barın en düşük değeri iki önceki barın en düşük değerinden küçük olacak ve bir önceki barın en düşük değeri büyük eşittir şimdiki barın en düşüğü olacak.

    Pk2:=H > Ref(H,-1) AND H >= Ref(H,+1);
    Şimdikin barın yükseği bir önceki barın yükseğinden büyük olacak ve şimdiki barın yükseği bir sonraki barın yükseğine eşit ya da ondan büyük olacak.
    Tr2:=L < Ref(L,-1) AND L <= Ref(L,+1);
    Şimdikin barın düşüğü bir önceki barın düşüğünden büyük olacak ve şimdiki barın düşüğü bir sonraki barın düşüğüne eşit ya da ondan küçük olacak.


    bu sistem anlık sinyal vermez okalr yer değiştirir çünkü bir sonraki barın değerini dikakte laıyor.
    Pozsiyon yok ama ruh halim kısa ve orta vade vade beklentimi gösterir.
    AL SAT tavsiyesi olarak algılamayın. Ben ki 3-4 yıllık bir amatörüm. Siz üstadlara bakın!
    Bir hatam olursa affola, sizi rahatsız eden bir mesajım olursa özel mesaj atın sileyim.

  8. The Following 6 Users Say Thank You to VOBiX For This Useful Post:


  9. #5
    Üyelik tarihi
    Apr 2008
    Mesajlar
    1.919
    Teşekkür Teşekkür 
    1.405
    Teşekkür Toplam Teşekkür 
    1.394
    Toplam Teşekkür
    771 Yazısı Teşekkür aldı

    Standart

    4-5 sene öncesinde çok faydalandığım ve sakladığım bilgiler var elimde veriborsa forumundan sevgili picador, metin6144,taner gibi bu işte eski olan arkadaşların katılımıyla hazırlanan bilgilerden parça parça bende buraya atmaya çalışacağım.

    ama baştan söyleyim, altın formül yoktur boşuna aramayın bulamazsınız, öncelikle tecrübe sonra orta halli çok marjinal olmayan bir sistem ve iyi bir para ve risk yönetimi ile ancak başarı yakalnabilinir.

    son 3-4 sene trend sistemleri iyi iş çıkarttı bundan sonra rsi gibi erken sinyal veren indikatörlerin zamanıdır, çünkü tahminen 1-2 sene yatay bir piyasa izleyebiliriz.(bu yazdıklarım uzun vade içindir.)

  10. The Following 9 Users Say Thank You to traderx For This Useful Post:


  11. #6
    Üyelik tarihi
    Apr 2008
    Mesajlar
    1.919
    Teşekkür Teşekkür 
    1.405
    Teşekkür Toplam Teşekkür 
    1.394
    Toplam Teşekkür
    771 Yazısı Teşekkür aldı

    Standart Zaman Yönetimi

    metastock ve matrisksin dili çok benzer, ve bol pratik yapıldığı taktirde basit bir dildir.



    Zaman Yönetimi


    Metastock herhangi bir formülü hesaplarken verileri sırayla takip eder ve her periyoda göre uygular. Yani günlük, haftalık, aylık gibi. Kendisine özellikle söylenmedikçe başka bir periyoda ait veriye bakmaz. Bu bizi Reference fonksiyonuna götürür. ref() fonksiyonu o an incelemekte olduğunuz veriden farklı bir veriyi inceleme imkanı sağlar.

    Tam tanımı şu şekildedir.

    ........................................Reference. ......................................


    SYNTAX.....................ref( DATA ARRAY, PERIODS )

    FUNCTION…………DATA ARRAY bölümüyle geçmiş veya sonradan gelecek bir veriyi ilgi tutar. Pozitif bir periyod geleceğe yönelik bir bakış açısı verirken negatif bir periyod geçmişe yönelik bir bakış açısı verir.


    EXAMPLE………….ref( CLOSE, -12 ) formülü bize 12 periyod önceki kapanış değerini verir.


    Alıştırma:

    Bu fonksiyonu kullanarak kapanış fiyatı ile bir periyod önceki fiyat arasındaki farkı bulacak bir formül yapabiliriz. Bunun için kapanış fiyatına ve bir adet ref() fonksiyonuna ihtiyacımız var. Böyle bir formül yazalım ve ismini de fiyat değişimi koyalım.








    ilk mesajlarda öğrendiğimiz gibi bu formülü kısaltmalarla da yazabiliriz...

    fiyat değişimi

    c-ref(c,-1)


    gibi...

  12. The Following 6 Users Say Thank You to traderx For This Useful Post:


  13. #7
    Üyelik tarihi
    Apr 2008
    Mesajlar
    1.919
    Teşekkür Teşekkür 
    1.405
    Teşekkür Toplam Teşekkür 
    1.394
    Toplam Teşekkür
    771 Yazısı Teşekkür aldı

    Standart Rate Of Change fonksiyonu

    bir önceki sayfada bahsedilen formül, aynı zamanda Rate Of Change fonksiyonu kullanılarak ta yazılabilir. Önce göstergeye bir bakalım ve bu fonksiyon ile aynı formülü yazmaya çalışalım.


    Öncelikle göstergenin tanımı;

    ………………………………….Rate Of Change…………………………………


    SYNTAX…………………roc( DATA ARRAY, PERIODS, DIFF_METHOD )

    FUNCTION………………DIFF_METHOD la belirlenmiş metodu kullanarak DATA ARRAY kısmında belirtilen verinin PERIODS kısmında belirtilen
    periyod arasındaki değişim değerini hesaplar. (geçerli DIFF_METHOD ları PERCENT ve POINTS dir. Kısaltma olarak % ve $ kullanılabilir)

    EXAMPLE……………….roc(CLOSE, 12, PERCENT) formülü bize 12 günlük kapanış fiyatının yüzde olarak değişimini gösterir.


    Şimdi daha önceki formülü hatırlayalım.

    c-ref(c,-1) idi formül.

    Şimdi aynı formülü bir başka şekilde yazalım.

    İsmine “Fiyat değişimi 2” diyelim.

    Roc(c,1,$)


    Eğer yüzdesel bir değişimi istiyorsanız dolar işaretini yüzde ( % ) işareti ile değiştirebilirsiniz.

    Ayrıca 1 rakamını farklı bir rakamla deneyerek periyodu değiştirebilirsiniz.

    Formüller üzerinde denemeler yapmaktan çekinmeyin. Eğer formüle zarar vereceğinizi düşünüyorsanız formülü kopyalayıp ikinci bir formül oluşturun ve oynamaları ikinci formül üzerinde yapın, en azından formülü bozsanız bile ilk sakladığınız formül sizin yedeğiniz olarak duracaktır.

  14. The Following 5 Users Say Thank You to traderx For This Useful Post:


  15. #8
    Üyelik tarihi
    Apr 2008
    Mesajlar
    1.919
    Teşekkür Teşekkür 
    1.405
    Teşekkür Toplam Teşekkür 
    1.394
    Toplam Teşekkür
    771 Yazısı Teşekkür aldı

    Standart metastockta mantıksal kararı

    Mantıklı Olmak


    Mantık her insanda farklı anlamlar yaratır.

    Karışıklıktan kaçınmak için burada metastock formül dilinin matematiksel karşılaştırmalar üzerine kurulmuş iki seçenek arasındaki mantıksal kararı tanımlanacak.

    Mantıksal karardan kastedilen şey şudur;

    Metastock bir seçim yapmaya zorlanmaktadır. Seçim daima iki seçenekle sınırlandırılmış ve matematikle bir şeyi, başka bir şeyle kıyaslama üzerine kuruludur.

    Bu, metastockta mantıksal kararın daima 3 ayrı parçaya bölünebileceği anlamına gelir. İlk bölüm matematiksel karşılaştırmadır. Bunu karşılaştırmanın doğru olup olmadığı seçeneği izler. Son bölüm ise seçimin yanlış olup olmadığı seçeneğidir.

    Bu 3 bölümü şöyle gösterebiliriz ;

    ... (1.bölüm)…(2.bölüm)……..(3.bölüm)
    IF( şart, doğru sonuç, yanlış sonuç )

    Buna benzer örnekleri gerçek yaşantımızda da yaşarız.

    IF( A markası ucuzsa, A markası al, değilse B markası al )

    Veya

    IF(ışık yeşil ise, geç, değilse bekle ) gibi.

  16. The Following 6 Users Say Thank You to traderx For This Useful Post:


  17. #9
    Üyelik tarihi
    Apr 2008
    Mesajlar
    1.919
    Teşekkür Teşekkür 
    1.405
    Teşekkür Toplam Teşekkür 
    1.394
    Toplam Teşekkür
    771 Yazısı Teşekkür aldı

    Standart metastock formül dilinde mantık if() fonksiyonu ile uygulanır

    metastock formül dilinde mantık if() fonksiyonu ile uygulanır. 3 parçadan oluştuğunu belirtmiştik.




    SYNTAX……………………………………if( DATA ARRAY > >= < <= <> = DATA ARRAY , THEN DATA ARRAY, ELSE DATA ARRAY )


    FUNCTION……………………………….eğer şartsal fonksiyon doğruysa ikinci parametre, değilse 3. parametre sonucunu verir.


    EXAMPLE………………………………. “ if( 1<2,3,4)” formülü bize sürekli 3 değerini verir.



    Sembol…………………..anlamı……………….örnek……………..

    >__________________büyüktür_____________2>1

    >=________________büyüktür veya eşittir___ (2+2)>= 4

    <_________________küçüktür_____________3<4

    <=________________küçüktür veya eşittir___(3-1)<=2

    <>_______________eşit değildir____________(3-1)<>3

    =_______________eşittir__________________(2+2)=4



    alıştırma:

    bir hissenin ne zaman 40 günlük basit hareketli ortalama üzerinde olduğunu öğrenmek istediğinizi farzedelim. Hisse hareketli ortalama üzerinde olunca bize 1 değerini, olmadığı zaman 0 değerini versin. Böyle bir formülü yazmaya çalışın. Cevap: if(c>mov(c,40,s),1,0)

    if fonksiyonu iyi kullanılırsa çok yerde çözüm olur ancak işinize geldiği gibi düşünürseniz olmaz.
    birkaç şart peşpeşe ya da iç içe olabilir. bu durumda şartlardan biri gerçekleşirse sonrakilere bakılmaz.

    şimdi içiçeye bir örnek
    eğer (if) kapanış (c), kapanışın 5 günlük basit hareketli ortalamasının (mov(c,5,s)) üstünde ise 1;
    eğer (if) kapanış (c), kapanışın 10 günlük basit hareketli ortalamasının (mov(c,5,s)) üstünde ise -1; bu her ikisi değilse sıfır olsun
    diye düşünüyorum daaa formülü yazmadan önce bir sorayım dedim iyi düşünmüş müyüm? mantık hatası falan var mı?

    önceki sorunun cevabı:

    if( c > mov(c,40,s),1,0 )

    eğer kapanış 40 günlük basit hareketli ortalama üzerindeyse 1 değerini, değilse 0 değerini al.

    If fonksiyonunda kullandığımız formül bazılarının Binary Wave dedikleri şekli gösterir.
    Binary Wave terimi 0 ve 1 leri kullanan bir sayım şeklidir. Bundan dolayı Binary Wave 0 ve 1 arasında ileri geri giden bir çizgidir.

    Daha da profesyonel olup temel binary wave üzerinde iyileştirmeler yapıp artık 0 ve 1 de durmamasını isteyebilirsiniz. Ancak halen bunun kökeninde if() fonksiyonu olacaktır.

    Binary wave başka nedenlerden de önemlidir. Sistem testler,taramalar, expert advisor bölümündeki formüller bu şekilde yaratılır.

    Örneğin, kapanışın 40 günlük basit hareketli ortalamadan yüksek olduğu, sistem testinde pozisyon açmak için kullanabilir. Ya da bir taramada bu durumda olan senetleri bulmak amacıyla filtre olarak kullanılabilir. Yine expert advisor bölümünde bu durum boğa piyasasını göstermek için kullanılabilir. Saydığımız bütün bu örneklerde aynı şart kullanıldı. Bu araçlardaki tek farklılık if() fonksiyonunun otomatik olarak var sayılmasıdır. Bu yüzden önceki formülü şu şekilde kısaltabiliriz.

    c>mov(c,40,s)

    bu kısaltılmış formülün aynısı indicator builder ile de yazılıp çizilebilir. Bir şart formül olarak yazılıp ek bir bilgi verilmediğinde metastock formülü ;

    if( şart, 1, 0 ) olarak algılar.

    Metastock, öteki bilgisayar dilleri gibi yanlış durumu 0 olarak gösterir. Mantıksal olarak yanlış olmayan şey doğru olmalıdır. Basit olmak adına doğru durumlar için 1 kullanılır. Daha önceki binary wave örneğinde olduğu gibi bir binary wave yaratır.

    Sistem test, expert, exploration yaptığınızda formüller doğru veya yanlış şartlara bakar. Metastock 0’ ı yanlış olarak 0’ dan farklı herhangi bir rakamı da doğru olarak tanımlar.

  18. The Following 9 Users Say Thank You to traderx For This Useful Post:


  19. #10
    Üyelik tarihi
    Jan 2008
    Mesajlar
    16
    Teşekkür Teşekkür 
    0
    Teşekkür Toplam Teşekkür 
    0
    Toplam Teşekkür
    0 Yazısı Teşekkür aldı

    Standart

    Arkadaşlar selamlar,

    x30yvade için 5 dk lık dataları nasıl alabilirim ?
    Muhtemelen ücretlidir. geçmişe yönelik 1-2 senelik data elinizde varsa gönderebilir misiniz ?

    mustafaakk@hotmail.com

    Teşekkürler.

  20. #11
    Üyelik tarihi
    Apr 2008
    Mesajlar
    1.919
    Teşekkür Teşekkür 
    1.405
    Teşekkür Toplam Teşekkür 
    1.394
    Toplam Teşekkür
    771 Yazısı Teşekkür aldı

    Standart AND kelimesi metastockta önemli kelimelerden biridir

    şimdi incelemek zorunda olduğumuz farklı durumlar olduğunu varsayalım. Gerçek yaşamdan örnek vermek gerekirse;

    …..kazak ucuz ve kaliteliyse al, değilse alma

    AND kelimesi metastockta önemli kelimelerden biridir. AND kelimesinin her iki tarafındaki şartın da doğru olması gerekir. Aksi durumda tüm cümlenin yanlış olduğu anlamı ortaya çıkar. Yani;


    Şart 1…………………şart 2…………………sonuç

    Doğru…..AND……..doğru………..=………doğru

    Doğru….AND……..yanlış………..=………yanlış

    Yanlış…AND……..doğru….……..=………yanlış

    Yanlış….AND…….yanlış………=………..yanlış



    AND fonksiyonunu kullandığınızda her iki şartı da parantezler içine almanız metastock programının kıyasladığınız şartları daha iyi anlamasına yardımcı olur. Bu gerekli değildir ancak iyi bir güvenlik tedbiri olur.



    Alıştırma:

    If ‘li ilk alıştırmamızda 40 günlük basit hareketli ortalamayı kullanmıştık. Şimdi de şunu farz edelim. Kapanışın 40 günlük basit hareketli ortalama ve 120 günlük basit hareketli ortalama üzerinde olduğu zamanı bulmak isteyelim. Tekrar metastock doğru olan durumlar için 1 yanlış olan durumlar için 0 ‘ı gösterecektir.

    Şimdi bu formülü yazmaya çalışın. Her iki durumu da parantezler içine almayı unutmayın. Bakalım sizin yaptığınız ile verilen cevap uyuşuyor mu ?

    müfettişin notu :
    AND (küçük harfle de yazabilirsiniz MS onu büyütür kendiliğinden) yazarken önünde arkasında boşluk bırakmanız gerekir. eğer ara bırakmazsanız AND tanınmaz. aynı konu OR için de geçerlidir.
    örnek:
    yanlış:
    c>mov(c,7,s)andmacd()>mov(macd(),5,s)
    doğru:
    c>mov(c,7,s) and macd()>mov(macd(),5,s)
    Konu traderx tarafından (25.03.09 Saat 23:05 ) değiştirilmiştir.

  21. The Following 3 Users Say Thank You to traderx For This Useful Post:


  22. #12
    Üyelik tarihi
    Apr 2008
    Mesajlar
    1.919
    Teşekkür Teşekkür 
    1.405
    Teşekkür Toplam Teşekkür 
    1.394
    Toplam Teşekkür
    771 Yazısı Teşekkür aldı

    Standart

    el cevap

    2 ortalama

    If((C>Mov(C,40,S)) AND (C>Mov(C,120,S)),1,0)

    Yani kapanış 40 günlük basit hareketli ortalamanın ve 120 günlük basit hareketli ortalamanın üzerindeyse 1 değilse 0 değerini al. Kapanış her iki ortalamanın da üzerindeyse 1 değerini diğer tüm durumlarda 0 değerini alacaktır.

    Şimdi daha önceki 40 günlük basit hareketli ortalamanın üzerinde olduğu durumu ve şimdi yaptığımız AND fonksiyonlu formülü grafik üzerinde görüp farklılıkları gözümüzle görelim.





    aradaki farklılık yeni bir durum eklediğimizden oldu. Bu yüzden daha az sayıda oluştu. Bazen çok detaylı formüller asla doğru sonuç vermez. Teorik olarak düşündüğün mümkün olmasına rağmen pratikte olmayabilir.

    Karmaşık if () fonksiyonları yaparken her durumu öncelikle ayrı bir formül olarak çizdirip onların doğru sonuçlar verdiğini gördükten sonra birleştirirseniz daha doğru formüller yapabilirsiniz.

  23. The Following User Says Thank You to traderx For This Useful Post:


Konu Bilgileri

Users Browsing this Thread

Şu an 2 kullanıcı var. (0 üye ve 2 konuk)

Bu Konudaki Etiketler

Yer imleri

Yer imleri

Yetkileriniz

  • Konu Acma Yetkiniz Yok
  • Cevap Yazma Yetkiniz Yok
  • Eklenti Yükleme Yetkiniz Yok
  • Mesajınızı Değiştirme Yetkiniz Yok
  •