"MetaTrader 5 Alım Satım Olayları" makalesi için tartışma - sayfa 2

 
Rosh:
Makale ilk kontrolün terminalde yapıldığını söylüyor. OrderCheck() de terminalde çalışır, sunucuya hiçbir şey gönderilmez.
İşte bir tane daha: "geçersiz istek sunucu tarafında ilk kontrolü geçemiyor".
 
Yedelkin:

Makale şöyle diyor: "istek gönderildikten sonra sunucuya ulaşır ve ilk doğrulamaya tabi tutulur".

Kelimenin tam anlamıyla şunları söylüyor:

Önemli: her istek, işlem sunucusuna gönderilmeden önce istemci terminalinde doğruluk açısından önceden kontrol edilir. Muhtemelen yanlış talepler (bir milyon lot satın al veya negatif fiyattan satın al) terminalin dışına çıkmaz. Bu, mql5-programında bir hata olması durumunda ticaret sunucularını toplu yanlış taleplerden korumak için yapılır.

Bir talep gönderildikten sonra işlem sunucusuna ulaşır ve ilk kontrolü geçer:

 
Rosh:
Benim de kafamı karıştırdınız. "İlk kontrol" kombinasyonundan referansı kaldırdım.
:) Makaleyi yeni okuyorum. Yanlış bir şey varsa özür dilerim. Ancak sunucu tarafındaki ilk kontrolle ilgili makaleden doğrudan iki bağlantı vermiştim.
 
Yedelkin:
Yani OrderSend() fonksiyonunun yalnızca sunucu siparişi kabul ettikten (yerleştirdikten) sonra true değerini döndürdüğünü mü söylüyorsunuz?
Bu, talebin kabul edildiği anlamına gelir. Ayrıca bayi, ticaret platformu vb. tarafından reddedilebilir.
 
Rosh:

Aynen şöyle yazıyor:

Önemli: her talep, işlem sunucusuna gönderilmeden önce istemci terminalinde doğruluk açısından önceden kontrol edilir. Muhtemelen yanlış talepler (bir milyon lot satın alma veya negatif fiyattan satın alma) terminalin dışına çıkmaz. Bu, mql5-programında bir hata olması durumunda ticaret sunucularını toplu yanlış isteklerden korumak için yapılır.

Bir istek gönderdikten sonra, ticaret sunucusuna ulaşır ve ilk kontrolü geçer:

Daha sonra bunu üç kontrole bölmek gerekir:

1) terminal tarafından kaba kontrol;

2) OrderCheck()$ fonksiyonunu kullanarak terminal tarafında kontrol

3) sunucu tarafı kontrolü.

"Birincil kontrol" kavramının neyi ifade ettiği hala belirsizdir.

 

Rosh:
Это означает, что запрос принят. Дальше он может быть отвергнут дилером, торговой площадкой и так далее.

TAMAM. Siparişin bundan sonraki akıbeti umurumda değil. Sözlerinizden (soru 2) OrderSend() fonksiyonunun talebin doğruluğunu kontrol ettikten hemen sonra true değerini döndüremeyeceği sonucunu çıkarıyorum. true değeri ancak sunucu siparişi kabul ettikten sonra döndürülür. Bu doğru mu? O zaman referans kitabında "başarılı bir temel yapı kontrolü durumunda true döndürülür" bilgisinin tam olarak doğru olmadığı ortaya çıkıyor.
 
Yedelkin:
TAMAM. Siparişin bundan sonraki akıbeti umurumda değil. Sözlerinizden (soru 2) OrderSend() fonksiyonunun talebin doğruluğunu kontrol ettikten hemen sonra true değerini döndüremeyeceği sonucunu çıkarıyorum. true değeri ancak sunucu siparişi kabul ettikten sonra döndürülür. Bu doğru mu? O zaman referans kitapta "yapıların başarılı bir temel kontrolü durumunda true döndürülür" bilgisinin tam olarak doğru olmadığı ortaya çıkıyor.
Temel kontrol ≡ Sunucu tarafında birincil kontrol
 
Rosh:
Temel kontrol ≡ Birincil sunucu tarafı kontrolü

Yukarıda 2. soruyu formüle ederken "bir talebin doğruluğunun kontrol edildiği ancak henüz broker tarafından kabul edilmediği durumlar olabilir" diye yazmıştım. Kimse bu ifadeye karşı çıkmıyor gibi görünüyor. Bu nedenle, tanımlarınızı dikkate alarak soru 2'yi biraz yeniden ifade edeceğim:

OrderSend() işlevi tam olarak hangi anda true değerini döndürür - talebin doğruluğunun temel kontrolünden (sunucu tarafında ilk kontrol) hemen sonra mı yoksa yalnızca emir sunucu tarafından kabul edildikten sonra mı?

Aslında şu soruyla ilgileniyorum: OrderSend() fonksiyonu sipariş geçtiğinde tam olarak hangi aşamada (terminalden sunucuya) true sinyali veriyor? "Temel kontrol" mü yoksa "Temel kontrol + siparişin kabulü (yerleştirilmesi)" mi? Yoksa sadece true 'nun alınmasıyla gerekli sonuca varmak imkansız mı?

 
Yedelkin:

Yukarıda 2. soruyu formüle ederken "bir talebin doğruluğunun kontrol edildiği ancak henüz broker tarafından kabul edilmediği durumlar olabilir" diye yazmıştım. Kimse bu ifadeye karşı çıkmıyor gibi görünüyor. Bu nedenle, tanımlarınızı dikkate alarak 2. soruyu biraz değiştireceğim:

OrderSend() fonksiyonu tam olarak hangi anda true değerini döndürür - talebin doğruluğunun temel kontrolünden (sunucu tarafında birincil kontrol) hemen sonra mı yoksa yalnızca sipariş sunucu tarafından kabul edildikten sonra mı?

Elbette, sunucu kabul ettikten sonra - bu çok açık. Ayrıca, fonksiyonun adı OrderSEND'dir.
[Silindi]  
Yedelkin:

Aslında şu soruyla ilgileniyorum: OrderSend() fonksiyonunun hangi aşaması (terminalden sunucuya) true ile işaretlenir? "Temel kontrol" mü yoksa "Temel kontrol + siparişin kabulü (yerleştirilmesi)" mi? Yoksa sadece true 'nun alınmasıyla gerekli sonuca varmak imkansız mı?
Bence, sadece true 'ya dayanarak sonuç çıkarmamalısınız, sunucu yanıt kodunu da analiz etmelisiniz (ve bana göründüğü gibi ikincisi daha yüksek bir önceliktir)...