Hatalar, hatalar, sorular - sayfa 730

 

Bana sorunu nasıl çözeceğimi söyleme?
Expert Advisor'ın test cihazında ilk çalıştırılmasından sonra (Read=false), istatistikleri içeren bir csv dosyası oluşturulur.
int OnInit() kodunda şöyle:

   ResetLastError ();
   if (Read)
  {
    filehandle= FileOpen (FileName, FILE_READ | FILE_CSV );
  }
   else
  {
    filehandle= FileOpen ( "razdvigka.csv" , FILE_WRITE | FILE_CSV );
  }
Oluşturulan dosya şu dizinde saklanır: tester\Agent\MQL5\Files

Ancak, ikinci çalıştırmada (Okuma=doğru). Bu dosyadan veri okumak gerekiyor ancak dosya siliniyor.

 
Vitya :

Bana sorunu nasıl çözeceğimi söyleme?
Expert Advisor'ın test cihazında ilk çalıştırılmasından sonra (Read=false), istatistikleri içeren bir csv dosyası oluşturulur.
int OnInit() kodunda şöyle:

Oluşturulan dosya şu dizinde saklanır: tester\Agent\MQL5\Files

Ancak, ikinci çalıştırmada (Okuma=doğru). Bu dosyadan veri okumak gerekiyor ancak dosya siliniyor.

Bu durumda FILE_COMMON bayrağı ile bir dosya oluşturmanız gerekir. Dosya , terminalin paylaşılan klasöründe oluşturulacaktır.
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала - Документация по MQL5
 
tol64 :
Bu durumda FILE_COMMON bayrağı ile bir dosya oluşturmanız gerekir. Dosya , terminalin paylaşılan klasöründe oluşturulacaktır.
filehandle= FileOpen (FileName, FILE_READ | FILE_CSV | FILE_COMMON );
Teşekkür ederim.
Anladım.
 
Teşekkür ederim!
 
Servis Masası, #359447 numaralı uygulama hissedildi mi yoksa boşuna mı denendi?
 
x100intraday :
Servis Masası, #359447 numaralı uygulama hissedildi mi yoksa boşuna mı denendi?
Devam eden canlı bir tartışma var. Ama cevap henüz hazır değil.
 

Bunun bir gösterge olduğunu varsayarsak)) o zaman ilk kez tarihi gösterecek ve tablodaki sonraki ayarlar (ikinci, üçüncü kopya) tarihi göstermeyecektir.

 //+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_plots   1

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int OnInit ()
  {
     Print ( TimeCurrent ());
   
   return ( 0 );
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int OnCalculate ( const int rates_total, const int prev_calculated,
                 const datetime &Time[],
                 const double &Open[],
                 const double &High[],
                 const double &Low[],
                 const double &Close[],
                 const long &TickVolume[],
                 const long &Volume[],
                 const int &Spread[])
{
  
  
  
   return (rates_total);
  
}
 
Karlson :

Bunun bir gösterge olduğunu varsayarsak)) o zaman ilk kez tarihi gösterecek ve tablodaki sonraki ayarlar (ikinci, üçüncü kopya) tarihi göstermeyecektir.

Şimdi göstergenin hesaplama kısmı gecikmeli olarak mql uzayından kaldırılır. sadece yeniden kullanım durumunda.

aynı (aynı parametrelerle) göstergeyi farklı (ancak aynı sembol/zaman çerçevesine sahip) grafiklere atarsanız, yeniden başlatma da olmayacaktır.

Son kopyayı sildikten sonra sigara içmeye giderseniz - başlangıçta yeniden başlatma olacaktır.

Bu optimizasyonun yan etkisidir. :)

NOT: SİGARA SAĞLIĞINIZA ZARAR VERİR!

;)

 

Sevgili programcılar,

söyle bana, mql5 program kodunda hızı en çok ne etkiler? Gerçek şu ki, programımı oluşturma ve kod miktarını artırma sürecinde hızın önemli ölçüde düştüğü gerçeğiyle karşılaştım. Danışmanlar ve Örnekler klasörlerinden kod olarak daha hacimli olan standart Uzman Danışmanlar çok daha hızlı çalışsa da.

Genel olarak, forumda bir makale veya kod yapısının en iyi nasıl biçimlendirileceğine dair bir açıklama var mı? Acemi bir programcıya tavsiye verin. Teşekkür ederim!

 
Alex5757000 :

Sevgili programcılar,

söyle bana, mql5 program kodunda hızı en çok ne etkiler? Gerçek şu ki, programımı oluşturma ve kod miktarını artırma sürecinde hızın önemli ölçüde düştüğü gerçeğiyle karşılaştım. Danışmanlar ve Örnekler klasörlerinden kod olarak daha hacimli olan standart Uzman Danışmanlar çok daha hızlı çalışsa da.

Genel olarak, forumda bir makale veya kod yapısının en iyi nasıl biçimlendirileceğine dair bir açıklama var mı? Acemi bir programcıya tavsiye verin. Teşekkür ederim!

IMHO, iç içe döngüler hızı en çok etkiler. Üçüncü bir derinliğe kadar iç içe ilmekler, pratik olarak, ilmeklerin boyutu konusunda çok dikkatli olmanız gereken sınırın ötesindedir. Örneğin, benim P4'ümü alacağım: 3 Hz frekansında çalışıyor, dağ başına saniyede ~ 10 lam işlem üretiyor.

Bu rakam, 1000x1000x10'luk üçlü yuvalamalı döngülerin 1 saniye yürütüleceği anlamına gelir, 3. döngü 100'e yükseltilirse kendiniz anlarsınız, o zaman 10 saniye alırız.