Alım-Satım Sunucusunun Dönüş Kodları

Alım-satım işlemlerinin için yapılan tüm istekler OrderSend() fonksiyonu kullanılarak MqlTradeRequest yapısı şeklinde gönderilir. Fonksiyonun uygulama sonucu MqlTradeResult yapısına yerleştirilir. Bu yapı retcode alanında sunucunun dönüş kodunu içerir.

Kod

Sabit

Açıklama

10004

TRADE_RETCODE_REQUOTE

Yeniden fiyatlandırma (requote)

10006

TRADE_RETCODE_REJECT

İstek reddedildi

10007

TRADE_RETCODE_CANCEL

İstek kullanıcı tarafından iptal edildi

10008

TRADE_RETCODE_PLACED

Emir işlendi

10009

TRADE_RETCODE_DONE

İstek tamamlandı

10010

TRADE_RETCODE_DONE_PARTIAL

İsteğin sadece bir kısmı tamamlandı

10011

TRADE_RETCODE_ERROR

İstek işleme hatası

10012

TRADE_RETCODE_TIMEOUT

İstek zaman-aşımı nedeniyle iptal edildi

10013

TRADE_RETCODE_INVALID

Geçersiz istek

10014

TRADE_RETCODE_INVALID_VOLUME

Geçersiz istek hacmi

10015

TRADE_RETCODE_INVALID_PRICE

Geçersiz istek fiyatı

10016

TRADE_RETCODE_INVALID_STOPS

İstek içinde geçersiz stop (durdurma) seviyeleri

10017

TRADE_RETCODE_TRADE_DISABLED

Alım-satım işlemleri devre dışı

10018

TRADE_RETCODE_MARKET_CLOSED

Piyasa kapalı

10019

TRADE_RETCODE_NO_MONEY

İsteği tamamlayabilecek yeterli para yok

10020

TRADE_RETCODE_PRICE_CHANGED

Fiyatlar değişti

10021

TRADE_RETCODE_PRICE_OFF

İstek içinde işlenebilecek bir fiyat teklifi yok

10022

TRADE_RETCODE_INVALID_EXPIRATION

İstek içinde geçersiz zaman-aşımı tarihi

10023

TRADE_RETCODE_ORDER_CHANGED

Emir durumu değişti

10024

TRADE_RETCODE_TOO_MANY_REQUESTS

İsteklerin sıklığı fazla

10025

TRADE_RETCODE_NO_CHANGES

İstekte değişim yok

10026

TRADE_RETCODE_SERVER_DISABLES_AT

Otomatik alım-satım, sunucu tarafından devre dışı bırakıldı

10027

TRADE_RETCODE_CLIENT_DISABLES_AT

Otomatik alım-satım, müşteri terminali tarafından devre dışı bırakıldı

10028

TRADE_RETCODE_LOCKED

İstek işlem için kilitlendi

10029

TRADE_RETCODE_FROZEN

Emir veya pozisyon dondurulmuş

10030

TRADE_RETCODE_INVALID_FILL

Geçersiz emir işleme tipi

10031

TRADE_RETCODE_CONNECTION

Alım-satım sunucusuyla bağlantı yok

10032

TRADE_RETCODE_ONLY_REAL

Sadece gerçek hesaplarda işleme izin veriliyor

10033

TRADE_RETCODE_LIMIT_ORDERS

Bekleyen emirlerin sayısı sınıra ulaştı

10034

TRADE_RETCODE_LIMIT_VOLUME

Sembol üzerindeki emirler ve pozisyonlar için hacim sınırına ulaşıldı

10035

TRADE_RETCODE_INVALID_ORDER

Yanlış veya geçersiz emir tipi

10036

TRADE_RETCODE_POSITION_CLOSED

Belirtilmiş POSITION_IDENTIFIER özelliğine sahip olan pozisyon kapatılmış

10038

TRADE_RETCODE_INVALID_CLOSE_VOLUME

Kapanış hacmi mevcut pozisyon hacmini geçiyor

10039

TRADE_RETCODE_CLOSE_ORDER_EXIST

Belirtilen pozisyon için zaten bir kapanış emri var. Bu durum hedge'li sistemde ortaya çıkabilir:

  • Bir pozisyonun ters yönlü başka bir pozisyonla kapatılması denendiğinde, önceden tanımlanan bir kapanış emri mevcutsa
  • Pozisyonun tamamen veya kısmen kapatılması denendiğinde, önceden tanımlanan ve yeni yerleştirilen kapanış emirlerinin hacimlerinin mevcut pozisyon hacmini aşması durumunda

10040

TRADE_RETCODE_LIMIT_POSITIONS

Hesap üzerinde aynı anda açık olabilecek posizyonların sayısı sunucu ayarlarında sınırlandırılmış olabilir. Bu sınıra ulaşıldığında her yeni emir girişimi için sunucu tarafından TRADE_RETCODE_LIMIT_POSITIONS şeklinde bir hata dönüşü yapılır. Sınırlama, pozisyon muhasebesi sistemine bağlı olarak değişim gösterir:

  • Netleştirme — açık pozisyonların sayısı göz önüne alınır. Sınıra ulaşıldığında, pozisyon sayısını artıracak yeni emirler platform tarafından devre-dışı bırakılır. Aslında, platform yeni emirlere sadece üzerinde zaten açık pozisyon bulunan semboller için izin verir. Mevcut bekleyen emirler, gerçekleşmeleri durumunda pozisyon sayısını artırmayabilecekleri için gözardı edilir ve pozisyon sayısını artıramazlar
  • Hedge — her bekleyen emrin tetiklenmesi yeni bir pozisyonla sonuçlanacağı için, bekleyen emirler de açık pozisyonlarla birlikte değerlendirilir. Sınıra ulaşıldığında, platform bekleyen emirleri de piyasa emirleri gibi devre dışı bırakır.

10041

TRADE_RETCODE_REJECT_CANCEL

Bekleyen emir isteği reddedildi, emir iptal edildi

10042

TRADE_RETCODE_LONG_ONLY

İstek reddedildi, çünkü sembol için"sadece uzun pozisyon açılabilir" kuralı ayarlanmış (POSITION_TYPE_BUY)

10043

TRADE_RETCODE_SHORT_ONLY

İstek reddedildi, çünkü sembol için"sadece kısa pozisyon açılabilir" kuralı ayarlanmış (POSITION_TYPE_SELL)

10044

TRADE_RETCODE_CLOSE_ONLY

İstek reddedildi, çünkü sembol için"sadece pozisyon kapatılabilir" kuralı ayarlanmış

10045

TRADE_RETCODE_FIFO_CLOSE

İstek reddedildi, çünkü "Pozisyon kapatmaya yalnızca FIFO kuralına göre izin verilmektedir" bayrağı alım-satım hesabı için ayarlanmıştır (ACCOUNT_FIFO_CLOSE=true)

10046

TRADE_RETCODE_HEDGE_PROHIBITED

İşlem hesabı için "Sembol üzerinde zıt pozisyon açma devre dışıdır" kuralı ayarlandığından, istek reddedildi. Örneğin, işlem hesabında Alış pozisyonu varsa, kullanıcı Satış pozisyonu açamaz veya bekleyen satış emri giremez. Kural yalnızca hedge muhasebe sistemine sahip hesaplara uygulanır (ACCOUNT_MARGIN_MODE=ACCOUNT_MARGIN_MODE_RETAIL_HEDGING).