Parametreler Fonksiyonu

Parametreler Fonksiyonu

Fonksiyonun Kullanım Şekli
  • Sistem.Parametreler[];
Fonksiyonun Amacı ve Kullanım Şekilleri

Parametreler fonksiyonu, bazen kodu sadeleştirmek, bazen kod yazımını kolaylaştırıp anlaşılır kılmak, bazen robot olarak çalıştırılan kodların bazı sonuçlar üzerinden gözlem yapmak, bazen şifrelenmiş olarak sunulmuş/dağıtılmış formüllere, dışardan müdahaleye izin ve imkân vermek için kullanılabilir.

IDEAL sistem panelinini (kod yazılan pencere) sağ üst bölgesinde 20 satırlık bir PARAMETRE bölgesi vardır. Bu fonksiyonun işlevi, bu satırlara yazılan verileri koda aktarmak veya koddan elde edilecek bazı bilgileri bu alanlara yazmaktır.

Sistem.Parametreler[x] şeklinde kullanılır. X değeri parametre bölgesindeki satırların numarasıdır. İLK SATIRIN NUMARASI SIFIRDIR.

Parametreler kısmında bir satıra yazılmış bir veri bu fonksiyon ile okutulup, kod içinde kullanılabilir. (aşağıdaki örnek)

Veya yukardaki işlemin tersi (kodun belli bir anında elimizde olan bir veri, parametreler kısmındaki bir satıra yazılabilir.) yapılabilir. (aşağıdaki örnek: Aktif VIOP kontratının Son Fiyat değeri okutulup Parametreler tablosunun 2 numaralı (3. Sıra) satırına yazdırılmıştır.) (Mesaj ve Debug fonksiyonlarında anlatıldığı gibi, tipi ne olursa olsun, ekranda görsel olarak gösterilmek istenen bir veri, sonuna .ToString() ibaresi eklenerek (metin/text) şekline çevrilir.)

Yararlı Kullanım Şekilleri

Parametre fonksiyonu genelde iki önemli amaca hizmet eder.

  1. Yazılan formüllerde kullanılan ve zaman zaman değiştirilmesi gereken (indikatör parametreleri, kırılma noktaları için fiyat seviyeleri, sözleşme kodları gibi) bilgileri bu alandan okutarak, değişiklik gerektiğinde kolayca yapmak.
  2. Çeşitli amaçlarda, yazdıkları formülleri bir başkasına ŞİFRELEYEREK veren kişilerin, kodu verdiği kişiye bazı bilgileri değiştirebilme imkânı vermek istemesi. (Kodlar şifrelendiğinde bu alan açık kalır)
Örnek Kullanım
  •  

GARAN hisse senedinde, manuel olarak Pozisyon açan bir kullanıcının, kendi belirlediği ve zaman zaman değiştirdiği yükseliş ve düşüş stop seviyelerini girdiği ve o seviyelere gelindiğinde otomatik olarak pozisyon kapatmasını sağlayan ROBOT örneği. İşlem adedi, pozisyona girilmiş fiyat ve yön ile stop seviyeleri parametre alanına girilir. Robot pozisyonu kapattığı zaman (stop seviyeleri görüldüğünde) Parametreler bölgesindeki YÖN bilgisini kendisi değiştirir.
string Sembol = “IMKBH’GARAN”;
float IslemFiyati = Convert.ToSingle(Sistem.Parametreler[1]); //Pozisyonagirilmiş olan fiyat
float KarMarj = Convert.ToSingle(Sistem.Parametreler[3])/100; //Stop için beklenecek artış puanı
float ZararMarj = Convert.ToSingle(Sistem.Parametreler[5])/100; //Stop için beklenecek düşüş puanı
float Miktar = Convert.ToSingle(Sistem.Parametreler[7]); //Alış/Satış emri için Lot Miktarı
string Pozisyon_Yonu = Sistem.Parametreler[9]; // Girilen pozisyonun yönü belirlenir Örnek: Long=L Short=S Flat= F
var Islem = “”;
var SonFiyat = Sistem.SonFiyat(Sembol);
var Pozisyon = Sistem.PozisyonKontrolOku(Sembol);

if (SonFiyat > 0 && (Sistem.SaatAraligi(“09:35”, “12:30”) || Sistem.SaatAraligi(“13:00”, “17:40”)))

{
if (Pozisyon_Yonu == “L” && (SonFiyat >= IslemFiyati + KarMarj) && Pozisyon > 0)
Islem = “SATIS”;
else if (Pozisyon_Yonu == “S” && (SonFiyat <= IslemFiyati – ZararMarj) && Pozisyon < 0)

Islem = “ALIS”;
}
if (Islem != “” && Pozisyon_Yonu != “F”)
{
Sistem.Parametreler[9] = “F”; //Pozisyon Kapatıldığı için Parametre Değerine Flat ifadesi atanır.
if (Islem == “ALIS”)
Sistem.PozisyonKontrolGuncelle(Sembol, 0);
else if (Islem == “SATIS”)
Sistem.PozisyonKontrolGuncelle(Sembol, 0);

Sistem.EmirSembol = Sembol;
Sistem.EmirIslem = Islem;
Sistem.EmirMiktari = Miktar;
Sistem.EmirSuresi = “GUN”; // GUN, SNS, IKG
Sistem.EmirTipi = “NORMAL”; // NORMAL,KPY, KIE, GIE
Sistem.EmirFiyatTipi = “PYS”; // PYS, LMT, EIF, KAP
Sistem.EmirFiyati = “Aktif”; // aktif fiyat
Sistem.EmirGonder();
}

Sonuç /Durum

 

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.