- Tarih Tipinin Yapısı
- Giriş Parametrelerinin Yapısı
- Tarihsel Veri Yapısı
- Piyasa Derinliği Yapısı
- Alım-Satım İsteği Yapısı
- Sonuç Kontrolü İsteğinin Yapısı
- Bir Alım-Satım İsteği Sonucunun Yapısı
- Alım-Satım Faaliyeti Yapısı
- Cari fiyatların Yapısı
- Veri Yapıları
Bir Alım-Satım İsteği Sonucunun Yapısı (MqlTradeResult)
Alım-satım isteğinin bir sonucu olarak, a trade server returns data about the trade request processing result as a special predefined structure of MqlTradeResult type.
struct MqlTradeResult
|
Alanların açıklaması
Alan |
Açıklama |
---|---|
retcode |
Bir alım-satım sunucusunun dönüş kodu |
deal |
İşlem fişi (bir işlem gerçekleştirilmişse). Bu, TRADE_ACTION_DEAL tipinde bir alım-satım işlemi için mevcut bulunmaktadır |
order |
Emir fişi, eğer bir fiş yerleştirilmişse. TRADE_ACTION_PENDING tipinde bir alım satım işlemi için mevcuttur |
volume |
Aracı kurum tarafından onaylanan işlem hacmi. Emir tipine bağlıdır |
price |
Aracı kurum tarafından onaylanan işlem fiyatı. Alım-satım isteğinin ve/veya alım-satım işleminin deviation alanına bağlıdır |
bid |
Mevcut piyasa satış fiyatı (yeniden fiyatlandırma değeri) |
ask |
Mevcut piyasa alış fiyatı (yeniden fiyatlandırma değeri) |
yorum |
Aracı kurumun işlem yorumu (ön tanımlı olarak işlem açıklaması ile doldurulur bir alım-satım sunucusunun dönüş kodu) |
request_id |
İstek kimliği, alım-satım sunucusuna gönderim yapılırken terminal tarafından ayarlanır. |
Alım-satım işlemi, MqlTradeResult tipinde bir değişkene dönüş yapar; bu değişken, alım-satım işlemleri gerçekleştirmek için OrderSend() fonksiyonuna geçirilir.
Terminal, request_id alanındaki istek kimliğini, OrdersSend() ve OrderSendAsync() fonksiyonlarını kullanarak alım-satım sunucusuna gönderirken düzeltir. Terminal, gerçekleştirilmiş faaliyetler hakkında alım-satım sunucusundan mesajlar alır ve bunları OnTradeTransaction() fonksiyonu ile ibraz eder, fonksiyon şu bileşenleri parametre olarak içerir:
- MqlTradeTransaction yapısındaki alım-satım faaliyetinin tarifi;
- OrderSend() veya OrdersSendAsync() fonksiyonlarından gönderilen alım-satım isteğinin tarifi (açıklaması). İsteğin kendisi ve request_id terminal belleğinde saklanırken, istek kimliği terminal tarafından sunucuya gönderilir;
- Alım-satım işleminin gerçekleştirilmesi, bu isteğin kimliğini taşıyan request_id alanını içeren MqlTradeResult yapısıyla sonuçlanır.
OnTradeTransaction() fonksiyonu üç giriş parametresi alır ama son ikisi sadece TRADE_TRANSACTION_REQUEST tipi faaliyetler için analiz edilmelidir. Diğer tüm durumlarda, alım-satım isteğinin ve onun gerçekleşme sonucunun verileri doldurulmaz. Parametrelerin analiz örnekleri, Bir Alım-Satım İsteğinin Yapısı başlığı altında bulunabilir.
request_id alanının terminal tarafından alım-satım isteği için - istek sunucuya gönderirken - ayarlanması, temel olarak OrderSendAsync() asenkron fonksiyonu ile çalışmak için düşünülmüştür. Bu tanımlayıcı (kimlik), gerçekleşen eylem (OrderSend veya OrderSendAsync fonksiyonlarının çağrısı) ile bu eylemin OnTradeTransaction() fonksiyonuna gönderilen sonucunun ilişkilendirilmesini sağlar.
Örnek:
//+------------------------------------------------------------------+
|