Teoriden pratiğe - sayfa 227

 
Maxim Dmitrievsky :

çünkü önce işlemin sonucunu kontrol etmeniz ve ardından toplam siparişleri kontrol etmeniz gerekir.

Yazarın orada, asenkron olarak çalışan, her biri kendi çiftinin çizelgesinde çalışan ve görünüşe göre birbirleriyle iletişim kurmayan birkaç özdeş danışmanı var. Bu nedenle, bir danışmanın bir pozisyon açmak için bir işlem emri gönderdiği ve emrin işlendiği veya cevabın henüz gelmediği anlar olabilir, yani. pozisyon henüz açılmadı (OrdersTotal()==0). Ve sonra başka bir danışman (belki biri değil) ayrıca bir ticaret talebi gönderir, sonuç olarak aynı anda 2 veya daha fazla pozisyon açılır. Teoride, bu tür bindirmeleri önlemek için, 1. işlem emrini gönderdikten sonra, terminalin global bir değişkeni olan bir bayrak ayarlamanız ve bir sinyal oluştururken diğer danışmanlar tarafından okumanız gerekir.

Ve bu tür durumlar, özellikle birçok çiftin neredeyse aynı anda keskin hırlamalar yaptığı haberlerde, tekrarlanabilir.

 
Alexander Sevastyanov :

Yazarın orada, her biri kendi çiftinin çizelgesinde bulunan ve görünüşe göre birbirleriyle iletişim kurmayan birkaç aynı danışmanı var. Bu nedenle, bir danışmanın bir pozisyon açmak için bir ticaret emri gönderdiği ve emrin işlendiği veya cevabın henüz gelmediği anlar olabilir, yani. pozisyon henüz açılmadı (OrdersTotal()==0). Ve sonra başka bir danışman (belki biri değil) ayrıca bir ticaret talebi gönderir, sonuç olarak aynı anda 2 veya daha fazla pozisyon açılır. Teoride, bu tür bindirmeleri önlemek için, 1. işlem emrini gönderdikten sonra, terminalin global bir değişkeni olan bir bayrak ayarlamanız ve bir sinyal oluştururken diğer danışmanlar tarafından okumanız gerekir.

Ve bu tür durumlar, özellikle birçok çiftin neredeyse aynı anda keskin hırlamalar yaptığı haberlerde, tekrarlanabilir.

Şu anda sadece 1 işlem olması gerektiğine dair bir açıklama görmedim, 1 enstrüman için birkaç açılış olduğunu düşündüm

 
Alexander Sevastyanov :

Yazarın orada, her biri kendi çiftinin çizelgesinde bulunan ve görünüşe göre birbirleriyle iletişim kurmayan birkaç aynı danışmanı var. Bu nedenle, bir danışmanın bir pozisyon açmak için bir işlem emri gönderdiği ve emrin işlendiği veya cevabın henüz gelmediği anlar olabilir, yani. pozisyon henüz açılmadı (OrdersTotal()==0). Ve sonra başka bir danışman (belki biri değil) ayrıca bir ticaret talebi gönderir, sonuç olarak aynı anda 2 veya daha fazla pozisyon açılır. Teoride, bu tür bindirmeleri önlemek için, 1. işlem emrini gönderdikten sonra, terminalin global bir değişkeni olan bir bayrak ayarlamanız ve bir sinyal oluştururken diğer danışmanlar tarafından okumanız gerekir.

Bu doğru, İskender.

Şimdi şubeyi ve bu sorunu çözmek için tüm önerileri dikkatlice okudum. Çünkü aynı anda 32 çiftin tamamı için anlaşmalar açılırsa ne olacağını dehşetle düşünüyorum... Tabii ki böyle olmamalı.

 
Alexander_K2 :

... Şu anda şubeyi ve bu sorunu çözmek için tüm önerileri okuyorum. Çünkü aynı anda 32 çiftin tamamı için anlaşmalar açılırsa ne olacağını dehşetle düşünüyorum... Tabii ki böyle olmamalı.

Yardıma ihtiyacınız varsa - iletişime geçin.

Bu arada, bir pozisyonun açılmasındaki gecikme esas olarak bir çift ping (ileri geri) ve sunucu tarafından bir ticaret talebinin işlem süresinden oluşur. Gerçek sunucuların aşırı yüklenmesine izin vermeyen ve likidite sağlayıcılarla iyi bir iletişim kanalına sahip olan iyi brokerler, birkaç milisaniyelik ticaret emri işleme süresine sahiptir. Danışmanı bir VPS sunucusuna yerleştirerek ping, yüzlerce milisaniyeden birimlere önemli ölçüde düşürülebilir. MT4 günlüğünde bir ticaret talebi göndermek, işlemek ve sunucudan yanıt almak için harcanan toplam süreyi görebilirsiniz.

 
Alexander Sevastyanov :

Yardıma ihtiyacınız varsa - iletişime geçin.

Bu arada, bir pozisyonun açılmasındaki gecikme esas olarak bir çift ping (ileri geri) ve sunucu tarafından bir ticaret talebinin işlem süresinden oluşur. Gerçek sunucuların aşırı yüklenmesine izin vermeyen ve likidite sağlayıcılarla iyi bir iletişim kanalına sahip olan iyi brokerler, birkaç milisaniyelik ticaret emri işleme süresine sahiptir. Danışmanı bir VPS sunucusuna yerleştirerek ping, yüzlerce milisaniyeden birimlere önemli ölçüde düşürülebilir. MT4 günlüğünde bir ticaret talebi göndermek, işlemek ve sunucudan yanıt almak için harcanan toplam süreyi görebilirsiniz.

böyle bir forex brokeri yok, minimum on milisaniye, ortalama 200, sıfır ping ile

 
Maxim Dmitrievsky :

Şu anda sadece 1 işlem olması gerektiğine dair bir açıklama görmedim, 1 enstrüman için birkaç açılış olduğunu düşündüm

Orada ve bir enstrüman için, önceki iş parçacığı henüz yürütmeyi bitirmediyse ve yeni bir onay işareti geldiyse, böyle bir hata ortaya çıkabilir - o zaman gerçek verileri yazmak ve okumak için tanımsız bir durum ortaya çıkar...
 
Andrei :
Orada ve bir enstrüman için, önceki iş parçacığı henüz yürütmeyi bitirmediyse ve yeni bir onay işareti geldiyse, böyle bir hata ortaya çıkabilir - o zaman gerçek verileri yazmak ve okumak için tanımsız bir durum ortaya çıkar...

hayır, böyle bir durum yok, ontic tüm mantık işlenene kadar keneleri atlar

 
Maxim Dmitrievsky :

hayır, böyle bir durum yok, ontic tüm mantık işlenene kadar keneleri atlar

Ben de öyle düşünmüştüm...

 
Andrei :

ben de düşündüm...

Bilmiyorum, hiç bulunmadım, mt4 ve mt5'te scalping yapan bir grup broker ile ticaret yaptım

 
Maxim Dmitrievsky :

Bilmiyorum, hiç bulunmadım, mt4 ve mt5'te scalping yapan bir grup broker ile ticaret yaptım

Kontrolü nasıl yaptın? Sadece mt4'te kontrol ettim ...
Neden: