Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Günlük zamanına bakın. Bütün bunlar bir ms'de ve ardından (aynı ms'de) bir sürü OnBook'ta oldu.
Tüm olayları sayaç olarak sayabilirsiniz, ancak görsel olarak bile daha fazla OnBook'un olduğu açıktır.
Async siparişlerini kullandığınızı yazdınız mı?
İlginç hale geldi, işlemlerin yürütülmesini hangi algoritmayı kontrol ediyorsunuz?
Andrey, OnFunctions tetiklendiğinde sayılar sabit mikrosaniyelerdir ve ardından her şey diziden birlikte yazdırılır. OnBuks, sonunda, belki daha fazla - sayacağım, ancak OnTiki'nin sıraya girmesine neden izin verdikleri açık değil. Yoksa her OnTik, OnBuk'a karşılık gelmiyor mu?
ağ dünyasına hoş geldiniz
yönetici olarak çalıştırmanın en kolay yolu: Netstat - a -b
bağlantı noktalarını ve yazılımı göreceksiniz, kurcalamak istemiyorum, ancak MT5 sunucusunun, terminalin zaten gerekli "raflara" koyduğu farklı bilgiler içeren paketleri eşzamansız olarak çalıştırdığını düşünüyorum.
Not: Bir seferde çok fazla çıktı alıyorsanız Print () ve baskıların ihmal edilmesi hakkında? - Bilgilerinizi dosyaya yazın - bu yüzden her şeyi sırayla kaydedin, ancak kapatmadan önce dosyayı kapatmayı unutmayın. Teoride, dosyadaki günlüklerdeki Print() tam olmalıdır, ancak kontrol etmedim ve genel olarak çok fazla veri görüntülenip görüntülenmediğine güvenmiyorum. Burada tartışılan https://www.mql5.com/ru/forum/329730 , çok sık "eksik baskılar" tartışılır))) - arama
Andrey, OnFunctions tetiklendiğinde sayılar sabit mikrosaniyelerdir ve ardından her şey diziden birlikte yazdırılır. OnBuks, sonunda, belki daha fazla - sayacağım, ancak OnTiki'nin sıraya girmesine neden izin verdikleri açık değil. Yoksa her OnTik, OnBuk'a karşılık gelmiyor mu?
Anladım.
Eh, yakınlarda hala bir sürü OnBook var. Böyle bir günlük ile herhangi bir sonuç çıkarmak zordur.
Async siparişlerini kullandığınızı yazdınız mı?
İlginç hale geldi, işlemlerin yürütülmesini hangi algoritmayı kontrol ediyorsunuz?
OnTradeTransaction() + işlevinde, uzun bir süre sunucu yanıtı olup olmadığını kontrol edin.
Genelde sihir üzerine.
Her sembol için bir danışman kurarken 65535 büyü ayırıyorum,
ve bir sipariş gönderirken, ona benzersiz bir sihir atıyorum,
diğer enstrümanlarla örtüşmez.
Bir sembol için başlangıç büyüsünü bu şekilde atadım
Magic - ulong (8 bayt) N-p
GAZR-3.12
Bayt[7] (yüksek bayt) - "G"
Bayt[6] - "A"
Bayt[5] - "Z"
Bayt[4] - "R"
Bayt[3] - "3"
Bayt[2] - "12"
Bayt[1] ve Bayt[0] - sihirbazlar için yedek (65535)
Bir sipariş gönderirken sihirleri şu şekilde sıralarım:
Ancak bu yalnızca FORTS için geçerlidir, çünkü sembol adları standartlaştırılmıştır !
Katma
Ve sipariş başarıyla gönderilirse, o zaman
zamanı hatırlamak
Ve sonra (OnTradeTransaction'da yanıt yoksa)
Peki, FindOrderBuyMagic işlevinin kendisi
Katma
Otomajikte "iyilik için", 1. bayta danışman tanımlayıcısını (0-255) eklemeniz gerekir,
ama henüz ihtiyacım yok, o yüzden yapmadım :)
OnTradeTransaction() + işlevinde, uzun bir süre sunucu yanıtı olup olmadığını kontrol edin.
İpucu için teşekkürler.
1. Brokerdeki ikinci ve sonraki terminaller ödenir ve sadece hisse ( hisse portföyleri ) ticareti yaptığım stratejilerim yok.
2. Birikmiş GetMicrosecondCount ()'u görüntüleyecekseniz, o zaman
OnDeinit() içinde zamanlayıcı olmadan yapın, EA çıktığında her şey yazdırılacaktır.
lütfen komisyoncuya bir bağlantı atın, kişisel hesapta yapabilirsiniz.
İlginç bir konu... :-)
ağ dünyasına hoş geldiniz
yönetici olarak çalıştırmanın en kolay yolu: Netstat - a -b
bağlantı noktalarını ve yazılımı göreceksiniz, kurcalamak istemiyorum, ancak MT5 sunucusunun, terminalin zaten gerekli "raflara" koyduğu farklı bilgiler içeren paketleri eşzamansız olarak çalıştırdığını düşünüyorum.
Not: Bir seferde çok fazla çıktı alıyorsanız Print () ve baskıların ihmal edilmesi hakkında? - Bilgilerinizi dosyaya yazın - bu yüzden her şeyi sırayla kaydedin, ancak kapatmadan önce dosyayı kapatmayı unutmayın. Teoride, dosyadaki günlüklerdeki Print() tam olmalıdır, ancak kontrol etmedim ve genel olarak çok fazla veri görüntülenip görüntülenmediğine güvenmiyorum. Burada tartışılan https://www.mql5.com/ru/forum/329730 , çok sık "eksik baskılar" tartışılır))) - arama
Igor, günlük dosyasını açmayı düşünmeyenler arasında baskı kaybı tartışılıyor, Rinat Fatkullin'in kendisi yüzlerce kez günlük dosyasında hiçbir şeyin kaybolmadığını yazdı. Ama yazınız boşuna kalmasın diye :) Çıktıyı ayrı bir dosyaya ekledim, ayrıca olası sıkışmaları atlamak için biraz farklı çıktı aldığım (tüm olayları CArrayObj'de biriktirdiğim) ikinci bir dosya da yaptım. iki dizi sipariş eden tasarımımdan, yani. Her şeyi iki diziden CArrayObj'a ittim, ardından mikrosaniyelere göre sıraladım ve ne tür bir Tick veya Book olayı notuyla çıktı aldım.
Ve evet, ve işte limanlar, ne verecek? Sadece Expert Advisor'ın olay kuyruğunu test ediyorum. Bir onay gelirse, iki olay oluşturulmalıdır - OnTick ve karşılık gelen OnBuk, OnTick her zaman kuyruğa alınır ve OnTick kuyrukta zaten bir OnTick varsa (kılavuzda olduğu gibi), yani OnTick kaybolabilir. OnTicks'in OnBooks olmadan birbiri ardına gittiği durum ancak 1. OnTics "sıra dışı" olduğunda olabilir 2. OnBuk'ta bir sistem gecikmesi var, kontrol etmek istediğim bu, bu gecikmeyi saniye cinsinden açıklayabilir, önceden meslektaşları tarafından belirlenir. Bir günde 2+ kat daha fazla OnBook var, ama neden geride kalıyorlar? Bu gecikme, paketlerin uyumsuzluğundan ve ayrıştırılmasından kaynaklanıyorsa, bu mümkündür, ancak şu ana kadar yalnızca Uzman Danışman olarak gelirlerini kontrol ediyorum. Kalan nüansları dikkate alarak nasıl protesto edilir, henüz düşünmedim.
İşte yeni kod, açılışta işin doğruluğunu test edeceğim ve bir günlüğüne başlatacağım.
ps Sebebi de şu olabilir: Eğer tik sipariş defterini değiştirmeden aynı fiyatlardan geçerse - OnBook oluşmaz mı? Hisse senedi ticaretinde uzman değilim, size kim söyleyecek. OnTick'in her zaman OnBook'u aradığını sanıyordum .
Ama merak ediyorum, topikstarter sorusuna verilen cevaplardan memnun mu?
Zaten tüm cevapları aldım ve kendim için sonuçlar çıkardım.
Sabit bir zaman diliminde bir işlem akışını analiz etmem gerekiyor - işlem fiyatları, gerçekleşen hacimler vb.
Ayrıca strateji test cihazında algoritmanın çalışmasını simüle etmeniz gerekir.
OnTick olayı bununla mükemmel bir şekilde başa çıkıyor, gerçek ticaretin sonuçları ve test cihazındaki simülasyon sonuçları küçük bir hatayla birleşiyor, bu beni tatmin ediyor.
Anlaşma akışının daha hızlı bir analizine ihtiyacınız varsa, OnTimer'ı kullanabilirsiniz.
Ve mutlaka terminale gelen her işaretin OnBook'a gitmesi gerekmez - bu, piyasa emirlerinin yürütülmesinin özellikleridir.
Ve mutlaka terminale gelen her işaretin OnBook'a gitmesi gerekmez - bu, piyasa emirlerinin yürütülmesinin özellikleridir.
Aksine, OnTick işleyicisine gelen her tik (olay) OnBook ile senkronize edilmelidir.
Bakın, OnTick işleyicisinde üç olay vardır, en iyi teklif fiyatı değişikliği, en iyi satış fiyatı değişikliği ve takas(son).
Alış fiyatı veya işlem olmadan satış fiyatı değişirse, bu bir olay olacak ve bu olaylar OnTick'e gelecektir.
Ve OnBuk da bu olayları yakalamalı, sadece kendi olaylarını, işleyicisini, aksi takdirde işleyiciler arasında teklif sorma fiyatlarında tutarsızlıklar olacaktır.
Ve son olay OnTick'e gelirse, ticaret geçmiş demektir.
Bir ticaret OnBook'ta bir olay oluşturur, çünkü bir ticaretten sonra, sipariş defterindeki bandın fiyatı veya hacmi değişir.
Bir kısır döngü ortaya çıkıyor.
Hem OnTick hem de OnBook'ta en iyi teklif ve en iyi talep olayları vardır.
Bu olaylar her zaman her iki işleyicide de eşzamanlı olmalıdır.
Ve son olayın kendisi, ticaretten sonra OnBook'ta bir olay oluşturur.
Bu nedenle, OnTick işleyicisine gelen herhangi bir olay OnBook'a eşzamanlı olarak yansıtılmalıdır.