Treyderlərin dinamik indeksi – Binary Options göstəriciləri

İkili seçim brokerlərinin reytinqi:
  • Binomo
    Binomo

    Ən yaxşı ikili seçim brokeridir!
    Pulsuz təlim və demo hesabı!

Treyderlərin dinamik indeksi – Binary Options göstəriciləri

Şekil 1:”Dynamic Input” değer kutuları

Bu kutular kullanılarak gerekli ölçü değerleri klavyeden girilir ve komut seçenekleri seçilerek çizim yapılır. Kutuların içindeki değerler klavyeden girilerek değiştirilebilir. Kutular arasında geçiş yapmak için klavyeden Tab tuşuna basılır. Kutuların tamamının içine değerler yazıldıktan sonra klavyeden Enter tuşuna basılır. Tüm kutulara değer girmeden Enter tuşuna basılırsa mevcut değerler kabul edilmiş olur. Bu durum yanlış işleme sebep olur.
Dynamic Input moduna aşağıdaki yollardan ulaşılır:
Status Bar ► Dynamic Input (Durum Çubuğu ► Dinamik Giriş) (Şekil 2)

Şekil 2:Durum çubuğu ve “Dynamic Input” düğmesi

F12 tuşuna basılarak kapalıysa açılır, tekrar basıldığında mod kapanır.
DYNMODE (Dinamik Mod) sistem değişkeniyle gerekli ayarlar yapılır.
Command: DYNMODE
Enter new value for DYNMODE : 3 (Dinamik Mod için yeni değeri giriniz)
0 değeri verilirse Dianamik Giriş tamamen kapatılır.
1 değeri verilirse sadece Koordinatlarla Nokta Girişi açılır.
2 değeri verilirse sadece Ölçü girişi yapılır.
3 değeri verilirse tümü açılır. Default değer 3’ tür.

2. KOORDİNATLARLA GİRİŞ YAPMA
X ve Y koordinat değerlerine göre giriş yapmak için:
1. Çizim komutları çalıştırıldığında imlecin hemen yanında yer alan mesaj kutusu, X ve Y koordinat değerlerinin girilmesi için değer kutularıyla birlikte 3 adet dikdörtgen kutu görüntülenir (Şekil 3).
2. Birinci kutu mesaj kutusudur. Ne yapılması gerektiğini bildirir. İkinci kutuya X ekseni yönünde değer girilir. Üçüncü kutuya Y ekseni yönünde değerler girilir. Kutulardan birine klavyeden değer girildikten sonra, diğer kutuya geçiş yapmak için yine klavyeden Tab tuşuna basılır.
3. Tüm kutulara değerler girildikten Enter tuşuna basılır. Komutun devamında yeni değer kutuları oluşur.

Şekil 3:Nokta giriş yerleri

3. ÖLÇÜ VE AÇI DEĞER KUTULARINA GİRİŞ YAPMA
Arc, Elipse, Line ve Pline komutlarında yukarıda anlatıldığı gibi başlangıç noktaları alındıktan sonra:
1. Önce uzunluk kutusuna ölçü değeri girilir.
2. Klavyeden Tab tuşuna basılarak açı kutusuna geçilir ve yeni açı değeri girilir (Şekil 4). Uzunluk kutusunda ölçü sabitlenir ve kilit işareti yerleştirilir.
3. Tüm kutulara değerler girildikten Enter tuşuna basılır. Hemen şunu hatırlatalım. Değer kutularının tamamına değer girilmeden Enter tuşuna basılırsa kullanıcının girmediği değerler otomatik kabul edilmiş olur. Bu uygun değildir. Bazı komutlarda işlemin devamı gelir. devamında yeni değer kutuları oluşur.
4. Hiç değer girmeden Enter tuşuna basılırsa komuttan çıkılır.
5. İşlemi tamamlamadan Esc tuşuna basılırsa yapılan düzenlemeler iptal edilir.

Şekil 5:Ölçü ve açı değer kutuları

İkili seçim brokerlərinin reytinqi:
  • Binomo
    Binomo

    Ən yaxşı ikili seçim brokeridir!
    Pulsuz təlim və demo hesabı!

4. DİNAMİK MESAJLARI KULLANMA
Komut mesajları imlecin hemen yanında yer alırlar. Dinamik mesajları kullanmak için:
1. Mesajların seçeneklerine ulaşmak için Down Arrow (Aşağı Yön Tuşu) kullanılır.
2. Aşağı yön tuşuna bir defa basıldığında seçenekler görüntülenir. Tekrar basıldığında seçenek seçilir (Şekil 5).

Şekil 5:Mesaj ve seçenekleri

3. Seçeneklerden çıkmak için Up Arrow (Yukarı Yön Tuşu) kullanılır. Enter tuşuna basılırsa komut sonuçlandırılır.

İkili Arama Algoritması (Binary Search Algorithm)

Yazan : Şadi Evren ŞEKER

Bilgisayar bilimlerinde bir bilgi kaynağı veya veri yapısı üzerinde problemi her adımda iki parçaya bölerek yapılan arama algoritmasının ismidir. Bu anlamda bazı kaynaklarda bölerek arama olarak da geçmektedir.

Arama algoritması, yapı olarak parçala fethet (divide and conquere) yaklaşımının bir uygulamasıdır.

Bu yazı kapsamında diziler üzerinde ikili arama işleminin nasıl yapıldığı anlatılacaktır. Ancak algoritma, diziler dışında çok farklı veri yapıları ve veri kaynakları için de kullanılabilir. Algoritmanın her durumda çalışması aşağıdaki şekildedir.

  • Problemde aranacak uzayın tam orta noktasına bak
  • Şayet aranan değer bulunduysa bit
  • Şayet bakılan değer aranan değerden büyükse arama işlemini problem uzayının küçük elamanlarında devam ettir.
  • Şayet bakılan değer arana değerden küçükse arama işlemini problem uzayının büyük elemanlarında devam ettir.
  • Şayet bakılan aralık 1 veya daha küçükse aranan değer bulunamadı olarak bitir.

Yukarıdaki müsvedde kod (pseudo code) ele alındığında problem her seferinde aranan sayıya göre ortadan ikiye bölünmektedir. Bu anlamda problemin log2(n) adımda çözülmesi beklenir. Burada logaritmik fonksiyonların üssel fonksiyonların tersi olduğu ve her adımda problemi iki parçaya böldüğümüzü hatırlayınız.

Arama algoritmasının bir dizi üzerinde başarılı çalışması için dizinin sıralı olması gerekir. Yukarıdaki koddan anlaşılacağı üzere ortadaki elemana bakıldığında, aranan sayı ya bakılan sayıdan büyük ya da küçüktür. Dolayısıyla algoritmamız, ya bakılan sayıdan küçük olan sayılar arasında arama yapacak ya da büyük olan sayılar arasında arama yapacaktır.

Bu durumu örnek bir dizi (array) üzerinden açıklamaya çalışalım. Örneğin dizimiz aşağıdaki şekilde verilmiş olsun:

Bu dizi üzerinde 10 eleman bulunduğuna göre aranan sayı her ne olursa olsun ilk bakılacak değer ortadaki değer olan (5. Değer) 12 sayısıdır.

Dizi üzerinde arama işlemi için örnek olarak 3 sayısını aradığımızı düşünelim. Ve aşağıdaki şekilde dizide arama işlemine devam edelim:

Ortadaki değere baktıktan sonra sayı küçük olduğu için altında kalan (solundaki) sayıların ortasındaki değere (yani 2. elemana) bakıyoruz.

Aradığımız sayı (yani 3) dizide baktığımız sayıdan küçük olduğu için arama işlemine yine baktığımız sayıdan küçük olan (solunda olan) sayılar ile devam ediyor ve ortadaki sayı olan dizinin 1. Elemanına bakıyoruz.

Aradığımız sayıyı bulmuş oluyoruz ve çalışmamız bitiyor.

Farklı bir örnek olarak aranan sayının 37 olduğunu (ve dizide olmayan bir sayı olduğunu) düşünelim. Çalışmamız, yine dizinin tam ortasındaki eleman ile başlayacaktır:

Aradığımız sayı baktığımız sayıdan büyük olduğu için dizinin bakılan değerden büyük elemanlarında aramaya devam ediyoruz. Bu alanın ortasındaki değer dizinin 7. Elemanı olur ve 54’tür.

Bu değer aradığımız 37 sayısından büyük olduğu için geri kalan sayılar arasından küçük sayılara bakıyoruz. Bu durumda geri kalan sayılarımız 12’den büyük ve 54’ten küçük sayılardır ve ortasındaki eleman 32’dir.

Sayımız 32 sayısından büyük (aradığımız sayı 37 idi) bu durumda bakılacak başka sayı kalmadığı için (hem 54 hem de 32 sayılarına baktık ve arada başka sayı bulunmuyor) çalışmamızı bitirip aranan sayının dizide olmadığını söyleyebiliriz.

Arama algoritmasını kodlarken yukarıda karşılaşacağımız bir problem, dizinin hangi elemanlarına bakıyor olduğumuz ve bu elemanların orta değerinin bulunmasıdır.

Bu problemin çözümü için dizide arama yapılan elemanlardan en küçük ve en büyük indisli sayıları tutmak genelde kolay bir çözüm sunar.

Aşağıdaki açıklamalar sırasında en küçük indis için kırmız, en büyük indis için yeşil ve orta değer için mavi renkler kullanılacaktır.

İlk örneğimiz olan 3 sayısını ararken indis değerlerimiz aşağıdaki şekildedir:

Dizide aranan sayının bulunabileceği en küçük indis 0 ve en büyük indis 10 olarak kabul edilirse

Dizide bulunan 5. Sayıya bakıyoruz (10 + 0) / 2 = 5. Ayrıca artık aradığımız sayının 5. Elemandan daha büyük olma ihtimali bulunmuyor. Dolayısıyla aranabilecek en büyük sayı 5. Elemandadır diyerek en büyük indisi dizinin 5. Elemanı olarak ayarlıyoruz.

Arama işlemine ortadaki sayı ile devam edeceğiz (5+0)/2 = 2 olduğu için 2. Elemana bakıyoruz.

Aradığımız sayı baktığımız sayıdan küçük olduğu için artık 5’ten büyük sayılara bakmanın bir anlamı yoktur diyerek en büyük indisi dizinin 2. Elemanı olarak atıyoruz. Baktığımız sayı aradığımız sayıya eşit olduğu için de sayıyı bulduk diyerek çalışmamızı bitiriyoruz.

İkinci örnek olan ve 37’yi aradığımız örnekteki indis değerlerine bakacak olursak. İlk olarak en büyük ve en küçük olarak dizinin ilk ve sonuncu elemanlarını alıyoruz.

Bakacağımız değer, arama işleminin yapıldığı uzaydaki orta değer olacağı için (10+0)/2 = 5 sonucuna göre dizinin 5. Elemanına bakıyoruz. Bu değer aradığımız değerden küçük olduğu için arama uzayının, bakılan değerden büyük olan kısmı ile devam ediyoruz. Ayrıca baktığımız bu değerden daha küçük sayıları artık aramanın anlamı olmadığı için en küçük indis olarak 5. İndisi atayabiliriz..

Artık aradığımız değerler 5 ile 10. Değerler arasında olduğuna göre bakacağımız değer (10+5)/2 = 7 olarak atanmalıdır. Aradığımız değer olan 37 , baktığımız değer olan 54’ten küçük olduğu için artık 54’ten büyük değerleri aranmayacak şekilde en büyük indisi 54 olarak atıyor ve orta değer olan (7+5) /2 = 6. İndisteki 32 değerine bakıyoruz.

Arama işlemi bu adımda bitiyor çünkü aranan sayı olan 32 ile en büyük değer olan 54 arasında başka bir sayı olamayacağına göre ve aradığımız değer bu arada olacağına göre işlem bitebilir.

Yukarıda verilen örnek üzerinde çalışabilecek C kodunu aşağıdaki şekilde yazabiliriz:

Yukarıdaki kodda, dikkat edilecek bir püf noktası 7. Ve 8. Satırlardaki -1 ve 10 değerleridir. Bunlar arama işleminin arasında yapılacağı indisleri belirten en büyük indis ve en küçük indis değerleridir. Bu değerler dikkat edildiği üzere dizinin tanımlı olduğu indislerin dışındadır. Yani yukarıda 10 elemanlı bir dizi söz konusudur dolayısıyla bu dizinin -1 ve 10 numaralı elemanları yoktur.

Yukarıdaki kodda bu şekilde bir değerden başlamanın sebebi, dizi üzerinde arama yapılırken köşede kalan elemanların aranmamasıdır. Okuyucu dilerse yukarıdaki kodda, eb = 9 yazarak 123 değerini veya ek=0 yazarak 2 değerini aratmayı deneyebilir.

İkili arama algoritması (binary search algorithm) arama yaptığı uzayı her adımda iki eşit parçaya bölerek devam ettiği için O(log2(n) ) performansına sahiptir. Elbette arama algoritması en iyi ihtimalle ilk baktığı değeri bulabilir, bu durumda 1 erişim sonuca erişmek için yeterli olacaktır.

Algoritmanın sıralı olmayan, karışık bir dizi üzerinde çalışması için öncelikle dizinin sıralanması gerekir. Bu işlem en iyi sıralama algoritmasına göre ( birleştirme sıralaması (merge sort) veya hızlı sıralama algoritması (quick sort) ile) O(nlog2(n)) adımda yapılmaktadır. Dolayısıyla dizinin önce sıralanması ardından da ikili arama algoritmasına göre aranması işlemi için

İşlem yapılması gerekecektir. Öte yandan çok daha kötü bir performansa sahip olan doğrusal arama (linear search) algoritması aynı işlemi O(n) performansı ile yapabilmektedir. Dolayısıyla karışık bir dizi içerisinde arama işlemi yapılacaksa, doğrusal arama algoritması her zaman için en basit ve hızlı algoritmadır.

Bu durumun bir istinası, arama işleminin sürekli yapılması durumudur. Örneğin bir bankada, bankamatiğe müşterinin her kartını takışında kaydının arandığını düşünelim. 10 milyon müşterisi bulunan bir banka için, müşterinin her aranması en kötü ihtimalle 10 milyon arama gerektirecektir.

Öte yandan veriyi bir kere sıraladıktan sonra her arama işlemi için sadece log2(10.000.000)

24 işlem yeterli olmaktadır. Bu aramanın gerçekleştirilebilmesi için gereken sıralama maliyeti ise :

n log2(n) = 10.000.000 log2( 10.000.000) = 24.000.000

işlem gerektirmektedir. Dolayısıyla bu bankada 24’ten fazla arama gerekiyorsa (ki 10 milyon müşterisi bulunan bir banka için bir gün içerisinde binlerce kere müşteri bilgisine erişilmesi gerektiğini kabul edebiliriz). 25. Aramadan sonraki aramalarda sıralama maliyeti çıkarılmış ve performans olarak avantajlı hale geçilmiş olunur.

C++ dili

Gelen bir istek üzerine yukarıdaki kodun aynısını C++ diline çevirerek aşağıda yayınlıyorum. Aşağıdaki kodun görüleceği üzere C dilinde yazılmış olan yukarıdaki koddan bir farkı yoktur. Sadece ekran çıktılarının printf yerine cout olarak değiştirilmesi yeterlidir.

C# dili

Aynı kodu C# (csharp) dilince çevirdiğimizde aşağıdaki kodu yazmak mümkündür (Visual Studio 2008 Express Edition ile test edilmiştir):

JAVA ile

Aynı kodun java ile kodlanmış hali aşağıdadır:

Algoritmik Trading ve Piyasa Bozulmaları

Yine tarihten bir giriş yapalım. 1815 yılında Prusya – Büyük Britanya ittifakı, Napolyon’un ordularını Waterloo Savaşı’nda yendi. Bir efsaneye göre daha savaşın sıcağı bitip yaralılar savaş alanından geriye çekilmemişken Rotschild Hanedanlığı’nın posta güvercinlerinden biri Londra’ya giden yolu yarılamıştı bile.

Nathan Rotschild, Fransızların İngiltere’ye giremeyeceklerini diğer tüm tüccarlardan önce öğrenmişti. Bu sayede de elindeki bilgiyle satın aldığı Büyük Britanya devlet tahvilleri ile çok büyük karlar elde etmişti.

Bilgiyi herkesten önce alıp erken hareket etmek kesinlikle cazibeli ve karlı bir hamle.

Günümüzde ise borsa yatırımcıları yüksek hızda alım-satım yapmak için posta güvercinleri yerine algoritmik trading yazılımları kullanıyor. Ancak birçoğuna göre bu, piyasaları bozan bir yöntem çünkü uzmanları ve regülatörleri gereğinden hızlı hareket etmeye mecbur bırakıyor.

Algoritmik Trading Yazılımları Nasıl Çalışıyor?

Algoritma, bir işlemin tamamlanması için yapılan, adım adım tanımlanmış prosedürlere denir.

Bu durumda algoritmik trading (veya kısaca ‘algo’ trade) herhangi bir finans piyasasında zaman, fiyat, hacim gibi bazı değişkenlere göre önceden programlanmış büyük ölçekli borsa emirleri olarak ifade edilebilir.

Algoritmik al-sat komutlarına şöyle anlaşılır örnekler vermek mümkün; Bir şirketin 50 günlük hareketli ortalaması 200 günlük hareketli ortalamasının üstüne çıkarsa o şirketten 50 birim hisse satın al.

Bir şirketin 50 günlük hareketli ortalaması 200 günlük hareketli ortalamasının altına düşerse şirketin hisselerini elden çıkar.

Büyük komutlar genelde küçük parçalara bölünür ve komutun verildiği yazılım her bir parçanın alım-satımı için en iyi ve en kötü zamanları hesaplar.

Bu hesaplamalar insan müdahalesi olmaksızın çok hızlı şekilde gerçekleşir ve algo trade insan kapasitesinin hiçbir şekilde ulaşamayacağı hızlarda ve sıklıkta al-sat yaparak çok büyük miktarda karlar getirebilir.

Yatırım bankaları, devasa yatırım fonları ve hedge fonları genelde büyük komutları yerine getirmesi için algoritmik alım satımı kullanırlar.

Algoritmik trade yazılımları finans kuruluşları için uygun maliyetli bir çözüm; bu tür yazılımlar açık komutları harfi harfine uyguluyor, fiyatları gözlemliyor ve durup dinlenmeksizin işlem yapabiliyorlar, hem de bir kuruş maaş almadan!

Kan Banyoları

Uluslararası Borsa Organizasyonları Komisyonu (The International Organization of Securities Commissions, kısaca “IOSCO”), 2020 yılında, birden fazla piyasa içerisinde karşılıklı olarak çalışan algoritmik trade yazılımlarının, borsaların birbirleriyle sıkı ilişkileri olması nedeniyle bir borsada olan şoku hızlı bir şekilde diğer bir borsaya yansıtma ihtimalinin olduğunu söyledi.

IOSCO’nun bu savını desteklemek için kullandığı örnek, Dow Jones Endeksi’nin 2020’da yaşadığı sert düşüştü.

6 Mayıs 2020 tarihinde, ABD Doğu Standart Saati ile 2:30 sularında Dow Jones Endüstri Endeksi 10 dakika içinde 1000 puan düştü. Bu düşüş, o tarihe kadarki en yüksek düşüştü.

Aşağıdaki videoda bu büyük düşüşün yatırımcılara nasıl bir şok yaşattığına anı anı şahit olabilirsiniz.

Bir trilyon doların üzerinde kaynak bir anda yok oldu, hiçkimse bunun niye olduğunu anlayamadı. O gün, finans tarihinin tabiri caizse en büyük “katliamlarından” biri yaşandı.

300 farklı hisse senedi üzerinde 20,000’in üzerinde satış emri verildi ve bu hisseler, saniyeler önceki değerlerinden yüzde 60 daha pahalıya satıldı. Borsaya öyle bir kaos çöktü ki kimi hisse senetleri bir sente kadar düşerken kimi hisseler birim başına 100,000 dolara kadar çıktı.

Bu finansal katliam aynı gün içerisinde yüzde 70 oranında normale döndü.

Fakat yatırımcılara yaşattığı şok hafızalardan uzun süre silinemedi. Bu kısa süreli sert düşüşün, algoritmik işlem yazılımlarının yarattığı yüksek hızda yapay alış-satış hacmi sonucunda ortaya çıktığı anlaşıldı.

(Meraklı okuyucularımız için teknik bir açıklama yapacak olursak ABD Menkul Kıymetler ve Borsa Komisyonu’nun raporuna göre bu olay adı açıklanmayan bir yatırım fonu grubunun 4 milyar dolar değerindeki 75.000 ‘E-Mini S&P 500 Endeksi Vadeli İşlem Sözleşmesi’ni satma işlemi nedeni sonucunda tetiklendi.)

Yüksek volatilitenin düşük likidite ile birleşmesi, algoritmik işlem yazılımlarının ‘e-mini’ satış emrini yanlış okuyup var olandan çok daha büyük bir piyasa hareketliliği olduğunu düşünmesini sağladı. Ve bu duruma yol açan yazılım, yukarıda bahsettiğimiz şartlara uzun süre maruz kalmamak üzere programlanmıştı. O elindekileri çıkarmaya başlayınca diğer tüm yazılımlar da aynısını yapmaya başladılar.

Güncel Durumlar

2020’da yaşananlara benzer bir olay 2020’de de yaşandı.

6 Şubat 2020, saat 3 sularında, New York’da bir grup insandan gelemeyecek hızda satış komutları akmaya başladı.

Haliyle herkesin aklına 2020’da yaşananlar geldi ve herkes bir an tabiri caizse “ne oluyor lan?” diye kala kaldı.

“Bizi asıl endişelendiren piyasanın bozulma hızı olmuştu. Sabahki düşüşü kesinlikle insanlar başlattı, fakat öğleden sonraki çöküş makinelerin eseriydi.”

Beklenmedik gelişmelere düşünmeden verilen yüksek hızlı tepkiler, finans piyasalarını mahvedecek eylemlere yol açabilir.

Algo trade sayesinde piyasa bilgileri üzerine hareket etme yarışı iyice kran kırana olmaya başladı. Batıda uzun yıllardır kullanılan bu yöntem BISTECH dönüşümünün ardından Türkiye’de de popüler hale gelmeye başladı.

Artık hızlı uçan güvercinler yerine daha göz kırmpanız tamamlanmadan 400 piyasa komutu verebilen algoritmalar var.

İkili seçim brokerlərinin reytinqi:
  • Binomo
    Binomo

    Ən yaxşı ikili seçim brokeridir!
    Pulsuz təlim və demo hesabı!

Bir cavab yazın

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: