1485 derlemesinden sonra CopyTicks() ve CopyTicksRange()'i geliştirmeye yönelik hatalar ve öneriler. - sayfa 3

 
MetaQuotes Software Corp. :
Mesaj için teşekkürler, hata düzeltildi - şimdi göstergelerde çalışacak. Güncelleme yakında yayınlanacak.
Lütfen söyleyin, CopyTicksRange() aracılığıyla kene alma hızı artacak mı?
 
Yapı 1491 - ME'deki dil belgeleri güncellenmedi. CopyTicksRange() ile ilgili bilgiler sadece web sitesi aracılığıyla edinilebilir!
 
Test cihazında, o anda (yapı 1495) bir "paket"ten (aynı zamana ve ms doğruluğuna sahip) işaretler birer birer verilir. Ve test cihazı her birini ayrı ayrı hesaplar. Gerçekte, bu olamaz.
 

Görünüşe göre doğru yere geldim. Sevgili forum kullanıcıları, problemle uzun süre kendi başıma uğraştım fakat bir türlü çözemedim. umarım yardım edersin

Durum şu: komisyoncu Finam (Whotrades), MMA hesabı. 26 Rus menkul kıymeti ile çalışıyoruz, yani. 26 pencere açıktır ve her birine danışmanın bir kopyası eklenmiştir. Hata ayıklama bilgilerini yönetmek ve yayınlamak için ortak bir pencere oluşturan da dahil olmak üzere ortak bir C++ kitaplığı kullanırlar.

Bazı strateji parametreleri doğrudan kene beslemesine bağlıdır, bu nedenle tüm kenelerin algoritmadan geçmesi çok önemlidir. Elbette, OnTick()'in her tick üzerinde çalışmadığını ve her zaman, hatta bir tick üzerinde bile çalışmadığını öğrenmek sürpriz oldu. Sonuç olarak CopyTicks ve CopyTicksRange timer fonksiyonlarını kullanma ihtiyacı doğdu. Dikkate değer çabalar (ve hiçbir yerde yazılmamış), datetime * 1000'in 1970'den bu yana geçen milisaniye sayısı olduğunu, ancak asıl mesele olmadığını bulmaktı.
Şu anda sahip olduğumuz şeyin sonu, OnTimer'da sabah 10'dan başlayarak en son onay verilerini istemeye başlayan bir kod bloğudur.

Sorun şu ki, bazı nedenlerden dolayı, bu önemlidir, metatrader'ı yeniden başlattıktan sonraki ilk gün , bazı menkul kıymetler için, onay verileri yalnızca sabah 11'den itibaren başlar (ver veya al), ertesi gün - her şey yolunda, her şey başlar sabah 10'da. Bu menkul kıymetlerin listesi hiçbir şekilde sabit değildir, bazı ilk günlerde bazı menkul kıymetler için keneler olmayabilir, bazılarında - diğerleri için.
Sorunun kene önbelleğe alma olduğunu düşündüm. Sorunun yanlış zamanlamayla ilgili olduğunu düşündüm ama öyle olmadığı ortaya çıktı. Ayrıca, eğer CopyTicks(Range) veri döndüremezse, bir hata (-1) döndürebilir ve her şey netleşir gibi görünüyor. Ancak 0 döndürülür, dizi de sıfır boyutludur ve GetLastError, ERR_SUCCESS değerini döndürür. Onlar. sanki bu keneler yokmuş gibi, ki bu garip çünkü bir pencerede bir kasette mevcutlar.

zarardayım. Umarım bana ne yapacağımı veya en azından hangi yöne hareket edeceğimi söyleyebilirsiniz.

Kod vermeniz gerekiyorsa, bir sonraki yorumla birlikte "ekstra" komutlardan temizleyip yayınlayacağım.

Teşekkür ederim!

 
antru :

Evet, kod gerekli. Gerçek hesap mı, demo hesap mı? Hangi terminal yapısı?

Dürüst olmak gerekirse, burada komisyoncunuzla çalışan biri var mı bilmiyorum. Burada hiç kimse gönderinize yanıt vermiyorsa - ServiceDesk'e yazın , doğrudan mesajınıza giden bir bağlantıyla yapabilirsiniz. Ayrıca bir kod sağlamaları gerekecek.

 
antru :
Bu tür sorularla, çoğaltma koduyla hemen servis masasına gitmek daha iyidir.
 
Alexey Kozitsyn :

Evet, kod gerekli. Gerçek hesap mı, demo hesap mı? Hangi terminal yapısı?

Dürüst olmak gerekirse, burada komisyoncunuzla birlikte çalışan biri var mı bilmiyorum. Burada hiç kimse gönderinize yanıt vermiyorsa - ServiceDesk'e yazın , doğrudan mesajınıza giden bir bağlantıyla yapabilirsiniz. Ayrıca bir kod sağlamaları gerekecek.

Gerçek hesap, son yapı, 1525. Sanırım böyle yapılır. Strateji algoritması olmadan kene almak için çıplak kod yapın. Çalıştır. Bu da işe yaramazsa, servis masasına gidin. Çalışırsa - belki de evde böcekleri arayın.

Servis masasından bahsettiğiniz için teşekkür ederim, bunun mümkün olduğunu bilmiyordum. Metaquotes sitesine baktım, tüm bağlantılar orada, bunlar Kıbrıs ve Çin'deki telefonlar, tek bir e-posta değil.

 
Andrey Khatimlianskii :
Bu tür sorularla, çoğaltma koduyla hemen servis masasına gitmek daha iyidir.
Teşekkür ederim!
 
antru :

Gerçek hesap, son yapı, 1525. Sanırım böyle yapılır. Strateji algoritması olmadan kene almak için çıplak kod yapın. Çalıştır. Bu da işe yaramazsa, servis masasına gidin. Çalışırsa - belki de evde böcekleri arayın.

Servis masasından bahsettiğiniz için teşekkür ederim, bunun mümkün olduğunu bilmiyordum. Metaquotes sitesine baktım, tüm bağlantılar orada, bunlar Kıbrıs ve Çin'deki telefonlar, tek bir e-posta değil.

Tam olarak ihtiyaç duyulan şey budur, bu durumda stratejiniz yalnızca sorunu tanımlamaya müdahale edecektir. Keneleri nasıl talep ettiğinizin tam olarak koduna ihtiyacınız var.
 
antru :

Görünüşe göre doğru yere geldim. Sevgili forum kullanıcıları, problemle uzun süre kendi başıma uğraştım fakat bir türlü çözemedim. umarım yardım edersin

Durum şu: komisyoncu Finam (Whotrades), MMA hesabı. 26 Rus menkul kıymeti ile çalışıyoruz, yani. 26 pencere açıktır ve her birine danışmanın bir kopyası eklenmiştir. Hata ayıklama bilgilerini yönetmek ve yayınlamak için ortak bir pencere oluşturan da dahil olmak üzere ortak bir C++ kitaplığı kullanırlar.

Bazı strateji parametreleri doğrudan kene beslemesine bağlıdır, bu nedenle tüm kenelerin algoritmadan geçmesi çok önemlidir. Elbette, OnTick()'in her tick üzerinde çalışmadığını ve her zaman, hatta bir tick üzerinde bile çalışmadığını öğrenmek sürpriz oldu. Sonuç olarak CopyTicks ve CopyTicksRange timer fonksiyonlarını kullanma ihtiyacı doğdu. Dikkate değer çabalar (ve hiçbir yerde yazılmamış), datetime * 1000'in 1970'den bu yana geçen milisaniye sayısı olduğunu, ancak asıl mesele olmadığını bulmaktı.
Şu anda sahip olduğumuz şeyin sonu, OnTimer'da sabah 10'dan başlayarak en son onay verilerini istemeye başlayan bir kod bloğudur.

Sorun şu ki, bazı nedenlerden dolayı, bu önemlidir, metatrader'ı yeniden başlattıktan sonraki ilk gün , bazı menkul kıymetler için, onay verileri yalnızca sabah 11'den itibaren başlar (ver veya al), ertesi gün - her şey yolunda, her şey başlar sabah 10'da. Bu menkul kıymetlerin listesi hiçbir şekilde sabit değildir, bazı ilk günlerde bazı menkul kıymetler için keneler olmayabilir, bazılarında - diğerleri için.
Sorunun kene önbelleğe alma olduğunu düşündüm. Sorunun yanlış zamanlamayla ilgili olduğunu düşündüm ama öyle olmadığı ortaya çıktı. Ayrıca, eğer CopyTicks(Range) veri döndüremezse, bir hata (-1) verebilir ve her şey netleşir gibi görünüyor. Ancak 0 döndürülür, dizi de sıfır boyutludur ve GetLastError, ERR_SUCCESS değerini döndürür. Onlar. sanki bu keneler yokmuş gibi, ki bu garip çünkü bir pencerede bir kasette mevcutlar.

zarardayım. Umarım bana ne yapacağımı veya en azından hangi yöne hareket edeceğimi söyleyebilirsiniz.

Kod vermeniz gerekiyorsa, bir sonraki yorumla birlikte "ekstra" komutlardan temizleyip yayınlayacağım.

Teşekkür ederim!

EA, OnTisk ve CopyTicks'te tik almanın tüm olası yollarını kullanmayı deneyin ve ardından sonuçları karşılaştırın ve en uygun olanı kullanın.