Fonksiyonların Kullanım Şekilleri |
|
---|---|
Fonksiyonun Amacı | Bir Sembolün GRAFİK verilerini okumak için kullanılır. |
Kullanım Şekilleri | *GrafikVerileri: Grafiğin üzerine uygulanacak bir formül (bir indikatör veya bir sistem) yazılırken kullanılır. Hangi sembolün hangi periyotlu grafiğinin verilerinin okunacağını, grafiğe uygulanınca kendisi anlar. Dönüş değeri satır ve sütunlardan oluşan (record) bir listedir. Listenin her bir satırı bir barı, her bir sütunu da o barın bir değerini (Open, High,Low,Close, Date,Time,Volume,Size vs) içerir. Bu fonksiyonla okutulan Veriler tablosundan bir veri tipi Veriler.Deger şeklinde çekilir. ÖRNEK: var V = Sistem.GrafikVerileri;
GrafikVerileri (veya GrafikVerileriniOku) fonksiyonu ile çekilen veri listesinde aşağıdaki Rercord’lar(Kayıtlar) yer alır. Her bir record(kayıt), VeriListesiAdı.Kayıt
ÖRNEK: Bir VOP kontratının (Ekim 2015 Vadeli) 5 dakikalık grafiğini VERİLER isimli bir listeye okutup, Bu Grafik listesinin 2500 numaralı (en eski bar NUMARASI SIFIRDIR) BAR’ı için yukarıdaki kayıtları (record’ları) okuyup DEBUG panelinde görelim; Sistem.Debug(“1200 Nolu Barın KAPANIS FIYATI = “ + Veriler[2500].Close.ToString()); *GrafikVerileriniOku(Sembol, Periyot): Yazılan formül bir grafiğin üzerine uygulanmayacak ise (Algo, Robot veya başka amaçlı bir formül yazılıyorsa) Grafik Verilerini okutmak için, hangi sembolün hangi periyotlu grafiğini okumak istediğimizi belirtmemiz gerekir. Sembolü belirtirken PIYASA’KOD şeklinde kullanmak gerekir. ÖRNEK:
Dönüş Değeri, üstteki fonksiyonla aynıdır. İlgili sembolün belirtilen periyoduna ait grafiğinin tüm barları ve her bir bara ait saklanan tüm verileri bir Record olarak döner.
*GrafikFiyatSec(“Deger”): Grafiğin üzerine uygulanacak bir formül (bir indikatör veya bir sistem) yazılırken kullanılır. Hangi sembolün hangi periyotlu grafiğinin verilerinin okunacağını, grafiğe uygulanınca kendisi anlar. Dönüş değeri seçilen grafik veri tipini (Değer) içeren bir LİSTE dir. (Örneğin Her barın Kapanış değerleri). Bu fonksiyon ile grafiğin barlarının aşağıdaki bilgileri (parantez içine çift tırnak içinde bunlardan biri yazılarak) okutulabilir:
ÖRNEK: var C = Sistem.GrafikFiyatSec(“Kapanis”); var Vol = Sistem.GrafikFiyatSec(“Hacim”); var H = Sistem.GrafikFiyatSec(“Yuksek”);
*GrafikFiyatOku(GrafikVerileri, “Deger”): BAR değerlerinin tamamını okuyan fonksiyonlardan biriyle (en başta anlatılan iki fonksiyondan biri) bir Veri (record) okutulmuş, bu Veri listesinden de barlara ait bir başka veri tipi elde edilmek isteniyorsa bu fonksiyon kullanılır. Bir üstte kullanılan fonksiyonun mantık ve format olarak aynısıdır. Tek farkı (algo veya robotlarda kullanıldığından) öncesinde hangi sembolün hangi periyoduna ait veriler kullanılacaksa, o veri listesinin belirtilmesidir.
ÖRNEK: var Barlar = Sistem.GrafikVerileri(“IMKBH’GARAN”, “G”); //Garanti Bankası Hissesinin Günlük grafiklerinin tüm barları okutuldu var Volume = Sistem.GrafikFiyatOku(Barlar, “Hacim”); //Okutulan bu veri listesinden, her barın hacim değeri okutuldu.
Volume artık, her bir bara ait hacim değerini (sayısal değer olarak) içeren bir listedir. İstenirse grafik üzerinde çizgi olarak da çizdirilebilir.
*GrafikFiyatOku(“IMKBH’YKBNK”,”G”,”Kapanis”: Bir sembolün, BAR verilerini okutmadan, direkt olarak barlara ait bir veri tipini okutmak için kullanılır. Parantez içindeki parametrelere sırasıyla ve çift tırnaklar içinde sembol,periyot ve veri tipi girilir. Dönüş değeri bir sayı listesidir. |
GrafikVerileri Dönüş İçeriğinin Bar Bar okutulması | İlk Bardan son bara kadar, her bir bara ait verileri okumak, işlemek (hesap vs yapmak) ve başka bir listeye aktarmak için döngü kullanmak gerekir. Döngü içinde, her barı temsil eden ve sürekli artan bir değişken kullanılır ve listelerin her bir elemanı o listenin INDEX’i kullanılarak okunur/yazılır/hesaplatılır. ÖRNEK: (Her bir barın yüksek ve düşükleri arasındaki farkı Listem1 olarak, Her barda gerçekleşmiş işlem adedi değerinin 10 katını da Listem2 olarak hesaplamak ve ekrana çizmek: for (int i= 1; i < Veri.Count; i++) |
Örnek Kullanılar | ÖRNEK-1: VIOP kontratı Açık Pozisyon Sayısı Değişimlerini okuyup, VIOP grafiği altına çizdirmek var Sembol = “VIP’VIP-X030-APOZ”; var Veriler = Sistem.GrafikVerileri; var V = Sistem.GrafikVerileriniOku(Sembol, “G”); var APOZ2 = Sistem.GrafikFiyatOku(V, “Kapanis”); var APOZ = Sistem.Liste(0); var sonbar = Veriler.Count-1; for (int i=1; i<sistem.barsayisi; i++)=”” apoz[i]=”Veriler[i].Opint;” sistem.cizgiler[0].deger=”APOZ;</pre”></sistem.barsayisi;> var R3 = Sistem.Liste(0); for (int i=1; i<sistem.barsayisi; i++)=”” {=”” r3[i]=”P” +=”” (r=”” *=”” 1.0f);=”” r2[i]=”P” 0.618f);=”” r1[i]=”P” 0.382f);=”” s1[i]=”P” -=”” s2[i]=”P” s3[i]=”P” pivot[i]=”P;” }=”” sistem.cizgiler[0].deger=”R3;” sistem.cizgiler[1].deger=”R2;” sistem.cizgiler[2].deger=”R1;” sistem.cizgiler[3].deger=”S1;” sistem.cizgiler[4].deger=”S2;” sistem.cizgiler[5].deger=”S3;” sistem.cizgiler[6].deger=”pivot;” <=”” pre=””></sistem.barsayisi;> |
Ürünlerimiz veya hizmetlerimizle ilgili yardıma ihtiyacınız varsa, lütfen bizimle temasa geçin.