MT5 ve iş başında hız - sayfa 6

 
A100 :

Mevcut kuyruğun tamamını veya belirli sayıda olay okunana kadar tekrarlanan bir dönüş (dönüş) yapılması önerilir. Ticaret etkinlikleri sona erdiğinde, zamanlayıcıda bir geri dönüş olacak ve tüm etkinliklere aynı anda erişebileceksiniz.

Pekala, homurdanacağım ... IMHO, elbette, ancak işleyicinin ayrı bir iş parçacığında başlatılması kendini gösteriyor. Yani, sadece sesli düşünmek...

Ve eğer kendiniz için, o zaman her şey çıkarılır ve her işleyici şöyle bir şey olacaktır:

void OnXXX{
 gOnXXXMutex.Lock();
 COnXXXOverlapped overlapped=new COnXXXOverlapped(<param_list>);
 gOnXXXOverlappedList.PushBack(overlapped);
 gOnXXXMutex.Unlock();
 DLLOnXXX( < param _list > ,overlapped,&gOnXXXMutex);
}
 
A100 :
OnTimer olmadan daha zarif bir çözüm de var...düşün

Neden işe yaramayacağını düşün.

 
fxsaber :

Neden işe yaramayacağını düşün.

Ve burada düşünmenize gerek yok - piyasa yeni açıldı, kontrol ettim - hat hesaplanana kadar her şey çalışıyor

 if (наблюдаемая позиция закрылась по тейку)

ticaret etkinlikleri kuyruğa eklendi ve okunabilir

 
A100 :

Ve burada düşünmenize gerek yok - piyasa yeni açıldı, kontrol ettim - her şey çizgiye kadar çalışıyor

ticaret etkinlikleri kuyruğa eklendi ve okunabilir

Üzgünüm, ama doğru çalışma anlayışınız için hiçbir şeyi açıklamayacağım bile. Basit şeyleri çiğnemekten bıktım.

 
fxsaber :

Üzgünüm, ama doğru çalışma anlayışınız için hiçbir şeyi açıklamayacağım bile. Basit şeyleri çiğnemekten bıktım.

İstemiyorsan açıklama yapma. sadece ekledim gösterdim

 bool HandleNextEvent (ENUM_EVENT_TYPE);

temelde hiçbir şeyi değiştirmez

 
A100 :

temelde değişmez

Çok değişiyor. Bu düşünceyi birçok kafada bariz hale getirmek (bilinmeyen bir sonuçla) çok zaman alıyor gibi görünüyor.

 
fxsaber :

Çok değişiyor. Bu düşünceyi birçok kafada bariz hale getirmek (bilinmeyen bir sonuçla) çok zaman alıyor gibi görünüyor.

Çok fazla şeye ihtiyacınız yok çünkü Einstein'ın Basitlik Teorisine göre: "Basitçe açıklayamazsanız, o zaman kendiniz tam olarak anlamıyorsunuz demektir"

 
A100 :

Çok fazla şeye ihtiyacınız yok, çünkü Einstein'ın Basitlik Teorisine göre: "Basitçe açıklayamıyorsanız, kendiniz de tam olarak anlamıyorsunuz"

Evet, başarısız oldun.

 
fxsaber :

Evet, başarısız oldun.

Ve hiçbir şey açıklamaya çalışmadım - bir örnek verdim ve sonucu aldım:

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

MT5 ve iş başında hız

A100 , 2020.05.31 23:23

... piyasa yeni açıldı, kontrol ettim - çizginin hesaplanmasından önce her şey çalışıyor

 if (наблюдаемая позиция закрылась по тейку)

ticaret etkinlikleri kuyruğa eklendi ve okunabilir

OnMain()'den, yürütülmesi sırasında meydana gelen ticaret olaylarını okuyabileceğiniz ortaya çıktı. sen aksini iddia ettin
 
A100 :

Ve hiçbir şey açıklamaya çalışmadım - bir örnek verdim ve sonucu aldım:

OnMain()'den, yürütülmesi sırasında meydana gelen ticaret olaylarını okuyabileceğiniz ortaya çıktı. sen aksini iddia ettin

Hiçbir şey anlamadın. Bir dönüş yaptığımızda oluşan kuyruğun On-fonksiyonuna giriyoruz. Bu, ilk OrderSend'in doğru ikincisini göndermesinden sonra HEMEN önleyen bir duraklamaya neden olabilir.

Döndükten sonra tüm On-fonksiyonlarını kaydederek, ilk OrderSend'in tamamlanması hakkında bir mesaj içeren On-fonksiyonunu bekleyerek bir kuyruk biriktirmeyi öneriyorsunuz. Ve sonra sadece ikinci OrderSend'i gönderin.

Aynı zamanda, ilk OrderSend sırasında bir pozisyon alımının gerçekleştirilebileceğini hala anlamıyorsunuz, ancak OnTradeTransaction, ilk OrderSend'deki son OnTradeTransaction'dan daha sonra (aynı mikrosaniyede, ancak daha sonra) sırada olacak.