Formüllü Fiyat Penceresinden Emir Gönderimi
Formüllü Fiyat Penceresinden(FFP) Piyasa ve Limit türlerinde emir gönderebilen 4 tane fonksiyon bulunmaktadır. Bu fonksiyonları kullanarak emir gönderebilmek için kullandığınız formüllü fiyat penceresinin başlığında bulunan açılır menüden hesabınızı seçip ardından yanındaki kilidi aktif etmelisiniz.
Önemli Not: Emir gönderim kilidinin rengi kırmızıysa emirler seçilen hesaba iletilmez, yeşilse iletir. Kilidi açmadan önce yazdığınız emir fonksiyonlarının istediğiniz gibi ve doğru çalıştığından emin olunuz. Emirlerinizi önce deneme ortamlarında deneyip sonra gerçek hesap seçimiyle aktif ediniz.
Not: Emir fonksiyonlarının çalışması için aldığı parametreleri sırasıyla, eksiksiz ve doğru girdi biçimlerinde doldurmalısınız.
- Piyasa Tipli Emir Fonksiyonu
Seçilen hesaba ve sembole sadece piyasa tipinde emir gönderilmek istendiğinde bu fonksiyon kullanılır.
SendMarketOrder(Koşul, Emir Sayısı/Toplam Miktar, Sembol, Miktar, Yön, HerGüncellemedeEmirGönderilsinMi,Emir gönderim tipi, donus tipi)
- Koşul(bool): Emrin kontrol parametresidir. Bu parametreye yazılan ifade doğru(true) olana kadar emir iletilmez.
NOT: Emrin iletilebilmesi için koşuldaki verilerin güncelleme alması gereklidir. Güncelleme almayacak koşullar sağlansa bile emir piyasaya iletilmez. Güncellemenin manuel olarak değil, veri yayınından gelen bir değerle olması gerekmektedir.
- EmirSayısı(int): Aynı fonksiyon ile kaç emir gönderileceğini sınırlamak için kullanılır. Örneğin bu parametre 1 geçilirse o fonksiyondan sadece 1 emir iletilir ve durur.
NOT: Eğer emir fonksiyonun gönderim sınırı olmadan emir iletmesi isteniyorsa EmirSayisi parametresine 0 geçilmelidir.
- Toplam Miktar(int): Aynı fonksiyon ile toplamda kaç adet(lot) emir gönderileceğini sınırlamak için kullanılır. Örneğin bu parametre 200 geçilir ve emir adedi 10 girilirse, 20 kez 10’ar adet emir iletilir ve durur.
NOT: Toplam adedi emir miktarına böldüğünüzde tam sayı çıkmıyorsa, son adet toplam miktarı geçmeyecek şekilde eksik olarak gönderilir. Bu parametre sıfır geçildiğinde emir gönderimi sınırlanmaz.
- Sembol(string): Emir göndermek istediğiniz sembol
- Miktar(int): Gönderilecek emrin adedi
NOT: BIST Pay senedi ve VIOP için küsuratlı girilen emirler aşağı yuvarlanır. Kripto için sembolün işlem ondalığına göre ayarlanır ve küsuratlı olarak gönderilir.
- Yön(A/S): Bu parametreye alış yönlü emir için Buy, satış yönlü emir için Sell geçilmelidir. Emir gönderim fonksiyonu yazımı sırasında bu parametreler otomatik tamamlama içinde seçilebilir olarak gelir.
- HerGüncellemedeEmirGönderilsinMi(bool): Koşulun doğru(true) olduğu bir durumda emrin sürekli gönderilmesi engellenmek isteniyorsa bu parametre false, istenmiyorsa true geçilmelidir. Hiçbir parametre geçilmediği durumda False kabul edilir.
NOT: Bu parametre True geçildiğinde, koşulunuz doğrulandığı sürece gelen her güncelleme ile emir gönderilir. EmirSayısı ya da ToplamMiktar değerine ulaşılıncaya kadar emir gönderimi devam eder. Koşul dışında kullandığınız ve güncelleme alan bir alan varsa o güncelleme de emir gönderimini tetikler. Örneğin emir fiyatını Sembol.Son olarak bir hücreden aldığınızda, koşulunuz True olduğu anda emir gönderilir, koşulunuz True olarak kalır ve Son fiyata güncelleme gelirse tekrar emir gönderimi yapılır.
- Emir Gönderim Tipi: Emrin kaç kez gönderileceğini belirlerken, Emir Sayısı’nın mı yoksa Toplam Miktar’ın mı kullanılacağının seçildiği parametredir. OrderCount ya da TotalQuantity geçilmelidir. Emir gönderim fonksiyonu yazımı sırasında bu parametreler otomatik tamamlama içinde seçilebilir olarak gelir. Hiçbir parametre geçilmediği durumda Emir Sayısı (OrderCount) geçerli kabul edilir.
- Dönüş Tipi: Bu parametrenin alabileceği Number ve Text olmak üzere iki değeri vardır. Number geçildiğinde seçilen emir gönderim tipine göre iletilen emir miktarını veya adedini hücreye yazılmasını sağlar. Bu sayede emrin bulunduğu hücreyi referans alan farklı hücrelerde, gönderilen emir birimi işlemlerde kullanılabilir. Text geçilirse metin olarak emir bilgisi hücreye yazılır. Hiçbir parametre geçilmediği durumda Text geçerli kabul edilir.
Not: PYS tipinde emir kabul etmeyen VIOP sembolleri için bu fonksiyon kullanıldığında emir Tavan-Taban fiyatlarından gönderilecektir.
- Limit Tipli Emir Fonksiyonu
Seçilen hesaba ve sembole sadece limit tipinde emir gönderilmek istendiğinde bu fonksiyon kullanılır. Piyasa emrinden tek farkı Fiyat parametresidir. Diğer parametreler piyasa emrindeki gibi çalışmaktadır.
SendLimitOrder(Koşul, Emir Sayısı/Toplam Miktar, Sembol, Miktar, Yön, Fiyat, HerGüncellemedeEmirGönderilsinMi,Emir gönderim tipi, donus tipi)
- Fiyat(decimal): Limit emir fiyatı. Emir gönderilecek sembolün ve piyasanın fiyat kurallarına dikkat edilerek girilmelidir.
Not: Sembol.Son, Sembol.Alış, Sembol.Satış gibi tanımlamalar yapıldığında seans başlarında fiyatların sıfırlandığı göz önünde bulundurulmalıdır. Derinlik lisansı olanlar Sembol.DERINLIK_ALIS_FIYAT_1 şeklindeki yazımlarla pasif kademelere ya da belli bir fiyatın üstüne çıkmadan gerçekleşecek şekilde üst kademelere emir fiyatı girebilirler.
Önemli Not: Girdiğiniz emir fonksiyonları günlük olarak sıfırlanmaz. Emir sayısı ve toplam miktar değerlerine ulaşıldığında ya da kilit butonu kapatıldığında emir gönderimi durur. Hücreyi düzenleyip enter’a bastığınızda ya da sayfayı yeniden yüklediğinizde emir sayısı/toplam miktar alanları sıfırlanarak baştan başlar.
- Seçilen Türde (PYS/LMT) Emir Gönderen Fonksiyon
Seçilen hesaba ve sembole isteğe göre piyasa veya limit türelerinde emir gönderilmek istendiğinde bu fonksiyon kullanılır. Gönderilecek emrin piyasa mı limit mi olacağına Fiyat Tipi parametresi değiştirilerek seçilebilir.
SendOrder(kosul,emir sayisi / toplam miktar, sembol,miktar, yon, fiyat tipi, fiyat, herGuncellemedeEmirGondersinMi, emir gönderim tipi, donus tipi)
Fiyat Tipi: PYS ve LMT olmak üzere alabileceği iki değeri vardır. Seçime göre piyasa veya limit emri gönderilir. PYS fiyat tipi seçildiğinde bir sonraki fiyat parametresi Sıfır “0” olarak girilmelidir.
- Sıralı Emir Gönderim Fonksiyonu
Seçilen hesaba ve sembole gönderilmek istenen emirlerin sıralı gönderilmesi isteniyorsa bu fonksiyon kullanılır. Seçilen yöne (Buy/Sell/All) göre ilk emrin yönü tayin edilip ardından gönderilecek emirlerin de sıralı gönderilmesi sağlanır.
Örneğin yön parametresi Buy seçilirse, fonksiyon alış koşulunun sağlanmasını bekler ve satış koşulunun sağlanması durumunda emir göndermez. Yön All seçilmesi durumunda alış veya satış koşullarının hangisi gerçekleşirse ilk emir o yönde gönderilir.
SendOrderSequential(kosulAlis, kosulSatis, sembol, miktar, yon, fiyat tipi, fiyat, ilkinden sonra iki kat miktar, alista her güncellemede emir gönderilsin mi, alışta her güncellemede emir gönderilsin mi)
- Alış Koşulu: Alış emrinin gönderilmesi için sağlanması gereken koşuldur. Koşul sağlanmadığı sürece alış emri gönderilmeyecektir.
- Satış Koşulu: Satış emrinin gönderilmesi için sağlanması gereken koşuldur. Koşul sağlanmadığı sürece satış emri gönderilmeyecektir.
- İlkinden Sonra İki Kat Miktar(Bool): Bu parametre true geçilirse ilk işlemden sonraki emirlerin hep ilk işlem adet/miktarının iki katı kadar emir göndermesini sağlar. Varsayılanda false geçilir. True geçildiğinde ilk pozisyon açıldıktan sonra, sonraki emirler 2 katı gönderilerek hem pozisyonun kapatılması hem de ters yönde pozisyon açılması yani sürekli uzun ya da kısa pozisyonda olmak sağlanmış olur.
- Alışta Her Güncellemede Emir Gönderilsin Mi(Bool): Bu parametre False geçildiğinde, Alış koşul kontrolünün sırası geldiğinde, koşulun sağlandığı her durumda fonksiyonun sürekli emir göndermesini engelleyip, sadece koşulunun sağlanmadığı durumdan sağlandığı duruma geçtiği anda emir göndermesini sağlar. True geçildiğinde ise emir gönderim sırası Alış’tayken alış koşulu sağlandığı her durumda emir gönderir. Hiçbir parametre geçilmediği durumda False kabul edilir.
- Satışta Her Güncellemede Emir Gönderilsin Mi(Bool): Bu parametre False geçildiğinde, Satış koşul kontrolünün sırası geldiğinde, koşulun sağlandığı her durumda fonksiyonun sürekli emir göndermesini engelleyip, sadece koşulunun sağlanmadığı durumdan sağlandığı duruma geçtiği anda emir göndermesini sağlar. True geçildiğinde ise emir gönderim sırası Satış’tayken satış koşulu sağlandığı her durumda emir gönderir. Hiçbir parametre geçilmediği durumda False kabul edilir.
Emir Gönderim Fonksiyonuyla Birlikte Kullanılması Faydalı Olacak Fonksiyonlar
Timer Fonksiyonu: Saniye cinsinden girilen değeri hücre enter’landığı anda geri saymaya başlar. Üst üste tetiklenebilecek emir gönderimini engellemek için emir gönderim koşulunuza ek olarak Timer fonksiyonunu kullanabilirsiniz. Timer ile tanımladığınız süreyi gösteren hücrenin Sıfır’a eşit olmasını da emir gönderim koşuluna eklemeniz gerekir.
Örnek: =TIMER(60)
KalıcıSinyal Fonksiyonu: İstenen periyotta yeni bir grafik barı açıldığında “True” döner. Grafik barlarını ya da indikatörleri kullanarak oluşturduğunuz emir koşullarının üst üste tetiklenerek emir göndermesini engellemek için KalıcıSinyal fonksiyonunu kullanabilirsiniz. Emir gönderim koşulunuza ek olarak KalıcıSinyal tanımladığınız hücrenin True olmasını eklemeniz gerekir.
Örnek: =KALICISINYAL(GARAN.KAPANIS_T.5DK)
BETWEENTIME Fonksiyonu: Girilen başlangıç ve bitiş zamanları ile mevcut anın zamanını kıyaslar. Mevcut zaman, girilen başlangıç ve bitiş zamanı aralığındaysa True döner.
Örnek: =BETWEENTIME(“10:00:00″,”18:05:00”)
GetSymbol Fonksiyonu: BIST30, BIST50, BIST100, BISTTUM sembollerini kullandığınız örneklerde bu fonksiyon ile endekse dahil olan semboller değiştiğinde sembol listenizin güncel kalmasını sağlarsınız. İlk parametreye BIST30, BIST50, BIST100, BISTTUM den hangisini kullanacaksanız sırasıyla Bist30, Bist50, Bist100, Bist yazmanız, ikinci parametreye Sıra numarası girmeniz gerekir. Hazır pencerelerden PMAX BIST30, Sepet Emir, 200 Günlük Ortalamasını Kıranlar-BIST100 pencerelerinde bu fonksiyon kullanımını inceleyebilirsiniz.
Örnek: =GetSymbol(Bist30,1)
DATEDIFF Fonksiyonu: İki zaman aralığı içinde geçen süreyi istenen zaman cinsinden döner.
DATEDIFF(dönüş türü, başlangıç zamanı, bitiş zamanı)
Dönüş türü olarak alttakiler kullanılabilir. Yazım sırasında dönüş türleri listesi açılacaktır.
Year : Zaman aralığındaki süreyi Yıl olarak döner.
Örnek : =DATEDIFF(Year,”10.04.2019″,”10.04.2022″)
Quarter : Zaman aralığındaki süreyi üç ayı kapsayan çeyrek sayısı olarak döner.
Örnek : =DATEDIFF(Quarter,”01.01.2021″,”01.04.2021″)
Month : Zaman aralığındaki süreyi Ay olarak döner.
Örnek : =DATEDIFF(Month,”01.01.2022″,”01.04.2022″)
Day : Zaman aralığındaki süreyi Gün olarak döner.
Örnek : =DATEDIFF(Day,”12.04.2022″,”26.04.2022″)
Week : Zaman aralığındaki süreyi Hafta olarak döner.
Örnek : =DATEDIFF(Week,”10.04.2022″,”26.04.2022″)
Hour : Zaman aralığındaki süreyi Saat olarak döner.
Örnek : =DATEDIFF(Hour,”12.04.2022 20:00″,”13.04.2022 11:00″)
Minute : Zaman aralığındaki süreyi Dakika olarak döner.
Örnek : =DATEDIFF(Minute,”10:38″,”10:58″)
Second : Zaman aralığındaki süreyi Saniye olarak döner.
Örnek : =DATEDIFF(Second,”10:20:50″,”10:21:50″)
Millisecond : Zaman aralığındaki süreyi Milisaniye olarak döner.
Örnek : =DATEDIFF(Millisecond,”10:00:00″,”10:00:05″)
Başlangıç ve bitiş zamanı için tarihleri nokta, saatleri iki nokta üst üste ile ve tırnak içerisinde yazmak gerekir.
Tarih, saat yazım formatları alttaki gibi olmalıdır.
“dd.MM.yyyy HH:mm:ss”,
“HH:mm:ss”,
“HH:mm”,
“yyyy.MM.dd HH:mm:ss”,
“yyyy.MM.dd”,
“dd.MM.yyyy HH:mm”,
“dd.MM.yyyy”,
MATH Fonksiyonu: Matematiksel fonksiyonların sonuçlarına uygun değerleri döner.
MATH(Fonksiyon, değer1, değer2)
Fonksiyon olarak alttakiler kullanılabilir. Yazım sırasında altta yer alan fonksiyon listesi açılacaktır.
Abs: Bu fonksiyon sayinin mutlak değerini alarak geriye pozitif sayi döndürür.
Ceiling: Bu fonksiyon belirtilen sayıya eşit veya daha büyük en küçük tam sayıyı döndürür.
Exp: Bu fonksiyon belirtilen değerin doğal üstel değerini döndürür.
Floor: Bu fonksiyon belirtilen değere eşit veya daha küçük en büyük tam sayıyı döndürür.
Log: Bu fonksiyon değerin doğal (e=2.7 tabanında) logaritmasını döndürür.
Log10: Bu fonksiyon belirtilen değerin 10 tabanına göre logaritmasını döndürür.
Max: İki sayıdan en küçüğünü döner.
Min: İki sayıdan en büyüğünü döner.
Pow: Bu fonksiyon belirtilen sayının belirtilen derecede kuvvetini döndürür.
Round: Bu fonksiyon belirtilen değerleri belirtilen uzunlukta yuvarlar.
Sqrt: Bu fonksiyon verilen değerin karekökünü döndürür.