Birkaç noktayı açıklığa kavuşturmak istiyorum.
1. Makale, OrderCheck() fonksiyonunun bir isteğin birincil kontrolü için tasarlandığını ve OrderCheck() fonksiyonunun yardımıyla birincil kontrolün terminalde değil, doğrudan sunucu tarafından (sunucu tarafında) gerçekleştirildiğini ima ediyor. Bu doğru mudur?
- www.mql5.com
2. Referans kitapta OrderSend() fonksiyonu için "başarılı bir temel yapı kontrolü durumunda true döndürülür" ifadesi yer almaktadır. Buradan, talebin doğruluğu kontrol edildikten hemen sonra true değerinin döndürüldüğü sonucuna varabiliriz.
Ancak notta biraz daha aşağıda "emir işlem sunucusu tarafından başarıyla kabul edilirse OrderSend() işlevi true değerini döndürür" ifadesi yer almaktadır. Bu not, true değerinin yalnızca sunucu emri kabul ettikten sonra döndürüldüğünü ima etmektedir.
Bu arada, talebin doğruluğunun zaten kontrol edildiği ancak aracı kurum tarafından henüz kabul edilmediği durumlar olabilir. Bu nedenle, lütfen OrderSend() fonksiyonunun hangi noktada true döndürdüğünü açıklığa kavuşturun - talebin doğruluğu kontrol edildikten hemen sonra mı yoksa yalnızca sunucu emri kabul ettikten sonra mı?
- www.mql5.com
Birkaç noktayı açıklığa kavuşturmak istiyorum.
1. Makale, OrderCheck() işlevinin bir isteğin birincil kontrolü için tasarlandığını ve OrderCheck() işlevi yardımıyla birincil kontrolün terminalde değil, doğrudan sunucu tarafından (sunucu tarafında) gerçekleştirildiğini ima ediyor. Bu doğru mu?
Anladığım kadarıyla işlem istemci terminal tarafında gerçekleştiriliyor.
Aşağıdaki yazı da bunu doğruluyor.
3. Makalede, "ticaret sunucusu tarafından alınan taleplerin, piyasa fiyatlarında bekleyen veya anında gerçekleştir ilebilen emirler şeklinde saklandığı" belirtilmektedir.
Bildiğimiz gibi, Anında Gerçekleştirme üç piyasa emri gerçekleştirme modundan biridir. O halde şu soru ortaya çıkıyor: Piyasa Emri ve Talep Gerçekleştirme modlarında piyasa emirlerine ne olur? "İşlem sunucusu tarafından alınan talepler, piyasa fiyatlarında bekleyen veya anında gerçekleşen piyasa emirleri olabilen emirler olarak saklanır" şeklinde bir genelleme yapabilir miyiz?
Anladığım kadarıyla işlem istemci terminal tarafında gerçekleştiriliyor.
Bu durum aşağıdaki gönderi tarafından da teyit edilmektedir.
Tamam, resmi bir yanıt beklememizi öneririm. Ek bilgi için her zamanki gibi teşekkürler. Ben de daha önce böyle düşünmüştüm.
Ekleme. Bu soruda kafamı karıştıran şeyin ne olduğunu bile fark ettim. Makalede "birincil işleme" ifadesi OrderCheck() işlevine referans olarak verilmiş ve ben de bu referansı herhangi bir öngörüde bulunmadan olduğu gibi almışım.
Birkaç noktayı açıklığa kavuşturmak istiyorum.
1. Makale, OrderCheck() işlevinin bir isteğin birincil kontrolü için tasarlandığını ve OrderCheck() işlevi yardımıyla birincil kontrolün terminalde değil, doğrudan sunucu tarafından (sunucu tarafında) gerçekleştirildiğini ima ediyor. Bu doğru mu?
Makale ilk kontrolün terminalde yapıldığını söylüyor. OrderCheck() de terminalde çalışır, sunucuya hiçbir şey gönderilmez.
Makale şöyle diyor: "bir istek gönderildikten sonra sunucuya ulaşır ve ilk kontrolden geçer".
Ayrıca makalede "birincil işlem" ifadesinin OrderCheck() işlevine referans olarak verilmesi kafamı karıştırdı, bu yüzden bu referansı ikinci bir düşünce olmadan kabul ettim.
2.
Bu arada, talebin zaten doğruluk açısından kontrol edildiği ancak henüz aracı tarafından kabul edilmediği durumlar olabilir. Bu nedenle, lütfen OrderSend() fonksiyonunun tam olarak hangi anda true döndürdüğünü açıklığa kavuşturun - talebin doğruluğunu kontrol ettikten hemen sonra mı yoksa yalnızca sunucu emri kabul ettikten sonra mı?
Doğru istek sunucu tarafından kabul edilir ve yanıt MqlTradeResult yapısının retcode alanında terminale gönderilir - https://www.mql5.com/tr/docs/constants/errorswarnings/enum_trade_return_codes.
Kod | Tanımlayıcı | Açıklama |
10008 | TRADE_RETCODE_PLACED | Sipariş verildi |
- www.mql5.com
Doğru talep sunucu tarafından kabul edilir ve cevap MqlTradeResult yapısının retcode alanında terminale gönderilir - https://www.mql5.com/tr/docs/constants/errorswarnings/enum_trade_return_codes.
| Kod | Tanımlayıcı | Açıklama |
| 10008 | TRADE_RETCODE_PLACED | Sipariş verilir |
Ayrıca, makalede OrderCheck() işlevine referans olarak "ilk işleme" ifadesinin verilmesi kafamı karıştırdı ve bu referansı geriye dönüp bakmadan olduğu gibi kabul ettim.
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Yeni makale MetaTrader 5 Alım Satım Olayları yayınlandı:
Bir alım satım hesabının mevcut durumunun izlenmesi, açık pozisyonların ve emirlerin kontrol edilmesini gerektirir. Bir alım satım sinyali bir yatırım haline gelmeden önce, müşteri terminalinden alım satım sunucusuna bir istek olarak gönderilmeli ve işlenmeyi bekleyen emir kuyruğuna yerleştirilmelidir. Alım satım sunucusundan gelen bir isteği kabul etmek, süresi dolduğunda silmek veya bir anlaşma yürütmek - tüm bu eylemlerin ardından alım satım etkinlikleri gelir ve alım satım sunucusu, terminali onlar hakkında bilgilendirir.
Birden fazla olaya başka bir örnek ise gerekli hacmin tek bir karşı tekliften elde edilememesi durumunda tek bir emir bazında birden fazla yatırımın gerçekleştirilmesidir. Alım satım sunucusu, tüm olaylarla ilgili mesajları oluşturur ve müşteri terminaline gönderir. Bu nedenle OnTrade() fonksiyonu, tek bir olay gibi görünen bir olay için birkaç kez çağrılabilir. Bu, MetaTrader 5 platformunda alım satım alt sisteminin emir işleme prosedürüne basit bir örnektir.
Bir örnek verelim: 10 lot EURUSD alımı için bekleyen bir emir gerçekleşmeyi beklerken, 1, 4 ve 5 lotluk satış için zıt teklifler ortaya çıkıyor. Bu üç istek birlikte gerekli 10 lotluk hacmi verir, bu nedenle emir türü parça parça alım satım işlemine izin veriyorsa bunlar tek tek yürütülür.
4 emrin yürütülmesi sonucunda sunucu mevcut karşıt istekler bazında 1, 4 ve 5 lotluk 3 yatırım gerçekleştirecektir. Peki bu durumda kaç alım satım olayı oluşturulur? Bir lot satışı için ilk ters talep, 1 lotluk satışın gerçekleşmesine yol açacaktır. Bu, ilk Alım Satım olayıdır (1 lotluk yatırım). Ancak 10 lotluk alım için bekleyen emir de değiştirilir ve 9 lotluk EURUSD alma emrine dönüşür. Bekleyen emrin hacmindeki değişiklik, ikinci Alım Satım olayıdır (bekleyen bir emrin hacmindeki değişiklik).
Yazar: MetaQuotes