DonemCevir Fonksiyonu
Fonksiyonun Kullanım Şekli |
|
---|---|
Fonksiyonun Amacı | Bir sembolün herhangi bir periyodunun verilerini veya o periyoda ait verilerden elde edilen hesaplanmış listeleri/indikatörleri daha küçük periyotta çizdirebilmek için DonemCevir fonksiyonu hazırlanmıştır. Örnek: Bir senedin günlük periyotta gördüğü en yüksek ve en düşük değerleri, aynı senedin günlük grafiği üzerine çizdirmek, Günlük grafikteki bir hareketli ortalamasını daha küçük zaman dilimli grafikte görmek. |
Örnek Kullanım-1 | ÖRNEK: VIP30 5 DK Grafiğinin altına, XU030 ve USDTRY kodlarının 5 dk grafiklerinin kapanışlarını bir indikatör gibi çizdirmek. //üst periyot verilerini oku var UstBars = Sistem.GrafikVerileriniOku(Sistem.Sembol,"H"); var KPN0 = Sistem.Liste(0); var KPN1 = Sistem.Liste(0); var Fark = Sistem.Liste(0); for (int i = 1; i < UstBars.Count; i++) { KPN0[i] = UstBars[i].Close; //Haftalık kapanışlar KPN1[i] = UstBars[i-1].Close; // Haftalık kapanışların birer bar öncesi Fark[i] = 100 * ((KPN0[i] - KPN1[i] ) / KPN1[i]); //Haftalık kapanışların yüzde değişim farkı } //Verileri hizala var Hizali0 = Sistem.DonemCevir(Sistem.GrafikVerileri, UstBars, KPN0); var Hizali1 = Sistem.DonemCevir(Sistem.GrafikVerileri, UstBars, KPN1); var HizaliFark = Sistem.DonemCevir(Sistem.GrafikVerileri, UstBars, Fark); Sistem.Cizgiler[0].Deger = Hizali0; Sistem.Cizgiler[1].Deger = Hizali1; Sistem.Cizgiler[2].Deger = HizaliFark; Sistem.Cizgiler[3].Deger = Sistem.Liste(0); //Panelden çizgi numaraları, renkleri, kalınlık ve stileri aşağıdaki gibidir. ![]() Grafikteki Görüntü Aşağıdaki gibidir. ![]() |
Örnek Kullanım-2 | ÖRNEK: ÖNCEKİ GÜNÜN YÜKSEK VE DÜŞÜK DEĞERİNİ ALT PERİYOTTA ÇİZDİRMEK. //Panelden ilk iki çizgi aktif edilir. Panel numaraları 1’dir. //üst periyot verilerini oku var UstBars = Sistem.GrafikVerileriniOku(Sistem.Sembol,"G"); var H = Sistem.Liste(0); var L = Sistem.Liste(0); for (int i = 1; i < UstBars.Count; i++) { H[i] = UstBars[i-1].High; L[i] = UstBars[i-1].Low; } //Verileri hizala var HH = Sistem.DonemCevir(Sistem.GrafikVerileri, UstBars, H); var LL = Sistem.DonemCevir(Sistem.GrafikVerileri, UstBars, L); //ekranda çizgi olarak göster Sistem.Cizgiler[0].Deger = HH; Sistem.Cizgiler[1].Deger = LL; ![]() |
Örnek Kullanım-3 | Bir sembolün Haftalıktan daha düşük bir periyodunda, ENDEKS100’ün haftalık yüksek/düşük ve kapanışının grafik üzerine, Endeks100 ve grafiği bakılan sembolün o periyotları için hesaplanan TOMA indikatörlerinin de grafik altında çizdirilmesi örneği. var Sembol = "IMKBX'XU100"; var Endeks = Sistem.GrafikVerileriniOku(Sembol, "G"); Endeks = Sistem.GrafikVerilerindeTarihHizala(Sistem.GrafikVerileri, Endeks); var Veriler = Sistem.GrafikVerileriniOku(Sembol, "60"); Veriler = Sistem.GrafikVerilerindeTarihHizala(Sistem.GrafikVerileri, Veriler); var HAFTA = Sistem.GrafikVerileriniOku(Sistem.Sembol, "H"); var KapHafta = Sistem.GrafikFiyatOku(HAFTA, "Kapanis"); var YkHafta = Sistem.GrafikFiyatOku(HAFTA, "Yuksek"); var DskHafta = Sistem.GrafikFiyatOku(HAFTA, "Dusuk"); var C =Sistem.DonemCevir(Sistem.GrafikVerileri, HAFTA , KapHafta ); var H =Sistem.DonemCevir(Sistem.GrafikVerileri, HAFTA , YkHafta ); var D =Sistem.DonemCevir(Sistem.GrafikVerileri, HAFTA , DskHafta ); var toma3 = Sistem.TOMA(Endeks,6,2); // günlük ve üstü periyotlar çizgiler1 bu değişken olmalı var toma2 = Sistem.TOMA(Veriler,6,2); // alt periyotlarda çizgiler1 bu değişken olmalı Sistem.Cizgiler[0].Deger=Sistem.TOMA(6,2); Sistem.Cizgiler[1].Deger=toma2; Sistem.Cizgiler[2].Deger=C; Sistem.Cizgiler[3].Deger=H; Sistem.Cizgiler[4].Deger=D; PANEL DURUMU: ![]() GRAFİKTEKİ GÖRÜNÜM: ![]() |