MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 131

 
Vitaly Muzichenko :

Her nasılsa OnCalculate (...) olayına dokunamıyorum, herhangi bir işleve dokunabilirsiniz, ancak buna dokunamıyorum. Bir zamanlayıcı bir seçenek değildir, göstergeye çok sık ihtiyaç duyulmaz ve optimal olarak - bir grafik öğesine tıklayarak.

Nasıl uygulanır?

Göstergede, olay işleyicide, nesneye bir tıklama yakalayın ve ardından yeni başlatma sırasında olduğu gibi gösterge arabelleklerini yeniden hesaplayın. Ve OnCalculate'i çekmenize bile gerek yok
 
-Aleks- :

Lütfen bize CPU'yu yükleyen kodda kaynak açısından en yoğun yerleri nasıl doğru bir şekilde arayacağımızı söyleyin?

Düzenleyiciden kod profili oluşturmayı çalıştırın.
 
Artyom Trishkin :
Düzenleyiciden kod profili oluşturmayı çalıştırın.

Teşekkürler, ancak çevrimdışı modda nasıl yapılır - izinli bir günde?

 
Sorun ne olabilir?

Kod parçası:

for(i=1; i<=Barlar; i++)
{
if(Aç[i]-Kapat[i]==0)

Test ederken, hata ayıklayıcı if satırında bir hata verir. Dizi aralık dışında.

Şimdiden teşekkürler.
 
Andy-D :
Sorun ne olabilir?

Kod parçası:

for(i=1; i<=Barlar; i++)
{
if(Aç[i]-Kapat[i]==0)

Test ederken, hata ayıklayıcı if satırında bir hata verir. Dizi aralık dışında.

Şimdiden teşekkürler.
for (i= 1 ; i< Bars ; i++)
  {
   if ( Open [i]- Close [i]== 0 )
     {

     }
  }
...
 
Sergey Gritsay :
for (i= 1 ; i< Bars ; i++)
  {
   if ( Open [i]- Close [i]== 0 )
     {

     }
  }
...
Yardım ettiğin için teşekkürler, Okaz. "<=" koymak imkansızdı? Garip olmasına rağmen. Nedenini anlamadım. Artı işareti nereye koyulur?
 
Andy-D :
Yardım ettiğin için teşekkürler, Okaz. "<=" koymak imkansızdı? Garip olmasına rağmen. Nedenini anlamadım. Artı işareti nereye koyulur?
Dizi indeksleme 0'da başlar ve Bars-1'de biter (bu durumda). Bu nedenle, Bars değeri bir dizi taşması ile sonuçlanır.
 
Andy-D :
Yardım ettiğin için teşekkürler, Okaz. " < = " koyamadınız mı? Garip olmasına rağmen. nedenini anlamadım . Artı işareti nereye koyulur?
Dizi indeksleme sıfırdan başladığından, örneğin, Barlardaki çubukların sayısı 1 ise, o zaman bu tek çubuktan değeri almak için, 0 indeksli hücrelerinin değerini almanız gerekir.

İşte bir karşılaştırma panosu:

Barlardaki bar sayısı
1 2 3 4 5 6 7 sekiz dokuz on dizinin ötesinde
Verilere atıfta bulunan döngü indeksi
0 (i<bar) 1 (i<bar) 2 (i<çubuk) 3 (i<çubuk) 4 (i<çubuk) 5 (i<çubuk) 6 (i<çubuk) 7 (i<çubuk) 8 (i<çubuk) 9 (i<çubuk) 10 (i==bar)
 
Sergey Gritsay :
Bunu yapmak için, yerel bilgisayarın dışında bir sunucu oluşturmanız ve bu sunucu üzerinden sırasıyla MT için veri aktarmanız, bu verileri işleyen bir gösterge veya danışman yazmanız veya bazı VPS sunucularına terminaller koymanız ve bir fotokopi makinesi kurmanız gerekir. hesabınızdan arkadaşlarınızın hesaplarına yapılan işlemler. Diğer bir seçenek de bu seviyelere göre yapılan işlemlerinizi kopyalamak için sinyal servisini kullanmaktır. Genel olarak, burada uygun yazılımı sipariş etmek için finansal yeteneklerinizden yaklaşmanız gerekir.
Benzer bir görüntüleme prensibine sahip bir gösterge (mq4) ile karşılaştım, ancak doğal olarak kendi seviyelerini çiziyor ve ödeniyor. Çalışmalarının sonuçlarını gördüm ve bana uymuyorlar. Kendi verilerim var ve bence onlar daha doğru. Kendim için düzenleyebilir miyim, bence gereksiz görüntüler atabilir ve verilerimin yolunu verebilir miyim? Sadece baz olarak al.
 
Artyom Trishkin :
Dizi indeksleme sıfırdan başladığından, örneğin, Barlardaki çubukların sayısı 1 ise, o zaman bu tek çubuktan değeri almak için, 0 indeksli hücrelerinin değerini almanız gerekir.

İşte bir karşılaştırma panosu:

Barlardaki bar sayısı
1 2 3 4 5 6 7 sekiz dokuz on dizinin ötesinde
Verilere atıfta bulunan döngü indeksi
0 (i<bar) 1 (i<çubuk) 2 (i<çubuk) 3 (i<çubuk) 4 (i<çubuk) 5 (i<bar) 6 (i<çubuk) 7 (i<çubuk) 8 (i<çubuk) 9 (i<çubuk) 10 (i==bar)
Çok teşekkürler, şimdi daha net oldu.