Emir Özellikleri

Alım-satım işlemi istekleri emir olarak adlandırılır. Her emir bir dizi okuma amaçlı özelliğe sahiptir. Emirlerle ilgili bilgiler OrderGet...() ve HistoryOrderGet...() fonksiyonları ile elde edilebilir.

OrderGetInteger() ve HistoryOrderGetInteger() fonksiyonları için

ENUM_ORDER_PROPERTY_INTEGER

Tanıtıcı

Açıklama

Tip

ORDER_TICKET

Emir fişi. Her bir emir için atanan benzersiz tanıtıcı değer

long

ORDER_TIME_SETUP

Emir başlangıç zamanı

datetime

ORDER_TYPE

Emir tipi

ENUM_ORDER_TYPE

ORDER_STATE

Emir durumu

ENUM_ORDER_STATE

ORDER_TIME_EXPIRATION

Emir zaman-aşımı tipi

datetime

ORDER_TIME_DONE

Emrin gerçekleşme veya iptal edilme zamanı

datetime

ORDER_TIME_SETUP_MSC

01.01.1970 beri geçen milisaniyeler cinsinden emrin girilme zamanı

long

ORDER_TIME_DONE_MSC

01.01.1970 beri geçen milisaniyeler cinsinden emrin gerçekleşme/iptal edilme zamanı

long

ORDER_TYPE_FILLING

Emrin karşılanma tipi

ENUM_ORDER_TYPE_FILLING

ORDER_TYPE_TIME

Emrin yaşam süresi

ENUM_ORDER_TYPE_TIME

ORDER_MAGIC

Emri veren Uzman Danışmanın tanımlayıcısı (her bir Uzman Danışmanın kendine has, benzersiz numarasını girmesi için tasarlanmıştır)

long

ORDER_REASON

Emrin veriliş sebebi veya kaynağı

ENUM_ORDER_REASON

ORDER_POSITION_ID

Pozisyon tanımlayıcısı. Emir erçekleştirildiği anda ayarlanır. Gerçekleştirilen her emir, mevcut bir pozisyonu açan veya değiştiren bir işlem ile sonuçlanır. Pozisyon tanımlayıcısı, gerçekleştirilen emir için gerçekleşme anında ayarlanır.

long

ORDER_POSITION_BY_ID

Emir ile kapama işlemi için kullanılacak ters pozisyonun tanımlayıcısı  ORDER_TYPE_CLOSE_BY

long

OrderGetDouble() ve HistoryOrderGetDouble() fonksiyonları için

ENUM_ORDER_PROPERTY_DOUBLE

Tanıtıcı

Açıklama

Tip

ORDER_VOLUME_INITIAL

Emrin başlangıç hacmi

double

ORDER_VOLUME_CURRENT

Emrin mevcut hacmi

double

ORDER_PRICE_OPEN

Emirde belirtilen fiyat

double

ORDER_SL

Zarar Durdur değeri

double

ORDER_TP

Kar Al değeri

double

ORDER_PRICE_CURRENT

Emir verilen sembolün mevcut fiyatı

double

ORDER_PRICE_STOPLIMIT

StopLimit emri için Limitli emir fiyatı

double

OrderGetString() ve HistoryOrderGetString() fonksiyonları için

ENUM_ORDER_PROPERTY_STRING

Tanıtıcı

Açıklama

Tip

ORDER_SYMBOL

Emrin verildiği sembol

string

ORDER_COMMENT

Emir yorumu

string

ORDER_EXTERNAL_ID

Borsa türü piyasalar için emir tanımlayıcısı

string

 

OrderSend() fonksiyonu kullanarak bir alım-satım isteği gönderirken, bazı işlemler, emir tipinin belirtilmesini gerektirir. Emir tipi, MqlTradeRequest özel yapısının type alanında belirtilir.

ENUM_ORDER_TYPE

Tanıtıcı

Açıklama

ORDER_TYPE_BUY

Piyasa Alış emri

ORDER_TYPE_SELL

Piyasa Satış emri

ORDER_TYPE_BUY_LIMIT

Limit Alış bekleyen emri

ORDER_TYPE_SELL_LIMIT

Limit Satış bekleyen emri

ORDER_TYPE_BUY_STOP

Stop Alış bekleyen emri

ORDER_TYPE_SELL_STOP

Stop Satış bekleyen emri

ORDER_TYPE_BUY_STOP_LIMIT

Emir fiyatına ulaşıldığında, StopLimit fiyatından bir Limit Alış emri yerleştirilir

ORDER_TYPE_SELL_STOP_LIMIT

Emir fiyatına ulaşıldığında, StopLimit fiyatından bir Limit Satış emri yerleştirilir

ORDER_TYPE_CLOSE_BY

Pozisyonu ters pozisyonla kapatmak için kullanılan emir

 

Her emir, durumunu tanımlayan bir statüye sahiptir. Bu bilgiyi almak için, OrderGetInteger() veya HistoryOrderGetInteger() fonksiyonlarını, ORDER_STATE şekillendiricisi ile kullanın. İzin verilen değerler ENUM_ORDER_STATE sayımında listelenmiştir.

ENUM_ORDER_STATE

Tanıtıcı

Açıklama

ORDER_STATE_STARTED

Emir kontrol edilmiş ama henüz aracı kurum tarafından kabul edilmemiş

ORDER_STATE_PLACED

Emir kabul edildi

ORDER_STATE_CANCELED

Emir müşteri tarafından iptal edildi

ORDER_STATE_PARTIAL

Emir kısmen işlendi

ORDER_STATE_FILLED

Emir bütünüyle işlendi

ORDER_STATE_REJECTED

Emir reddedildi

ORDER_STATE_EXPIRED

Emir, zaman-aşımına uğradı

ORDER_STATE_REQUEST_ADD

Emir işleniyor (alım-satım sistemine kaydediliyor)

ORDER_STATE_REQUEST_MODIFY

Emir şekillendiriliyor (parametreleri değiştiriliyor)

ORDER_STATE_REQUEST_CANCEL

Emir siliniyor (alım-satım sisteminden siliniyor)

 

Geçerli zamanda (yürürlükteki zaman) işlem gerçekleştirmek için bir işlem talebi gönderirken, fiyat ve gerekli alım/satım hacmi belirtilmelidir. Ayrıca, finansal piyasaların, talep edilen hacmin tamamının belirli bir finansal enstrüman için istenen fiyatta mevcut olduğuna dair hiçbir garanti vermediğini unutmayın. Bu nedenle, gerçek zamanlı ticaret işlemleri, fiyatla ve hacimle ilişkili işlem gerçekleştirme modları kullanılarak düzenlenir. Modlar veya işlem gerçekleştirme politikaları, fiyatın değiştiği veya istenen hacmin o anda tam olarak karşılanamadığı durumlar için kuralları tanımlar.

Fiyatla ilişkili işlem gerçekleştirme modu, ENUM_SYMBOL_TRADE_EXECUTION sayımındaki bayrak kombinasyonunu içeren SYMBOL_TRADE_EXEMODE sembol özelliğinden elde edilebilir.

İşlem gerçekleştirme modu

Açıklama

ENUM_SYMBOL_TRADE_EXECUTION'daki değer

İşlem gerçekleştirme modu

 

(İşlem Gerçekleştirme Talebi)

Brokerdan alınan fiyattan bir piyasa emri gerçekleştirme.

 

Belirli bir piyasa emrinin fiyatları, emir gönderilmeden önce brokerdan talep edilir. Fiyatlar alındıktan sonra, elde edilen fiyattan emrin gerçekleştirilmesi onaylanabilir veya reddedilebilir.

SYMBOL_TRADE_EXECUTION_REQUEST

Anında İşlem Gerçekleştirme

 

(Anında İşlem Gerçekleştirme)

Belirtilen fiyattan anında bir piyasa emri gerçekleştirme.

 

Gerçekleştirilmek üzere bir işlem talebi gönderirken, platform otomatik olarak mevcut fiyatları emre ekler.

  • Broker fiyatı kabul ederse, emir gerçekleştirilir.
  • Broker fiyatı kabul etmezse, bir "Requote" gönderilir - broker bu emrin gerçekleştirilebileceği fiyatları geri döndürür.

SYMBOL_TRADE_EXECUTION_INSTANT

Piyasa Fiyatından İşlem Gerçekleştirme

 

(Piyasa Fiyatından İşlem Gerçekleştirme)

Broker yatırımcıyla herhangi bir ek iletişim yapmadan emir gerçekleştirme fiyatı hakkında karar verir.

 

Emrin bu modda gönderilmesi, o anki fiyattan emrin gerçekleşmesine önceden izin verilmesi anlamına gelir.

SYMBOL_TRADE_EXECUTION_MARKET

Exchange İşlem Gerçekleştirme

 

(Exchange İşlem Gerçekleştirme)

Ticaret işlemleri mevcut piyasa fiyatları üzerinden gerçekleştirilir.

SYMBOL_TRADE_EXECUTION_EXCHANGE

Hacim yerine getirme politikası ORDER_TYPE_FILLING emir özelliğinde belirtilir ve yalnızca ENUM_ORDER_TYPE_FILLING sayımındaki değerleri içerebilir

Hacim yerine getirme politikası

Açıklama

ENUM_ORDER_TYPE_FILLING'deki değer

Kalanı İptal Et (Fill or Kill, FOK)

Bir emir yalnızca belirtilen hacimde gerçekleştirilebilir.

 

Finansal enstrüman için piyasada gerekli miktarda hacim mevcut değilse, emir gerçekleşmez.

 

İstenen hacim mevcut birkaç fiyatı içerebilir.

 

FOK emirlerini kullanma imkanı ticaret sunucusu tarafından belirlenir.

ORDER_FILLING_FOK

Anında ya da İptal Et (Immediate or Cancel, IOC)

Yatırımcı, emirde belirtilen dahilinde piyasada bulunan maksimum hacimde işlem gerçekleştirmeyi kabul eder.

 

Talebin tam olarak karşılanamaması durumunda, emir var olan hacimde gerçekleştirilecek ve kalan hacim iptal edilecektir.

 

IOC emirlerini kullanma imkanı ticaret sunucusu tarafından belirlenir.

 

ORDER_FILLING_IOC

Pasife yerleştir (Book Or Cancel, BOC)

BOC politikası, emrin yalnızca Piyasa Derinliğine yerleştirilebileceğini ve hemen gerçekleştirilemeyeceğini belirtir. Emir yerleştirildiği anda hemen yerine getirilebiliyorsa bu emir iptal edilir.

 

Aslında bu politika, yerleştirilen emrin fiyatının mevcut piyasadan daha kötü olacağını garanti eder. BOC emirleri pasif ticaret yapmak için kullanılır: emrin yerleştirildiği anda yerine getirilmeyeceği ve böylece mevcut likiditeyi etkilemeyeceği garanti edilir.

 

Yalnızca limit ve stop limit emirleri desteklenmektedir (ORDER_TYPE_BUY_LIMIT, ORDER_TYPE_SELL_LIMIT, ORDER_TYPE_BUY_STOP_LIMIT, ORDER_TYPE_SELL_STOP_LIMIT).

ORDER_FILLING_BOC

Dönüş

Hacmin kısmi olarak yerine getirilmesi durumunda, hacmi artmış emir iptal edilmez, daha sonrası için işlenir.

 

Piyasa Fiyatından İşlem Gerçekleştirme modunda dönüş emirlerine izin verilmez (piyasa fiyatından işlem gerçekleştirme — SYMBOL_TRADE_EXECUTION_MARKET).

ORDER_FILLING_RETURN

OrderSend() fonksiyonunu kullanarak bir ticaret talebi gönderirken, type_filling alanında, yani özel MqlTradeRequest yapısında gerekli hacim yerine getirme politikası ayarlanabilir. ENUM_ORDER_TYPE_FILLING sayımındaki değerler kullanılabilir. Belirli bir etkin/tamamlanmış emirdeki özellik değerini elde etmek için, ORDER_TYPE_FILLING düzenleyicisiyle OrderGetInteger() veya HistoryOrderGetInteger() fonksiyonunu kullanın.

Geçerli işlem gerçekleştirme zamanıyla bir emir göndermeden önce, ORDER_TYPE_FILLING değerinin (hacimle ilişkili işlem gerçekleştirme tipi) doğru ayarlanması için, SYMBOL_FILLING_MODE özellik değerini elde etmek adına her bir finansal enstrümanla SymbolInfoInteger() fonksiyonunu (bir bayrak kombinasyonu şeklinde sembol için izin verilen hacimle ilişkili işlem gerçekleştirme tiplerini gösterir) kullanabilirsiniz. ORDER_FILLING_RETURN tipi, "Piyasa fiyatından işlem gerçekleştirme" modu (SYMBOL_TRADE_EXECUTION_MARKET) dışında her zaman etkindir.

İşlem gerçekleştirme moduna bağlı olarak hacim yerine getirme tiplerinin kullanımı aşağıdaki tablo halinde gösterilebilir:

İşlem Gerçekleştirme Tipi\Hacim Yerine Getirme Politikası

Kalanı İptal Et (FOK ORDER_FILLING_FOK)

Anında ya da İptal Et (IOC ORDER_FILLING_IOC)

Dönüş (Return ORDER_FILLING_RETURN)

Anında İşlem Gerçekleştirme

 

(SYMBOL_TRADE_EXECUTION_INSTANT)

+ (sembol ayarından bağımsız olarak)

+ (sembol ayarından bağımsız olarak)

+ (her zaman)

İşlem Gerçekleştirme Talebi

 

SYMBOL_TRADE_EXECUTION_REQUEST

+ (sembol ayarından bağımsız olarak)

 

+ (sembol ayarından bağımsız olarak)

+ (her zaman)

Piyasa Fiyatından İşlem Gerçekleştirme

 

SYMBOL_TRADE_EXECUTION_MARKET

+ (sembol ayarlarından ayarlanır)

+ (sembol ayarlarından ayarlanır)

- (sembol ayarlarından bağımsız olarak devre dışı)

Exchange İşlem Gerçekleştirme

 

SYMBOL_TRADE_EXECUTION_EXCHANGE

+ (sembol ayarlarından ayarlanır)

+ (sembol ayarlarından ayarlanır)

+ (her zaman)

Bekleyen emirler olması durumunda, bu tür emirler gönderme sırasında gerçekleştirilmeleri üzere tasarlanmadığından, işlem gerçekleştirme tipinden (SYMBOL_TRADE_EXEMODE) bağımsız olarak ORDER_FILLING_RETURN hacim yerine getirme tipi kullanılmalıdır. Bekleyen emirleri kullanırken, yatırımcı, emirdeki koşulların işlem için karşılandığında, brokerın borsa tarafından desteklenen hacim yerine getirme tipini kullanacağını peşinen kabul eder.

 

OrderSend() fonksiyonu ile emir gönderirken, emir geçerlilik periyodu, MqlTradeRequest özel yapısının type_time alanında ayarlanabilir. Bunun için ENUM_ORDER_TYPE_TIME sayımının değerleri kullanılır. Bu özelliğin değerini elde etmek amacıyla OrderGetInteger() veya HistoryOrderGetInteger() fonksiyonları, ORDER_TYPE_TIME şekillendiricisi ile kullanılır.

ENUM_ORDER_TYPE_TIME

Tanıtıcı

Açıklama

ORDER_TIME_GTC

İptale kadar geçerli emir

ORDER_TIME_DAY

Günlük emir

ORDER_TIME_SPECIFIED

Tarihli emir

ORDER_TIME_SPECIFIED_DAY

Emir, belirtilen günün 23:59:59 saatine kadar aktif olacaktır. Eğer belirtilen zaman alım-satım seansının dışında kalıyorsa, emir en yakın alım-satım seansının başında zaman aşımına uğrayacaktır.

 

Gerçekleştirilen emirle ilgili sebep verisi ORDER_REASON özelliğinde tutulur. Emirler, mobil uygulamalardan veya MQL5 programları, StopOut olayı, vb. gibi sebeplerle verilebilir. ORDER_REASON özelliğinin muhtemel değerleri ENUM_ORDER_REASON sayımında tanımlanmıştır.

ENUM_ORDER_REASON

Tanıtıcı

Açıklama

ORDER_REASON_CLIENT

Emir masaüstü terminali ile verilmiş

ORDER_REASON_MOBILE

Emir bir mobil uygulama ile verilmiş

ORDER_REASON_WEB

Emir bir mobil uygulama ile verilmiş

ORDER_REASON_EXPERT

Emir, bir MQL5 programı ile (Uzman Danışman veya betik) verilmiş

ORDER_REASON_SL

Emir, bir Zarar Durdur emrinin tetiklenmesi sonucunda oluşturulmuş

ORDER_REASON_TP

Emir, bir Kar Al emrinin tetiklenmesi sonucunda oluşturulmuş

ORDER_REASON_SO

Emir, bir StopOut olayının tetiklenmesi sonucunda oluşturulmuş