Alım-Satım İsteği Yapısı (MqlTradeRequest)
Emir yerleştirme işleminin yapılması için müşteri terminali ve alım-satım sunucusu arasındaki etkileşim, alım-satım istekleri kullanılarak gerçekleştirilir. Alım-satım isteği, MqlTradeRequest tipli ön tanımlı özel bir yapı ile temsil edilir. Bu yapı, alım-satım işlemlerinin gerçekleştirilmesi için tüm gerekli alanları içerir. İstek sürecinin sonucu MqlTradeResult tipi ile temsil edilir.
struct MqlTradeRequest |
Alanların açıklaması
Alan | Açıklama |
|---|---|
action | Alım-satım işlem tipi. ENUM_TRADE_REQUEST_ACTIONS sayımının değerlerinden biri olabilir. |
magic | Uzman danışman kimliği. Alım-satım emirlerinin analitik olarak işlenmesinin düzenlenmesini sağlar. Her bir Uzman Danışman bir alım-satım isteği gönderirken kendi benzersiz kimliğini ayarlayabilir. |
order | Emir fişi. Bekleyen emirler göndermek için kullanılır. |
symbol | Emir sembolü. Emir değişimi ve pozisyon kapatma işlemleri için gerekli değildir. |
volume | Lot bazında istenen emir hacmi. İşlemin gerçek hacminin emir gerçekleştirme tipine bağlı olduğunu not edin. |
price | Emrin uygulanması gereken seviyeye ulaşan fiyat. Gerçekleştirme tipi, TRADE_ACTION_DEAL tipinden "Market Execution" (SYMBOL_TRADE_EXECUTION_MARKET) olan, sembollerin piyasa emirleri; fiyat belirlemesi gerektirmez |
stoplimit | fiyat, istenen fiyat değerine ulaştığında (bu koşul zorunludur), Limit bekleyen emrin işleme konulacağı fiyat değeri. O zamana kadar, bekleyen emirler işleme konulmaz. |
sl | Olumsuz fiyat hareketi durumundaki Stop Loss (zararı durdur) fiyatı |
tp | Olumlu fiyat hareketi durumundaki Take Profit (kar al) fiyatı |
deviation | Puan bazında belirtilen maksimum fiyat sapması |
type | Emir tipi. ENUM_ORDER_TYPE sayımının değerlerinden biri olabilir. |
type_filling | Emir gerçekleştirme tipi. ENUM_ORDER_TYPE_FILLING sayımının değerlerinden biri olabilir. |
type_time | Emir zaman aşımı tipi. ENUM_ORDER_TYPE_TIME sayımının değerlerinden biri olabilir. |
expiration | Emir zaman aşımı zamanı (ORDER_TIME_SPECIFIED tipli emirler için) |
yorum | Emir yorumu |
position | Pozisyonun fişi. Bir pozisyon kapatılırken veya değiştirilirken pozisyonu tanımlamak için girilmelidir. Pozisyon hangi emrin sonucunda açılmışsa o emrin fişi pozisyonun fişiyle aynıdır. |
position_by | Ters pozisyon fişi. Aynı sembol üzerindeki bir pozisyonu ters pozisyonla kapatmak için kullanılır. |
Hedge'li sistemde bir pozisyonu değiştirirken veya kapatırken, pozisyonun fişini belirttiğinizden emin olun (MqlTradeRequest::poisition). Fiş numarası netleştirme sisteminde de belirtilebilir ama bu sistemde pozisyonlar sembol ismlerine göre tanımlanır. |
Alım-satım işlemlerini gerçekleştirecek emirler yollamak için OrderSend() fonksiyonunun kullanılması gereklidir. Her bir alım-satım işlemi için zorunlu alanların belirtilmesi gereklidir; isteğe bağlı alanlar da ayrıca doldurulabilir. Bir alım-satım emrinin gönderilmesinde, yedi olası durum söz konusudur:
İstek İşlemi
İstek işlemi talep edilen fiyatlar üzerinden pozisyon açmaya yarayan bir alım-satım emridir. Şu 9 alanın belirtilmesini gerektirir:
- action
- symbol
- volume
- price
- sl
- tp
- deviation
- type
- type_filling
Ayrıca "magic" ve "comment" alanlarının da belirtilmesi mümkündür.
Anlık İşlem
Anlık işlem (cari fiyatlar ile alım-satım) modunda pozisyon açan bir alım-satım emridir. Şu 9 alanın belirtilmesini gerektirir:
- action
- symbol
- volume
- price
- sl
- tp
- deviation
- type
- type_filling
Ayrıca "magic" ve "comment" alanlarının da belirtilmesi mümkündür.
Piyasa İşlemi
Bu, Piyasa İşlemi modunda pozisyon açan bir alım-satım emridir. Şu 5 alanın belirtilmesini gerektirir:
- action
- symbol
- volume
- type
- type_filling
Ayrıca "magic" ve "comment" alanlarının da belirtilmesi mümkündür.
Borsa İşlemi
Borsa İşlemi modunda pozisyon açan bir alım-satım emridir. Şu 5 alanın belirtilmesini gerektirir:
- action
- symbol
- volume
- type
- type_filling
Ayrıca "magic" ve "comment" alanlarının da belirtilmesi mümkündür.
Alış pozisyonu açmak için TRADE_ACTION_DEAL işleminin bir örneği:
#define EXPERT_MAGIC 123456 // uzmanın tanıtıcı değeri (MagicNumber) |
Satış pozisyonu açmak için TRADE_ACTION_DEAL işleminin bir örneği:
#define EXPERT_MAGIC 123456 // uzmanın tanıtıcı değeri (MagicNumber) |
Pozisyon kapama için TRADE_ACTION_DEAL işleminin bir örneği:
#define EXPERT_MAGIC 123456 // uzmanın tanıtıcı değeri (MagicNumber) |
SL & TP Seviyelerinin Değiştirilmesi
Kar Al (TP) ve/veya Zarar Durdur (SL) fiyat seviyelerini değiştirmek için alım-satım emirleri. Şu 4 alanın belirtilmesini gerektirir:
- action
- symbol
- sl
- tp
- position
Bir açık pozisyonun Kr Al ve Zarar Durdur seviyelerini değiştirmek için TRADE_ACTION_SLTP işleminin örneği:
#define EXPERT_MAGIC 123456 // uzmanın tanıtıcı değeri (MagicNumber) |
Bekleyen Emir
Bekleyen emri işleme koymak için alım-satım emri. Şu 11 alanın belirtilmesini gerektirir:
- action
- symbol
- volume
- price
- stoplimit
- sl
- tp
- type
- type_filling
- type_time
- expiration
Ayrıca "magic" ve "comment" alanlarının da belirtilmesi mümkündür.
Bekleyen emir girmek için kullanılan TRADE_ACTION_PENDING işleminin bir örneği:
#property description "Bekleyen emir girme örneği" |
Bekleyen Emri Değiştir
Bir bekleyen emrin fiyatlarını değiştirmek için alım-satım emri. Şu 7 alanın belirtilmesini gerektirir:
- action
- order
- price
- sl
- tp
- type_time
- expiration
Bekleyen emirlerin fiyat seviyelerinin değiştirilmesi için TRADE_ACTION_MODIFY işleminin bir örneği:
#define EXPERT_MAGIC 123456 // uzmanın tanıtıcı değeri (MagicNumber) |
Bekleyen emri sil
Bekleyen bir emri silmek için alım-satım emri. Şu 2 alanın belirtilmesini gerektirir::
- action
- order
Bekleyen emirlerin silinmesi için bir TRADE_ACTION_REMOVE örneği:
#define EXPERT_MAGIC 123456 // uzmanın tanıtıcı değeri (MagicNumber) |
Ayrıca bakınız
Yapılar ve Sınıflar, Alım-satım fonksiyonları, Emir Özellikleri