Sembol Tanimla

SembolTanimla Fonksiyonu

Fonksiyonun Kullanım Şekli
  • Sistem.SembolTanimla(“SembolAdi”, 4);
Fonksiyonun Amacı

IDEAL, gelişmiş bir kodlama platformu sunarak, kullanıcılara geniş imkanlar sağlayan bir modül geliştirmiştir. iDeal Sistem modülünü kullanarak, kendi sembol, endeks veya sepetlerini oluşturabilirsiniz.

Sembol Tanımla fonksiyonu, ideal database’e kodunu ve ondalık basamak sayısını kendi belirleyebildiğiniz, sınırsız sayıda kod tanımlamanızı sağlar.

Kullanıcı Sembol Sistemleri Hakkında

Kendinize özel, çeşitli formüller içeren, başka sembollerin verilerini de kullanarak yeni bir veri üreten sembol ya da semboller tanımladığınızda ve bu sembollerin fiyat veya diğer yüzeysel bilgilerinin sürekli olarak güncellenmesini istediğiniz, iDeal’in Kullanıcı Sembol Sistemleri özelliğini kullanmanız gerekmektedir.

Bu özellik, sembol tanımlamalarının tamamının KullaniciSembolleri ismiyle kaydedilmesi ve ideal ana menüsü altındaki Özellikler satırından Kullanıcı Sembollerini Aktifleştir seçeneğini işaretlemenizle çalışır.

Bu özellik aktif edilmezse, tanımlanan sembole atanan fiyat/formül veya yüzeysel bilgiler sadece kodu tek seferde çalıştırdığınızda (örneğin formül test butonuna bastığınızda) işler.

Yaygın Kullanım Alanı
  1. Döviz ve Altın piyasası takipçileri veya oyuncuları, tezgâh üstü Pazar piyasalarında kullanılan ama sistematik bir şekilde üretilmeyen verileri, bazı (bilinen yaygın) formüllerle kendileri elde ederler. ÇEYREK ALTIN, 22 AYAR BİLEZİK GRAM FİYATI, CUMHURİYET ALTINI, GÜMÜŞÜN KİLOGRAMININ EURO VEYA DOLAR CİNSİNDEN DEĞERİ gibi. Tüm bu ve buna benzer türetilmiş fiyat bilgileri birer sembol olarak tanımlanıp, gerekli formülleri yazıldığında ve Kullanıcı Sembol Sistemi aktif edildiğinde, ekrana/sayfaya yerleştirilen bu sembollerin fiyatları da anlık takip edilmiş olur.
  2. Çeşitli oran ya da ağırlıklarda, hisselerin bir araya gelmesiyle tanımlanan özel endeks veya sepetler oluşturulur ve Bu yeni sepet/endeks (sembol) kurulan formülle elde edilen değeriyle anlık takip edilir. (Örnek GARAN/HALKB oranı bir sembol olarak tanımlanabilir ve bu oran anlık takip edilebilir.)
  3. Bu komutu kullanarak bir sembol oluşturup, daha sonra bir başka sembolün (mesela VIOP konsolide) grafiğini bu koda import edebilir ve her türlü deneme yanılma gerektiren, gerekirse veriyi bozabilecek çalışma ve testleri tanımlanan sembol üzerinde yapabilirsiniz.
Kullanım Şekli

Sembol Tanımla fonksiyonunu Sistem.SembolTanimla(“sembol adı”, basamak sayısı); satırını (satırlarını) ekleyerek kullanabilirsiniz. Bu satır eklenip, bir kez formül test denildiği anda sembol yaratılır ve iDeal’in semboller listesine de eklenir.

  • Sembol tanımı satırı tek başına çok bir anlam ifade etmez. Bu yaratılan sembole veri gelmesini de sağlamak için gerekli (sembolün verisine kaynak olacak ) formülleri de yazmak gerekir.
  • Fonksiyonu kullanırken, parantezin içindeki ilk parametre SEMBOL ADI parametresidir. Çift tırnak içinde, yaratılacak sembolün yer alacağı piyasa ve (üstten tek tırnakla ayırarak) sembole vereceğiniz KISA KOD birlikte sembol adını oluşturur. (Örnek: “DFN’TEST123” veya “IMKBH’GRNHLB” veya “SERPIY’GUMUSERUO” gibi.)
  • Yaratılan sembolleri genelde DFN prefixi ile (“DFN’SEMBOL1”) tanımlamanızı öneririz. Bu market koduyla oluşturulan ve İdealData tarafından da bu market koduyla yayını sağlanan tüm kodlar, menüde ÇEŞİTLİ PİYASALAR altında görülebilir.
  • Fonksiyonun ikinci parametresi, yaratılan sembolün fiyat bilgisinin, noktadan sonra kaç basamak olacağının belirtilmesidir.
  • Sembol tanımlandıktan sonra, sembole ait YÜZEYSEL BİLGİ ALANLARI da atanabilir. (uzun adı, son fiyatı, önceki gün kapanışı vs)

ÖRNEK:

  • var DENEMEKODU1 = Sistem.SembolTanimla(“DFN’DENEMEKODU1”, 2);
  • DENEMEKODU1.Description = “Test Amacli Deneme Kodudur”;
  • DENEMEKODU1.LastPrice = GARAN.LastPrice / HALKB.LastPrice ;
Yaratılan Sembolün Bilgilerinin Sürekli Güncellenmesi ve Veri Geldikçe Grafiklerinin Kaydedilip Çizdirilmesi

SembolTanimla fonksiyonu, tek başına kullanıldığında sadece sembolü yaratır. Sistem kodunda bu yaratılan sembolün fiyatının ne olacağına dair formül olsa bile, değer sadece bir kez (kod kaydedildiğinde veya formül test yapıldığında) oluşur/değişir. Girilen formüle uygun olarak, sembolün değerinin de sürekli değişmesini sağlamak için ayrı, gelen her değerin saklanması ve bu sembole ait bir grafik veri bankası oluşması için ayrı birer yardımcı fonksiyon daha vardır

  • Sistem.YuzeyselGuncelle(Sembol): Her 1 saniyede bir formülü/kodu çalıştırır ve yaratılan sembolün, kullanıcı tarafından atanmış tüm yüzeysel bilgi alanlarını günceller ve güncelleme olduğunda ekranda update rengi (yanıp sönme) değişir (SON FİYAT, ALIŞ FİYATI, SATIŞ FİYATI, TANIM vs).
  • Sistem.GrafikGuncelle(Sembol): Tanımlanmış sembole ait SONFİYAT bilgisi her güncellendiğinde, bu sembolün kendisi için oluşturulan dosyalarda GRAFİK VERİSİ saklanmaya başlar ve yaratılan kodun kendi grafiği üzerinden teknik analiz yapılabilir.
Örnek Kullanımlar

// ENDEKSTEPE isimli sembol
var ENDEKSTEPE = Sistem.SembolTanimla(“DFN’ENDEKSTEPE”, 2);
ENDEKSTEPE.Description = “BIST 100 Günün Yüksek Değeri”;
ENDEKSTEPE.LastPrice = Convert.ToSingle(XU030.HighDay);
Sistem.YuzeyselGuncelle(ENDEKSTEPE);

// CEYREK ALTIN
var CEYREK = Sistem.SembolTanimla(“DFN’CEYREK”, 3);
CEYREK.Description = “Çeyrek Altın”;
CEYREK.BidPrice = Convert.ToSingle(((SGLDD.BidPrice-10)*SUSD.BidPrice/0.995)/1000*1.58);
CEYREK.AskPrice = Convert.ToSingle(((SGLDD.AskPrice+10)*SUSD.AskPrice/0.995)/1000*1.67);
CEYREK.LastPrice = (CEYREK.BidPrice+CEYREK.AskPrice)/2;
Sistem.YuzeyselGuncelle(CEYREK);
Sistem.GrafikGuncelle(CEYREK);

// YARIM ALTIN
var YARIM = Sistem.SembolTanimla(“DFN’YARIM”, 2);
YARIM.Description = “Yarım Altın”;
YARIM.BidPrice = Convert.ToSingle(((SGLDD.BidPrice-10)*SUSD.BidPrice/0.995)/1000*3.18);
YARIM.AskPrice = Convert.ToSingle(((SGLDD.AskPrice+10)*SUSD.AskPrice/0.995)/1000*3.35);
YARIM.LastPrice = (YARIM.BidPrice+YARIM.AskPrice)/2;
Sistem.YuzeyselGuncelle(YARIM);

// NICKEL’în 1 TONUNUN DEĞERİNİ VEREN SEMBOL
var NICKELT = Sistem.SembolTanimla(“DFN’NICKELT”, 3);
NICKELT.Description = “Hesaplanan Nickel / Ton”;
NICKELT.BidPrice = Convert.ToSingle(NICKEL.BidPrice/0.454);
NICKELT.AskPrice = Convert.ToSingle(NICKEL.AskPrice/0.454);
NICKELT.LastPrice = (NICKELT.BidPrice+NICKELT.AskPrice)/2;
Sistem.YuzeyselGuncelle(NICKELT);

Kodların sayfaya eklenmesi

Tanımlanan kodlar, kullanıcı sayfalarındaki fiyat pencerelerine yazılıp kaydedilebilir

Örnek Kullanım 2

DowJones, Dax ve S&P endeks değerleri, yatırımcıların en çok takip ettikleri yabancı borsa endeksleridir. Bu üç Endeksi takip etmek için sayfasına üç ayrı kod yazmak istemeyen bir kullanıcı, yeni tanımlayacağı bir sembole bu üç endeksin verilerini aktarabilir ve kullanabilir.
var DJI = Sistem.YuzeyselVeriOku(“DJI’DJI”);
var DAX = Sistem.YuzeyselVeriOku(“XETRA’DAX”);
var SPX = Sistem.YuzeyselVeriOku(“SPI’SPX”);

// dow dax ve s&p aynı anda gör
var YURTDISI = Sistem.SembolTanimla(“DFN’YURTDISI”, 2);
YURTDISI.Description = “DJI DAX ve S&P”;
YURTDISI.LastPrice = DJI.LastPrice;
YURTDISI.BidPrice = DAX.LastPrice;
YURTDISI.AskPrice= SPX.LastPrice;
Sistem.YuzeyselGuncelle(YURTDISI);

Daha Fazla Bilgiye mi İhtiyacınız Var?

Ürünlerimiz veya hizmetlerimizle ilgili yardıma ihtiyacınız varsa, lütfen bizimle temasa geçin.