İşlem işlevlerini açıklamaya başlamadan önce parametreleri ve piyasa fiyatlarının özelliklerini, emir türlerini, onların özelliklerini ve emir girebilmek için gereken kuralları incelemeliyiz.
Paritelerin Özellikleri
Öncelikle aracı kurumların paritelere ait fiyatları gönderirken uyguladığı prensipleri gözden geçirmeliyiz. Aracı kurumlar, yatırımcılara çift yönlü fiyat teklifi (two-way quote) önerirler.
Two-way quote, aracı kurumlar tarafından birbirlerine bağlı parite fiyatları üzerinden hem alım hem de satım işlemi yapılabilmesinin sağlanmasıdır.
Bid, aracı kurum tarafından, geçerli parite için sunulan iki fiyattan düşük olanıdır.
Ask, aracı kurum tarafından, geçerli parite için sunulan iki fiyattan yüksek olanıdır.
Point, parite için geçerli fiyatlandırma aralığıdır (en az fiyat değişimi, fiyatlandırmaya etki eden minimum değişiklik, pip).
Spread, çift yönlü fiyat teklifinde yüksek ve düşük fiyat arasındaki farktır.
Spread (makas) genellikle sabitlenmiş bir değerdir. MetaTrader 4 programında parite penceresinde sadece Bid (Satış) fiyatlarının gösterilmesi kabul edilmiştir:

Mql Şekil68
Şekil 68. Parite için normal fiyat grafiği
Şekil 68'de parite penceresinde çift yönlü fiyat teklifinin Satış değerini (1,3005) ve Alış değerini görüyorsunuz (1,3007). Bu durumda açıkça görülüyor ki aracı firma 2 piplik bir makas uygulamaktadır. Alış için geçmiş bilgisi tutulmamaktadır fakat kolay bir şekilde anlık olarak hesaplanabilir.
Emir Türleri ve Özellikleri
Toplamda altı farklı emir türü vardır: iki tanesi piyasa emri, dört tanesi de bekleyen emirdir.
Buy bir piyasa emridir ve geçerli paritede mevcut fiyat üzerinden alış emri vermektedir.
Ask bir piyasa emridir ve geçerli paritede mevcut fiyat üzerinden satış emri vermektedir.
BuyLimit piyasa fiyatının altına yerleştirilen bir bekleyen alış emridir. Eğer Ask fiyatı düşer ve bekleyen emir seviyesine gelirse emir aktif olur ve piyasa emrine dönüşür.
SellLimit piyasa fiyatının üstüne yerleştirilen bir bekleyen satış emridir. Eğer Bid fiyatı yükselir ve bekleyen emir seviyesine gelirse emir aktif olur ve piyasa emrine dönüşür.
BuyStop piyasa fiyatının üstüne yerleştirilen bir bekleyen alış emridir. Eğer Ask fiyatı yükselir ve bekleyen emir seviyesine gelirse emir aktif olur ve piyasa emrine dönüşür.
SellStop piyasa fiyatının altına yerleştirilen bir bekleyen satış emridir. Eğer Bid fiyatı düşer ve bekleyen emir seviyesine gelirse emir aktif olur ve piyasa emrine dönüşür.
Lot verilen emir isteğinin hacmini lot miktarı olarak belirtir.
StopLoss yatırımcı tarafından verilen bir zarar durdurma emridir. Yatırımcının geçerli emir için para kaybedeceği yöne konulmaktadır.
TakeLimit yatırımcı tarafından verilen bir kar alma emridir. Yatırımcının geçerli emir için para kazanacağı yöne konulmaktadır.
İşlem Gereksinimleri ve Sınırlamaları
Uygulama programlarınızda (UzmanDanışman ve scriptler) doğru işlem isteklerinde bulunmak için gereksinimleri ve sınırlamaları dikkate almanız gerekir. Bunları detaylı olarak inceleyelim.
Tüm işlemler doğru fiyatlarla gerçekleştirilir. Uygulama fiyatı her işlem için çift yönlü fiyat teklifinin geçerli olan bölümüne göre hesaplanmaktadır.
Yukarıdaki kural piyasa katılımcıları için en genel kuraldır ve işlem platformu geliştiricileri tarafından keyfi olarak veya yatırımcı ile aracı kurum arasındaki anlaşmaya göre değiştirilemezler. Bunun anlamı, bir piyasa emrinin sadece ve sadece geçerli olan fiyat üzerinden açılabileceğidir. Farklı işlem türleri için yapılan hesaplamalar aşağıda yer almaktadır.
Doğru fiyatlar hesaplanırken servis sağlayıcısının (işlem merkezi) sınırlamaları da hesaba katılmalıdır. Bu sınırlamalar en az mesafe ve freeze (emir dondurma) mesafelerini de içermektedir. Bunun anlamı, aracı kurumların emirleri sağlıklı ve başarılı olarak gerçekleştirebilmesi için biraz zamana ihtiyacı olduğudur.
İşlem merkezleri piyasa emri ile bu emre ait stop emrinin, piyasa fiyatı ile bekleyen emrin, bekleyen emir ile bu emre ait stop değerinin aralarındaki izin verilen en az mesafenin kaç pip olması gerektiğini belirtmektedir. Bunun anlamı, bir piyasa emri girdiğinizde bu emir için bir stop değeri koymak istediğinizde izin verilen miktardan daha yakın bir noktaya bu değeri taşıyamayacağınızdır. Stop değeri izin verilenden daha yakın olan bir piyasa emrinin girilmesi isteği müşteri terminali tarafından hatalı olarak algılanacaktır. Her işlem merkezi kendisine ve hizmet verdiği aracı kuruma göre farklı sınırlandırmalarda bulunabilir. Bir kural olarak görmek gerekirse bu mesafe 1 ile 15 pip arasında olmaktadır. En çok kullanılan paritelerde (EURUSD, GBPUSD, EURCHF, vs.) birçok işlem merkezi tarafından en az kabul edilen mesafe 3-5 pip arasıdır. Farklı paritelerin izin verilen uzaklık değerleri de farklı olmaktadır. Örneğin, altın için bu değer 50-100 pip arasında olabilmektedir. Herhangi bir parite için geçerli olan bu miktar aracı kurum tarafından istenildiğinde değiştirilebilmektedir (genellikle önemli haber açıklamalarında). En yüksek mesafe için herhangi bir sınırlama yoktur.
Freeze mesafesi, bekleyen bir emrin veya bir piyasa emrine ait stop değerinin değiştirilmesinin sınırlandırılmasıdır. Örneğin, piyasa fiyatı 1,3800 ve bekleyen emir de 1,3807 fiyatında olsun, aracı kurumun da freeze seviyesinin 10 pip olduğunu kabul edelim, bu durumda bekleyen emriniz artık freeze aralığında bulunmaktadır ve değiştirme veya silme işlemi yapamazsınız. Sakin bir piyasada aracı kurumlar genel olarak freeze seviyesini kullanmamaktadırlar. Fakat, önemli haber açıklamalarının veya dalgalanmanın yüksek olduğu durumlarda aracı kurum belirli miktarda bir freeze değeri koyabilmektedir. Farklı durumlarda ve farklı aracı kurumlarda freeze seviyeleri de farklılık göstermektedirler. Aracı kurumlar freeze seviyelerine isteklerinde değiştirebilmek hakkına sahiptirler.
Fiyat seviyelerinin sınırlandırılması en az mesafe ve freeze seviyelerine bağlı olarak doğru fiyat üzerinden hesaplanmaktadırlar.
Piyasa Emirlerinin Açılması/Kapanması
Bir piyasa emrinin açılması, geçerli olan piyasa fiyatından bir alış ya da satış işleminin yapılması demektir. Bir piyasa emri açabilmek için OrderSend() işlevi, kapamak için de OrderClose() işlevi kullanılmalıdır.
Alış için doğru fiyat Ask ön tanımlı değişkeninin son halidir.
Satış için doğru fiyat Bid ön tanımlı değişkeninin son halidir.
Bir emri kapatmak için gerekli olan stop seviyesinin konumlandırılabileceği en uygun yer doğru piyasa fiyatı üzerinden hesaplanmaktadır.
StopLoss ve TakeProfit emirleri olması gereken en az uzaklıktan daha yakın bir yere konulamaz.
Örneğin, EURUSD paritesi için en az uzaklık 5 pip ve satış piyasa emri 1,2987 değerinden verilmiş olsun. Satış emrini kapatmak için gerekli olan değer çift yönlü fiyatlandırmaya göre 1,2989'dir. Aşağıdaki stop seviyeleri piyasa emri için girilebilecek en yakın değerlerdir (bkz. Şekil 69):
StopLoss = Ask + En Az Mesafe = 1,2989 + 0,0005 = 1,2994 ve
TakeProfit = Ask - En Az Mesafe = 1,2989 - 0,0005 = 1,2984.

Mql Şekil 69
Şekil 69. Stop değerleri olabilecek en yakın mesafede olan satış piyasa emri.
Eğer satış piyasa emri için 1,2987 değerinden istekte bulunulursa ve bu emir için stop değerleri yukarıdakilerden (SL = 1,2994 ve TP = 1,2984) daha yakın olursa, işlem isteği müşteri terminali tarafından reddedilecektir. Ayrıca işlem isteği sırasında fiyatlarda değişimler olabileceğini hesaba katmalısınız, ki bu durum sizin özellikle belirttiğiniz fiyattan daha farklı bir noktada emrin açılmasına neden olabilir. Eğer aynı istek için stop değerleri yukarıdaki değerlerle belirtilmişse, bu istek de müşteri terminali tarafından reddedilecektir çünkü yukarıdaki değerlerden birisi fiyat değişimi nedeniyle olması gereken en az mesafeden daha yakında olacaktır. Bu nedenlerden ötürü bir piyasa emri girildiğinde stop değerleri için en yakın değerlerin kullanılması tavsiye edilmez. Tam aksine, en az 1-2 pip olacak şekilde boşluklar tanımanız gerekir.
Piyasa emirleri yatırımcı ya da program tarafından veya piyasa emri için girilen stop değerlerinden birine ulaştığında kapatılabilirler.
Alış emrinin kapatılması için doğru fiyat Bid ön tanımlı değişkeninin son halidir.
Satış emrinin kapatılması için doğru fiyat Ask ön tanımlı değişkeninin son halidir.
Eğer satış emrini şu anda (Şekil 69) kapatırsak, 1,2989 değerinden kapatılacak yani 2 piplik bir kayıpla. Eğer bu emrin bir süre daha açık kalmasına izin verirsek ve Ask fiyatı 1,2984 seviyesine kadar düşerse, işlem 3 pip kar ile kapatılacaktır. Eğer piyasa bu süre içinde büyümeye devam eder ve Ask fiyatı 1,2994 seviyesine ulaşırsa, 7 pip zararla kapatılacaktır.
Eğer uygulama bir açılış ya da kapanış emri verirse ve bu emir için girilen fiyat, bilinen en son piyasa fiyatı ile uyuşmuyorsa, emir müşteri terminali tarafından reddedilir.
Piyasa emrinin sınırlandırılmalarına bağlı olan hesaplamalar piyasa fiyatının temelleri üzerinden hesaplanır.
Eğer girilen emrin stop değerleri freeze alanı içindeyse müşteri terminali tarafından reddedilecektir.
Örneğin, şekil 69'da gösterilen emir ancak aracı kurum freeze mesafesini 4 pip veya daha az olarak belirtmişse kapatılabilir. Bu emrin açılış fiyatının bir önemi yoktur. Freeze bandının aralığı o anlık geçerli olan piyasa emri üzerinden belirlenmektedir. Bu yüzden eğer freeze mesafesi 4 ise, freeze bandının üst değeri buna bağlı olarak 1,2993, alt değer de 1.2985 olacaktır. Bu durumda eğer program ya da yatırımcı bir kapatma emri gönderirse, freeze bandı içinde hiçbir stop değeri olmadığından emir kapatılabilir. Eğer aracı kurum freeze seviyesini 5 olarak belirler ise freeze bandı aralığı 1,294 ve 1,2984 arasında olacaktır ve stop değerleri bu aralık içine girdiğinden emirlerin kapatılması işlemi gerçekleşmeyecektir. Bu örnekte iki stop değeri de freeze bandı içinde kalmaktadır. Genel olarak eğer en az bir tane stop değeri freeze bandı içindeyse piyasa emirleri kapatılamaz.
Eğer bir parite içinde ard arda iki tane piyasa emri açılırsa, biri alış diğeri de satış olmak üzere, emirler iki farklı şekilde kapatılabilirler: OrderClose() işlevi ile tek tek kapatılabilir ya da birini diğer emri kullanarak OrderCloseBy() işlevi ile kapatabilirsiniz. Paranızı korumak için ikinci yöntem daha çok tercih edilmektedir; çünkü, birbirlerini kapatmasını sağlayarak bir tanesi için makas ücretinden kurtulabilirsiniz. Bu işlem daha sonra detaylı olarak incelenecektir.
Bekleyen Emirlerin Yerleştirilmesi ve Silinmesi
Bekleyen emirler, piyasa fiyatının aksine belirli bir fiyattan piyasada işlem yapmak için kullanılmaktadır. Bekleyen bir emir yerleştirmek için OrderSend() işlevi kullanılır. Silmek için de OrderDelete() işlevi kullanılmalıdır.
Bekleyen emir türlerinden SellLimit ve BuyStop piyasa fiyatının üstüne yerleştirilirken, BuyLimit ve SellStop piyasa fiyatının altına yerleştirilirler.
Bekleyen bir emrin piyasa emri haline gelebilmesi için belirlenen sınırlamalar piyasa fiyatı üzerinden anlık olarak hesaplanır.
Hiçbir bekleyen emir türü piyasa fiyatına en az olabilecek yakınlıktan daha kısa bir mesafeye yerleştirilemez.
Örneğin, BuyStop için yerleştirilebileceği en kısa mesafeyi bulabilmek için bilinen en son Ask fiyatına en kısa mesafeyi eklemek gerekir. Eğer stop seviyesi 5 ise, BuyStop için izin verilen en yakın nokta 1.3008 (Şekil 70) olacaktır. Bunun anlamı BuyStop emrinin şu an için 1,3008 seviyesine veya daha üstüne yerleştirilebileceğidir. Bu örnekte BuyStop 1,3015 seviyesine konulmuştur.
Mql Şekil 70
Şekil 70. Piyasa fiyatının altına ya da üstüne yerleştirilmiş bekleyen emirler
BuyStop için istenen fiyat 1,3015.
SellLimit için istenen fiyat 1,3012.
SellStop için istenen fiyat 1,2995.
BuyLimit için istenen fiyat 1,2993.
Yukarıdaki örnekte bütün bekleyen emirler en az giriş mesafesi 5 pip iken Şekil 70'de gösterilen en son muma göre yerleştirilmiştir. SellStop emri piyasa fiyatına en yakın olan emirdir. Piyasa fiyatı 1,3001 ve SellStop için istenilen fiyat 1,2995'dir, buna bağlı olarak da emir ile piyasa fiyatı arasındaki fark 6 piptir ve en az giriş mesafesinden daha fazladır. Bunun anlamı, bu emir açılırken (veya bu örnekte bulunan tüm emirler açılırken) müşteri terminali tarafından onaylanmış ve server tarafında gönderilmiştir. Serverda emirleri kontrol etmiş ve bir sorun olmadığına karar vererek emirleri yerleştirmiştir.
Bekleyen emirlere bağlanan stop değerleri de en az mesafe sınırlamasına tabidirler:
Bekleyen emirlere bağlanan stop değerleri, piyasa fiyatı üzerinden değil, bekleyen emirler için istenen fiyatlar üzerinden hesaplanır.
Bekleyen bir emre bağlanan StopLoss ve TakeProfit emirleri en az mesafeden daha yakına yerleştirilemezler.
Bekleyen emirler için verilen StopLoss ve TakeProfit değerleri freeze mesafesine bağlı değillerdir.
Şekil 71'de bekleyen emir olan SellLimit görülmektedir, stop değerleri de mümkün olan en kısa mesafeye girilmiştir. Bu durumda, istenilen fiyat 1,2944, StopLoss değeri 1,2949, TakeProfit değeri 1,2939 olarak belirlenmiştir. En kısa mesafe olarak 5 pip belirlendiğinden bu girilen değerler kabul edilebilir mesafededir.

Mql Şekil 71
Şekil 71. Bekleyen emir için girilen stop değerleri olabilecek en kısa mesafededir
Bu örnekte bekleyen emir olan SellLimit 18:07'de açılmıştır. Şekil 71'de görüldüğü üzere piyasa fiyatı daha sonra stop değerlerinden birine ulaşmış ve geçmiş, daha sonra da tekrar geri dönmüştür. Bu durum bekleyen emri hiçbir şekilde etkilememiştir, stop değeri sadece bir piyasa emrini kapatabilir. Yani bu durumun geçerli olabilmesi için öncelikle bekleyen emrin bir piyasa emrine dönüşmesi gerekmektedir. Bizim durumumuzda bekleyen emir bir piyasa emri haline gelmemiştir (Bid değeri istenen fiyata ulaşmamıştır), bu yüzden de fiyatın stop değeri üzerinden geçmesi bekleyen emir üzerinde bir etkiye sahip değildir.
Bekleyen bir emrin silinmesi ile ilgili sınırlamalar piyasa fiyatı ile hesaplanmaktadır.
Bekleyen emirlerin her türü için silme ve değişiklik yapma işlemine sadece geçerli olan piyasa fiyatının freeze mesafesinde olmadığında izin vardır.
Eğer freeze seviyesi 8 pip birime eşit ya da daha az ise, şekil 71'de gösterilen SellLimit istenildiği anda müşteri terminali üzerinden silinebilir. Bu durumda freeze bandı üst seviyesi 1,2943 olacaktır. İstenilen fiyat 1,2944 ve fiyat freeze mesafesinden daha uzaktadır, bu yüzden silinebilir. Eğer aracı firma freeze seviyesini 8 pipten daha büyük belirlerse, bekleyen emir olan SellLimit silinemeyecek ve müşteri terminali bu isteği reddedecektir.
Bekleyen Emirlerin Piyasa Emrine Dönüştürülmesi
Bekleyen emirler server tarafından otomatik olarak piyasa emri haline dönüştürülürler, bu yüzden bu işlemi yapan herhangi bir işlev bulunmamaktadır.
BuyLimit ve BuyStop bekleyen emirleri eğer son bilinen Ask fiyatı istenilen fiyata ulaşırsa piyasa emri haline gelirler.
SellLimit ve SellStop bekleyen emirleri eğer son bilinen Bid fiyatı istenilen fiyata ulaşırsa piyasa emri haline gelirler.
Şekil 70'de gösterilen bekleyen emirler için şunları söyleyebiliriz:
Eğer Ask fiyatı 1,3015 seviyesine ulaşırsa BuyStop bekleyen emri piyasa emri haline dönüşür.
Eğer Bid fiyatı 1,3012 seviyesine ulaşırsa SellLimit bekleyen emri piyasa emri haline dönüşür.
Eğer Bid fiyatı 1,2995 seviyesine ulaşırsa SellStop bekleyen emri piyasa emri haline dönüşür.
Eğer Ask fiyatı 1,2993 seviyesine ulaşırsa BuyLimit bekleyen emri piyasa emri haline dönüşür.
Bu işlemleri gösteren olaylar Şekil 72-74 arasında gösterilmiştir.
Gelecek zaman içerisinde diğer 2 bekleyen emri de piyasa emri haline gelecekler.
Şekil 73'te Buy 4210322 emrinin açılışı gösterilmektedir (daha önceki hali ile BuyStop bekleyen emri). Görüldüğü üzere 18:55'de gerçekleşen mum 1,3015 seviyesine ulaşmamıştır. Bu mum içerisindeki en yüksek fiyat 1,3013 olmuştur, aynı zamanda terminal penceresinde (Şekil 74) görüldüğü üzere bekleyen emir bu mum içerisinde piyasa emri haline gelmiştir.
Bir defa daha belirtmek gerekiyor ki parite penceresinde sadece çift yönlü fiyatların düşük olanı gösterilmektedir, yani Bid fiyatları. Ask fiyatlarının geçmişi pencerede gösterilmemektedir. Bu yüzden bekleyen emrin piyasa emri haline gelmesinin yanlış olduğunu düşünebilirsiniz. Fakat, burada herhangi bir hata olmamıştır. Şu anda Bid fiyatının 1,3013 fiyatına ulaşmış olması durumunda Ask fiyatı da 2 piplik makas farkından dolayı 1,3015 fiyatına ulaşmış olacak. Bu nedenle de bekleyen emir için istenilen fiyata ulaşmıştır ve otomatik olarak piyasa emri haline dönüştürülür. Emir server tarafından dönüştürülmüştür. Bu olayın hemen ardından server bu bilgiyi müşteri terminaline gönderir ve ardından bu bilgiler hem parite penceresinde (grafik olarak) hem de terminal penceresinde (yazı olarak) gösterilmektedir.
4210411 numaralı BuyLimit bekleyen emrinin dönüşümünde de benzer durumlar gözlenmektedir. BuyLimit için grafik penceresinde piyasa fiyatının 16:37-16:39 arasında ve 16:41'de istenilen fiyata ulaşmadığı görülmektedir, bu yüzden de piyasa emrine dönüşmemiştir. Bunun sebebi de aynıdır: Ask fiyatı istenen fiyata dokunmamıştır. Fakat, 16:42'de oluşan bir sonraki mumda istenilen fiyata ulaşmıştır. Bu olay bekleyen emrin piyasa emrine dönüşmesini sağlamıştır.
Üstte bulunan örnekte stop değerleri kullanılmamıştır. Fakat, stop değerinin olması ya da olmaması bekleyen emirlerin piyasa emri haline gelmesini zaten etkilememektedir. Çünkü sadece çift yönlü fiyattan gereken fiyatın istenilen seviyeye dokunması ya da geçmesi yeterlidir.
Bir bekleyen emir stop değerlerinden tamamen bağımsız olarak market emrine dönüşür.
Bekleyen emirler piyasa fiyatı istenilen seviyeye ulaşmadan da piyasa emrine dönüşebilir. Bu piyasa fiyatının ani değişiminden kaynaklanabilir, örneğin bilinen son piyasa fiyatı istenilen seviyeye ulaşmamış fakat bir sonraki fiyat (emrin açıldığı) istenilen fiyata eşit değildir fakat ötesine geçmiştir (Şekil 75).
a) İki bar arasında bir fiyat boşluğu vardır b) Mumun oluşumu sırasında bir boşluk vardır
Şekil 75. Bekleyen emir bir boşluk ile piyasa emrine dönüşmüştür
Şekil 75a'da BuyStop bekleyen emrinin açılması için mümkün olan farklı seçenekleri görüyoruz (pozisyonun açılmadan önceki ve açıldıktan sonraki hali; ya BuyStop durumu ya da Buy durumu fakat ikisi de değil). Fiyatın çıkmasından önce bilinen en son fiyat 1.9584. 19:15'de bazı haber açıklamaları geliyor bu da parite fiyatının bir sıçrama yapmasına neden oluyor. Haber açıklamasından sonraki ilk fiyat 1,9615. Genel olarak fiyat sıçramaları haber açıklamaları sonrasında gerçekleşir. Bu tür durumlarda aracı firmalar emirlerinizi istediğiniz fiyattan açamazlar çünkü piyasa da buna karşılık gelen fiyat oluşmamıştır. Bu durumda da BuyLimit 1,9590 fiyatına yerleştirilmiş fakat piyasa emrine dönüşmesi 1,9615 seviyesinde gerçekleşmiştir. Bunun nedeni 1,9584 ile 1,9615 arasında hiçbir fiyatın oluşmamış olmasıdır.
Olaylardan çıkan sonuç, piyasa emri olan Alış, BuyStop ile belirtilen fiyattan 25 pip daha kötü bir şekilde açılmıştır. Benzer bir durum (emrin açılması sırasında istenilenden daha az kar edilmesi) eğer fiyat aşağı yönlü bir sıçrama yaparsa SellStop emri içinde gerçekleşecektir. Fakat, eğer BuyLimit ve SellLimit fiyat aralığına girerse, bağlı olan piyasa fiyatı yatırımcı açısından daha karlı bir duruma gelecektir.
Ayrıca fiyatlar arasındaki boşlukların (iki fiyat arasındaki fiyat farkının bir pipten daha fazla olması) sık şekilde oluşabileceği ve her an yaşanabileceği unutulmamalıdır. Eğer fark mumlar arasında gerçekleşirse, yani yeni barın ilk değeri bir öncekinden çok farklı bir fiyattan gelirse, bu durumu grafik penceresi üzerinde görebilirsiniz (Şekil 75a). Fakat, eğer fiyat farkı bir barın içinde gerçekleşirse, bu değişimi görsel olarak aygılayamazsınız (Şekil 75b). Bu durumda fiyat farkı mum içine gizlenmiş durumdadır. Fakat, mum içerisinde gerçekleşen fiyat geçmişinin görüntüsünden ya da programın özelliklerinden bu duruma karar veremezsiniz.
Piyasa Emirlerinin Değiştirilmesi
MetaTrader 4 işlem platformu piyasa emirlerinin ve bekleyen emirlerin fiyatlarının değiştirilmesine izin verir.
Herhangi bir türden emirlerin değiştirilebilmesi için, piyasa emirleri de dahil, OrderModify() işlevi kullanılmalıdır.
Bir piyasa emrinin değiştirilmesi stop değerlerinin değiştirilmesi anlamına gelir. Piyasa emirlerinin açılış fiyatlarını değiştiremezsiniz.
Piyasa emirlerinin açılış fiyatları, artık piyasada gerçek bir işlem haline geldiğinden, değiştirilemez. Bu yüzden bunu gerçekleştirebilecek hiçbir programlama metodu yoktur. Bir piyasa emir için yapabileceğiniz tek şey o emri kapatmaktır. Bir piyasa emri, bir program tarafından, yatırımcı tarafından ya da piyasa emrine ati stop değerlerine ulaşılması durumunda kapatılır.
StopLoss ve TakeProfit emirleri en az mesafeden daha yakın bir noktaya yerleştirilemezler.
Bir piyasa emrine ait stop değerleri freeze aralığı içerisindeyse değiştirilmesi mümkün değildir.
Bir piyasa emrinin stop değerlerinin piyasa fiyatına göre sınırlandırıldığına dikkat edin, fakat bu sınırlamanın açılış fiyatıyla hiçbir alakası yoktur. Bunun anlamı bir emrin değiştirilmesi stop değerlerinin piyasa fiyatının farklı noktalarına taşınabileceğidir.
Bir örneği inceleyelim. Daha önceden bir piyasa emri açılmış olsun ve stop değerleri de piyasa fiyatına olabilecek en yakın noktada bulunsun (Şekil 69). Bunun ardından piyasa fiyatı değişmiş olsun (1 pip artış). Şekil 76'da gösterilen durumla, TakeProfit değerini değiştirmek mümkün hale geldi. Satış emri bilinen en son Ask değerinde kapatıldı. Ask fiyatı (1,2990) ile istenilen TakeProfit fiyatı (1,2984) arasında 6 piplik bir fark bulunuyor, yani izin verilen en az mesafeyi aşıyor. Yatırımcı (ya da program) bir işlemin TakeProfit değerini değiştirmek için istekte bulunursa, mesela 1 pip arttırmak isterse, piyasa emri için geçerli stop değerinin değiştirilmesiyle sonuçlanacaktır (eski değer 1.2984, yeni değer 1,2985).
Eğer Satış işlemi için bir değiştirme isteğinde bulunulursa stop değerleri piyasa fiyatına çok yakın olduğu için bu istek reddedilecektir ve işlem yapılmayacaktır.

Mql Şekil 76
Şekil 76. Değiştirilmiş bir emir, stop değerleri piyasa fiyatına en yakın hale getirildi
Piyasa emirleri için değiştirilme sınırlaması stop değerlerinin geçerli olan piyasa fiyatına yakınlığıyla sınırlandırılmaktadır fakat stop değerinin emrin girildiği fiyat ile arasında bir sınırlama getirmez. Bu yüzden eğer sınırlandırılma değerlerinden daha büyük ise stop değerleri anlık fiyatın herhangi bir noktasına yerleştirilebilir (eğer değiştirilme isteğinin girildiği anda stop değerleri freeze bandı içerisinde değilse). Şekil 77'de aynı emrin bir değişiklik daha yapıldıktan sonraki halini görüyorsunuz: bu durumda stop değerleri belirlenen sınırlandırılmalardan çok daha uzak bir noktaya taşınmış durumda.
Şekil 77. Değiştirilmiş bir emir, stop değerleri sınırlandırılmaların çok daha ilerisine yerleştirilmiş
Bekleyen Emirlerin Değiştirilmesi
Herhangi tür emirleri, bekleyen emirler de dahil olmak üzere, değiştirmek için OrderModify() işlevi kullanılır.
Bekleyen bir emrin değiştirilmesi muhtemel olarak bekleyen emrin açılış fiyatının ve stop değerlerinin değiştirilmesi olarak algılanabilir.
Bekleyen emirlerin değiştirilmesi ile alakalı olan sınırlamalar geçerli olan piyasa fiyatı üzerinden hesaplanmaktadır.
Bekleyen bir emrin stop değerleri istenilen açılış fiyatı üzerinden hesaplanmaktadır, piyasa fiyatı ile bir ilgisi yoktur.
BuyLimit ve BuyStop türünden bekleyen emirler geçerli olan Ask fiyatına göre en az mesafeden daha yakına yerleştirilemezler.
SellLimit ve SellStop türünden bekleyen emirler gerçerli olan Bid fiyatında göre en az mesafeden daha yakına yerleştirilemezler.
Bekleyen bir emrin StopLoss ve TakeProfit değerleri bekleyen emir için istenilen fiyata en az mesafeden daha yakına yerleştirilemezler.
Eğer BuyLimit ve BuyStop türünden bekleyen emirler geçerli olan Ask fiyatına en az mesafeden daha yakınsa, yani freeze bandı içindelerse, değiştirilemezler.
Eğer SellLimit ve SellStop türünden bekleyen emirler geçerli olan Bid fiyatına en az mesafeden daha yakınsa, yani freeze bandı içindelerse, değiştirilemezler.
Bekleyen emirlere ait StopLoss ve TakeProfit değerleri freeze seviyeleri tarafından sınırlandırılmazlar.
Bekleyen bir emir için istenilen fiyatın piyasa fiyatı ile sınırlandırıldığı unutulmamalıdır, ayrıca bu emre ait stop değerleri de istenilen fiyat ile sınırlandırılmıştır.
Örneğin, BuyLimit türünden bir bekleyen emir şu parametrelere sahip olsun: istenilen fiyat 1,2969, StopLoss değeri 1,2964, TakeProfit değeri 1,2974. Bekleyen emrin girildiği sıradaki piyasa fiyatının da 1,2983 olduğunu varsayalım. Buna göre emir piyasa fiyatının 14 pip uzağına yerleştirilmiştir, ki bu da en az mesafeden çok daha fazladır. Girilen emre ait stop değerleri de 5 pip uzaklıktadır ve sınırlandırmanın dışunda kalmaktadır, bu yüzden emir sorunsuz olarak girilebilir.

Mql Şekil 78
Şekil 78. BuyLimit türünden stop değerleri olabilecek en yakın noktadaki bekleyen emir
Eğer yatırımcı BuyLimit için istenilen fiyatı değiştirmek isterse, hangi yöne doğru değiştireceğinden bağımsız olarak, hemen ardından da stop değerlerinden en az bir tanesini değiştirmesi gerekmektedir çünkü fiyatın değişiminden sonra artık en az fiyat mesafesi ihlal edilmiş olacaktır (Şekil 79).
Şekil 79. Değiştirilmiş olan BuyLimit (istenilen fiyat ve TakeProfit seviyesi değiştirildi)
Eğer yatırımcı BuyLimit türünden bekleyen emri piyasa fiyatına en yakın olacak noktaya yerleştirmek isterse, bu durumda şekil 80, izin verilen en az fiyat mesafesi Ask - 5Pip yani 1,2980 olacaktır. Bu örnekte stop değerleri en az fiyat mesafesinin dışına yerleştirilmiştir.

Mql Şekil 80
Şekil 80. Piyasaya en yakın olan değiştirilmiş BuyLimit







Yorum Ekle
Başarıyla raporlandı
Teşekkür ederiz. Yorum, yöneticinin incelemesi için işaretlendi.