Fonksiyonun Kullanım Şekli | Sistem.Liste(Deger); Sistem.Liste(BarSayisi, Deger); |
---|---|
Fonksiyonun Amacı | IDEAL programında, Grafik Barlarına ait değerler, kapanışlar, indikatör değerleri, tüm hesaplatılan veya tanımlanan Çizgiler birer LİSTEDİR. Grafik üzerine bir ÇİZGİ çizmek için bir liste gerekir. Bu liste hazır fonksiyonlarla okutulan veya kullanıcı tarafından hesaplatılan veya sabit olarak tanımlanan bir liste olabilir. (Örneğin yatay biz çizgi). Bu fonksiyonun amacı, kodlama sırasında kullanılmak üzere çeşitli listeler tanımlamaktır. |
LİSTELERİN Kullanım Şekilleri ve Uygulamalı Örnekler | IDEAL sistem modülündeki veri veya fonksiyonların birçoğu LİSTE formatındadır. Örneğin Sistem.GrafikFiyatSec(“Kapanis”) fonksiyonu, bir grafikteki barların KAPANIŞ değerlerini içeren bir liste sunar. Her bir satırında bir SAYI olan bu listenin her bir elemanı grafikteki bir barı (tarihi) temsil eder. Listenin eleman sayısı = Bar Sayısıdır. Bu listeyi kullanarak işlemler/hesaplamalar yapmak için bir değişkene atamak işi kolaylaştırır. var Close = Sistem.GrafikFiyatSec(“Kapanis”); Bu listeyi kullanarak işlemler/hesaplamalar yapmak için bir değişkene atamak işi kolaylaştırır. Yeni ve/veya boş bir liste tanımlamak için Sistem.Liste(Deger) veya Sistem.Liste(BarSayisi, Deger) fonksiyonlarından biri kullanılır. (Robot kodu yazarken, listenin eleman sayısını da (bar sayısı) yazmak gerekir. Sistem yazarken bunu grafiğe uyguladığımız için, fonksiyon kaç adet bar olduğunu (listenin kaç elemanı olduğunu) kendisi bilir/bulur. Sistem.Liste(0); //Bütün elemanları “0” olan (boş) bir listedir. (örneğin grafiğe 0 seviyesinde bir yatay çizgi olarak atanabilir) KURAL: İki liste arasında matematiksel işlem veya kıyasla yapılırken, bu işlemler TEK TEK LİSTENİN ELEMANLARI arasında yapılabilir. Yani Listere veri yazarken veya veri okurken LİSTENİN BİR ELEMANI (INDEXİ) belirtilmelidir. Indexleme işlemi için köşeli parantez kullanılır. Bir listenin x numaralı elemanı için ListeAdi[x] ifadesi kullanılır. ÖRNEK: Listem isimli bir listenin 1000. Elemanının değerine ihtiyaç varsa; Listem[1000] şeklinde o elemana ulaşılır. Bir listenin her elemanı okunacak veya yazılacaksa veya tek seferde birden fazla elemanına ihtiyaç varsa, liste üzerindeki okuma/yazma/hesaplama işlemleri BİR DÖNGÜ içinde yapılmalıdır. DÖNGÜLER belirtilen bir değerden (örnek ilk bardan) yine belirtilen bir son değere (son bara) kadar, her eleman için (her bar için) bir işlemi yapmak amacıyla kullanılır. (Bakınız Genel Kavramlar) HATALI KULLANIM: Listem = (Listem1 + Listem2) / 2 ; ÖRNEK: Bir sembolün her bir barının Yüksek ve Düşük değerlerinin toplamının yarısını bir başka listeye almak ve ekranda çizdirmek: var Listem1 = Sistem.GrafikFiyatSec(“Yuksek”); For (int i=1; i < Sistem.BarSayisi; i++) Yani grafiğin mesela 100. Barı için işlem şöyle olmuştur: Listem3[100] = (Listem1[100] + Listem2[100]) / 2 |
Örnek Uygulama | ÖRNEK: GRAFİK ÜZERİNDE PİVOTLARI HESAPLAMA GÖSTERME var Veriler = Sistem.GrafikVerileri; for (int i=1; i<sistem.barsayisi; i++)<br=””>{ |
Ürünlerimiz veya hizmetlerimizle ilgili yardıma ihtiyacınız varsa, lütfen bizimle temasa geçin.