Maxim Kozin : Söyle bana, sorun burada. EA, göstergelerin standart bir analizini gerçekleştirir, eğer koşul eşleşirse, bir emir açma işlevi kodda yazılır, TP'nin doğruluğunu, SL'nin fiyatın doğruluğunu kontrol ederek vb. Döngü yok. Açılıp açılmadığını kontrol ettikten sonra, bu barda ve sonraki barda açılmaması için barı hatırlıyoruz ve sonra geri dönüyoruz; Yani test cihazında her şey yolunda :) Anında yürütmeli hesaplarda sipariş de normal şekilde açılıyor. ESN hesaplarında ise birkaç saniye farkla aynı anda iki emir açılır. Bu nasıl olabilir? Ve bununla nasıl başa çıkılır? Belki bazı ek doğrulama gereklidir?
#property strictvoidOnStart ()
{
int Array[] = { 0 };
ArrayResize (Array, 5 ); // MQL5 - cannot be used for static allocated array, MQL4 - без проблем
}
Böyle bir durumda MQL4 ve MQL5'in farklı davranışı bir hata mı?
Tamam, şimdi olayların kronolojisini anlıyorum. İlk olarak, ilkbaharda test modunda başlatıldı, bu seçenek varsayılan olarak kapatıldı. Ardından sonbaharda, varsayılan parametrenin zaten etkinleştirildiği yeni bir yapı yayınladılar.
En son yapıyı güncelledikten sonra, aracılar optimizasyon sırasında ilk 1900-2100 geçişinden sonra donuyor. Güncellemeden önce her şey yolundaydı, uzmanın tüm parametreleri ve kodu aynı kaldı.
sıralama
Optimizasyon başlar . Broker Keşfi. Gerçek hesap. Araçlar: Si Splice, Vtb Splice, Si 9.16, Vtb 9.16 (diğerlerini denemedim). Aralık ay, dakika, 15 dakika. Açılış fiyatları veya OHLC.
Sonuç
Aracılar - yerel ve uzak 2000 geçişten sonra aslında donar, yüzde yüklenir, değişiklikler 10 dakikada yaklaşık yüzde 0,01 olur. 14 ajan.
Beklenen Sonuç
Önceki yapıdaki gibi optimizasyon geçişi.
ek bilgi
Hakkımda: .net programcısı, MQL 5, deneyimli
Günlükler her yere baktı. Önceki derlemenin günlükleriyle karşılaştırıldığında. Orada herhangi bir sorun veya hata yok. Hikayenin kalitesi iyi.
Beyler sorunu çözdüm. Bana tam olarak neyin yardımcı olduğunu bilmiyorum:
1) OnTick'te bazen hataya neden olan kodu düzeltme
3) Pozisyon kapanışının dahili kontrolü ile while'ın reddedilmesi
Her durumda, her şeyi düzeltmeyi başardığım için çok mutluyum ve son derlemede optimize edicide bir darboğaz olduğunu düşündüğüm için geliştiricilerden özür dilemek istiyorum.
Kod tabanındaki herkesin ön denetleme prosedüründen geçmediğini doğru anlıyor muyum? Örneğin, Nikolay Kositsin harika kodlarını her gün yayınlıyor. Bunu bu şekilde yapamam: günlerce yayın için izin vermiyorlar.
Bunu hak etmediğimi biliyorum. Yayın sürecini nasıl hızlandırabilirim?
Kod tabanındaki herkesin ön denetleme prosedüründen geçmediğini doğru anlıyor muyum? Örneğin, Nikolay Kositsin harika kodlarını her gün yayınlıyor. Bunu bu şekilde yapamam: günlerce yayın için izin vermiyorlar.
Bunu hak etmediğimi biliyorum. Yayın sürecini nasıl hızlandırabilirim?
Her şey yönetiliyor. Hızlandıramazsınız - her şey ilk gelen alır şeklindedir.
"""""""Lütfen bana MetaTrader 5'te "Doğru zaman ölçeğini" nasıl programlı olarak etkinleştireceğimi/devre dışı bırakacağımı söyleyin. Nedense bulamıyorum. CHART_SHOW_DATE_SCALEaracılığıyla- bu, anladığım kadarıyla doğru değil.
Manuel olarak, faiz şu şekilde açılır:
Terminal -> Araçlar -> Ayarlar -> Grafikler -> Kesin Zaman Çizelgesi
Test kodunu aşağıya ekliyorum. İşlem terminalinde "Hassas Zaman Ölçeği"ni manuel olarak etkinleştirirseniz, bu test göstergesi, iki çubuk arasında bağlantı noktaları olan dikey çizgi segmentleri oluşturur. Dahil değilse, çubuklar arasında değil.
Aşağıdaki ekranda, "Doğru zaman çizelgesi" etkinleştirildiğinde, çubuklar arasında test kodunun oluşturduğu çizginin dikey bir parçası vardır.
"""""""""
Lütfen söyle bana = MT-4 için bu işlevi NASIL etkinleştiririm?!
Vitaliy Kostrubko : """""""Lütfen bana MetaTrader 5'te "Doğru zaman ölçeğini" nasıl programlı olarak etkinleştireceğimi/devre dışı bırakacağımı söyleyin. Nedense bulamıyorum. CHART_SHOW_DATE_SCALEaracılığıyla- bu, anladığım kadarıyla doğru değil.
Manuel olarak, faiz şu şekilde açılır:
Terminal -> Araçlar -> Ayarlar -> Grafikler -> Kesin Zaman Çizelgesi
Test kodunu aşağıya ekliyorum. İşlem terminalinde "Hassas Zaman Ölçeği"ni manuel olarak etkinleştirirseniz, bu test göstergesi, iki çubuk arasında bağlantı noktaları olan dikey çizgi segmentleri oluşturur. Dahil değilse, çubuklar arasında değil.
Aşağıdaki ekranda, "Doğru zaman çizelgesi" etkinleştirildiğinde, çubuklar arasında test kodunun oluşturduğu çizginin dikey bir parçası vardır.
"""""""""
Lütfen söyle bana = MT-4 için bu işlevi NASIL etkinleştiririm?!
Vitaliy Kostrubko : """""""Lütfen bana MetaTrader 5'te "Doğru zaman ölçeğini" nasıl programlı olarak etkinleştireceğimi/devre dışı bırakacağımı söyleyin. Nedense bulamıyorum. CHART_SHOW_DATE_SCALEaracılığıyla- bu, anladığım kadarıyla doğru değil.
Manuel olarak, faiz şu şekilde açılır:
Terminal -> Araçlar -> Ayarlar -> Grafikler -> Kesin Zaman Çizelgesi
Test kodunu aşağıya ekliyorum. İşlem terminalinde "Hassas Zaman Ölçeği"ni manuel olarak etkinleştirirseniz, bu test göstergesi, iki çubuk arasında bağlantı noktaları olan dikey çizgi segmentleri oluşturur. Dahil değilse, çubuklar arasında değil.
Aşağıdaki ekranda, "Doğru zaman çizelgesi" etkinleştirildiğinde, çubuklar arasında test kodunun oluşturduğu çizginin dikey bir parçası vardır.
"""""""""
Lütfen söyle bana = MT-4 için bu işlevi NASIL etkinleştiririm?!
(çünkü TAM MUM ARASINA ÇİZİLMESİ GEREKİR))
MetaTrader 5'te, doğru zaman ölçeği yalnızca manuel olarak etkinleştirilebilir/devre dışı bırakılabilir.
Söyle bana, sorun burada. EA, göstergelerin standart bir analizini gerçekleştirir, eğer koşul eşleşirse, bir emir açma işlevi kodda yazılır, TP'nin doğruluğunu, SL'nin fiyatın doğruluğunu kontrol ederek vb. Döngü yok. Açılıp açılmadığını kontrol ettikten sonra, bu barda ve sonraki barda açılmaması için barı hatırlıyoruz ve sonra geri dönüyoruz;
Yani test cihazında her şey yolunda :) Anında yürütmeli hesaplarda sipariş de normal şekilde açılıyor. ESN hesaplarında ise birkaç saniye farkla aynı anda iki emir açılır. Bu nasıl olabilir? Ve bununla nasıl başa çıkılır? Belki bazı ek doğrulama gereklidir?
Böyle bir durumda MQL4 ve MQL5'in farklı davranışı bir hata mı?
Böyle bir durumda MQL4 ve MQL5'in farklı davranışı bir hata mı?
Sessiz değillerdi. Forum, bu seçeneğin az önce açıklandığı 18 sayfalık bir konuya sahiptir .
Konu ayrıntılı olarak tartışıldı ve tartışıldı: Yeni MQL5 derleyicisini x64 platformları için test etmek - hesaplamaları 2'den 10'a hızlandırmak! >>>
Terminalin sürümü ve bitliği
v.1375, 64 bit
problemin tanımı
En son yapıyı güncelledikten sonra, aracılar optimizasyon sırasında ilk 1900-2100 geçişinden sonra donuyor. Güncellemeden önce her şey yolundaydı, uzmanın tüm parametreleri ve kodu aynı kaldı.
sıralama
Optimizasyon başlar . Broker Keşfi. Gerçek hesap. Araçlar: Si Splice, Vtb Splice, Si 9.16, Vtb 9.16 (diğerlerini denemedim). Aralık ay, dakika, 15 dakika. Açılış fiyatları veya OHLC.
Sonuç
Aracılar - yerel ve uzak 2000 geçişten sonra aslında donar, yüzde yüklenir, değişiklikler 10 dakikada yaklaşık yüzde 0,01 olur. 14 ajan.
Beklenen Sonuç
Önceki yapıdaki gibi optimizasyon geçişi.
ek bilgi
Hakkımda: .net programcısı, MQL 5, deneyimli
Beyler sorunu çözdüm. Bana tam olarak neyin yardımcı olduğunu bilmiyorum:
1) OnTick'te bazen hataya neden olan kodu düzeltme
2) Optimizasyon modunda Uyku'nun yürütülmesini yasakla
3) Pozisyon kapanışının dahili kontrolü ile while'ın reddedilmesi
Her durumda, her şeyi düzeltmeyi başardığım için çok mutluyum ve son derlemede optimize edicide bir darboğaz olduğunu düşündüğüm için geliştiricilerden özür dilemek istiyorum.
Kod tabanındaki herkesin ön denetleme prosedüründen geçmediğini doğru anlıyor muyum? Örneğin, Nikolay Kositsin harika kodlarını her gün yayınlıyor. Bunu bu şekilde yapamam: günlerce yayın için izin vermiyorlar.
Bunu hak etmediğimi biliyorum. Yayın sürecini nasıl hızlandırabilirim?
Kod tabanındaki herkesin ön denetleme prosedüründen geçmediğini doğru anlıyor muyum? Örneğin, Nikolay Kositsin harika kodlarını her gün yayınlıyor. Bunu bu şekilde yapamam: günlerce yayın için izin vermiyorlar.
Bunu hak etmediğimi biliyorum. Yayın sürecini nasıl hızlandırabilirim?
CHART_SHOW_DATE_SCALE aracılığıyla - bu, anladığım kadarıyla doğru değil.
Manuel olarak, faiz şu şekilde açılır:
Terminal -> Araçlar -> Ayarlar -> Grafikler -> Kesin Zaman Çizelgesi
Test kodunu aşağıya ekliyorum. İşlem terminalinde "Hassas Zaman Ölçeği"ni manuel olarak etkinleştirirseniz, bu test göstergesi, iki çubuk arasında bağlantı noktaları olan dikey çizgi segmentleri oluşturur. Dahil değilse, çubuklar arasında değil.
Aşağıdaki ekranda, "Doğru zaman çizelgesi" etkinleştirildiğinde, çubuklar arasında test kodunun oluşturduğu çizginin dikey bir parçası vardır.
Lütfen söyle bana = MT-4 için bu işlevi NASIL etkinleştiririm?!
(çünkü TAM MUM ARASINA ÇİZİLMESİ GEREKİR))
"""""""Lütfen bana MetaTrader 5'te "Doğru zaman ölçeğini" nasıl programlı olarak etkinleştireceğimi/devre dışı bırakacağımı söyleyin. Nedense bulamıyorum.
CHART_SHOW_DATE_SCALE aracılığıyla - bu, anladığım kadarıyla doğru değil.
Manuel olarak, faiz şu şekilde açılır:
Terminal -> Araçlar -> Ayarlar -> Grafikler -> Kesin Zaman Çizelgesi
Test kodunu aşağıya ekliyorum. İşlem terminalinde "Hassas Zaman Ölçeği"ni manuel olarak etkinleştirirseniz, bu test göstergesi, iki çubuk arasında bağlantı noktaları olan dikey çizgi segmentleri oluşturur. Dahil değilse, çubuklar arasında değil.
Aşağıdaki ekranda, "Doğru zaman çizelgesi" etkinleştirildiğinde, çubuklar arasında test kodunun oluşturduğu çizginin dikey bir parçası vardır.
"""""""""
Lütfen söyle bana = MT-4 için bu işlevi NASIL etkinleştiririm?!
(çünkü TAM MUM ARASINA ÇİZİLMESİ GEREKİR))
"""""""Lütfen bana MetaTrader 5'te "Doğru zaman ölçeğini" nasıl programlı olarak etkinleştireceğimi/devre dışı bırakacağımı söyleyin. Nedense bulamıyorum.
CHART_SHOW_DATE_SCALE aracılığıyla - bu, anladığım kadarıyla doğru değil.
Manuel olarak, faiz şu şekilde açılır:
Terminal -> Araçlar -> Ayarlar -> Grafikler -> Kesin Zaman Çizelgesi
Test kodunu aşağıya ekliyorum. İşlem terminalinde "Hassas Zaman Ölçeği"ni manuel olarak etkinleştirirseniz, bu test göstergesi, iki çubuk arasında bağlantı noktaları olan dikey çizgi segmentleri oluşturur. Dahil değilse, çubuklar arasında değil.
Aşağıdaki ekranda, "Doğru zaman çizelgesi" etkinleştirildiğinde, çubuklar arasında test kodunun oluşturduğu çizginin dikey bir parçası vardır.
"""""""""
Lütfen söyle bana = MT-4 için bu işlevi NASIL etkinleştiririm?!
(çünkü TAM MUM ARASINA ÇİZİLMESİ GEREKİR))