Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 1495

 
Sergey Izhutov #:

Bu gece ben de öyle düşünüyordum, onu bir kenara koymalıyım. Henüz endekslerle arkadaş olmadım. Sadece 4'te Close > MA yazdığımı ve orada çalıştığını hayal meyal hatırlıyorum. Tutamacı yorumlamayı deneyeceğim ve sonuçların ne olduğunu göreceğim

Bir keresinde MetaEditor hata ayıklayıcısı ile "arkadaş olmam" tavsiye edilmişti. Hata ayıklayıcı ile az çok tanıştıktan sonra, soruların %99,9'u kendiliğinden kayboldu. Herhangi bir değişkeni gözleme koyuyor ve değerlerini görüyorsunuz, sonra bunları karşılaştırıyor ve kodun neresinde bir sorun olduğunu anlıyorsunuz. Çok kullanışlı bir araç. Tavsiye ederim.

Saygılarımla, Vladimir.

 
MrBrooklin #:


Teşekkürler, bir göz atacağım)

 
Test cihazını bir süreliğine küçültürseniz, çalışma hızlanır.
 
Ivan Ivanov #:
Test cihazını bir süreliğine küçültürseniz, çalışma hızlanır.

Bu hep böyle olmuştur.

 
Yardım , göstergede test cihazında başlatılırsa çalışmıyor
void OnDeinit(const int Reason)

Göstergeden testin tamamlandığını anlamanın başka bir yolu var mı?

 
EgorKim #:
Lütfen, gösterge test cihazında çalışıyorsa,
çalışmaz.

Göstergeden testin tamamlandığını bilmenin başka bir yolu var mı?

Normal değil, hayır. Standart değil, görsel olarak görmek daha kolay. Test uzmanının günlük dosyası büyümeyi durdurmalıdır, hala takip edilmesi gereken bir görevdir. Testin tamamlanma tarihini bulmak da kolay değildir.
 
Valeriy Yastremskiy #:
Normal değil. Standart değil, görsel olarak görmek daha kolay. Test uzmanının günlük dosyası büyümeyi durdurmalı, onu takip etmek zor. Test bitiş tarihini bulmak da kolay değil.

Tik gelişi?

 
Artyom Trishkin #:

Tik tak geliyor mu?

zaman emüle edilir)))) ve nasıl kontrol edilir?, test cihazının işi biter! 5ka'daki test cihazı benim için olduğu gibi)))) ve tabii ki göstergelerde ondeinit çağırmıyor sadece üzüntü.

 

Meta Düzenleyici, aşağıdaki kodda PrevClose değişkenini atarken'ArrayMinimum' - sabit değiştirilemez ve 'ArrayMaximum' - sabit değiştirilemez hatalarının yanı sıra '=' - yasadışı işlem kullanımı hatasını üretir:

ulong copied = CopyTicksRange(Symbol(), ticks, COPY_TICKS_INFO, t0, t1); 
ArrayResize(ticks, copied, 100000);
double PrevClose = ticks[copied-1]; // Получаем последний элемент массива как значение PrevClose
double highestHigh = ArrayMaximum(ticks, 0, copied - 1); // Находим максимальное значение в массиве ticks
double lowestLow = ArrayMinimum(ticks, 0, copied - 1); // Находим минимальное значение в массиве ticks
 
maxvoronin74 'ArrayMinimum' - sabit değiştirilemez ve 'ArrayMaximum' - sabit değiştirilemez hatalarının yanı sıra '=' - yasadışı işlem kullanımı hatasını üretir:

"ticks dizisindeki maksimum değeri bulun"- neyin maksimum değerini buluyoruz?

ticks[copied-1].bid veya ticks[copied-1].flags

Sadece şaka)))))


Büyük olasılıkla CopyTicks'i CopyRates ile karıştırdınız, ancak orada da bir dizi yapıya sahipsiniz ve yapının hangi öğesine ihtiyacınız olduğunu belirtiyorsunuz.

double PrevClose = rates[copied-1].close;

Kodunuzda fazladan bir satır var.

ArrayResize(ticks, copied, 100000);
Buna ihtiyacınız yoktur çünkü CopyTicks ve CopyRates, kopyalama sırasında dizi boyutunu kendi başına dağıtır.