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

 
ukrop1203 :
Hayır, yalnızca "başarıyla yüklendi" ve "kaldırıldı".

evet gördüm kodunuzu indirmeye çalıştım

2019.03.26 19:38:16.053 yığın taşması

Genel olarak tanımlanmış değişkenleri OnStart() bölümüne aktarmaya çalıştım, yardımcı olmadı, muhtemelen kodun bir yerinde büyük miktarda veriniz var, ne yaptığınızı anlamanız gerekiyor ve kod tam olarak optimal değil yazılı, yarasadan bu şekilde yardımcı olamayacağım


 

Kısacası, bunu günlükte kaçırdım, betiğimde büyük çift diziler kullanılıyor (her biri 864000'lik 3 dizi). 10 kat azalttım, her şey sürüyor, düşük seviyeyi anlamıyorum, bu tür şeylerin çalışması için ne tür bir demirin pompalanması gerektiğini söyle, sadece RAM ekle? Tabii ki programı satın almak için uzman olmayacağım, yeniden yazacağım, sadece merak ediyorum.


 
ukrop1203 :

Kısacası, bunu günlükte kaçırdım, betiğimde büyük çift diziler kullanılıyor (her biri 864000'lik 3 dizi). 10 kat azalttım, her şey sürüyor, düşük seviyeyi anlamıyorum, bu tür şeylerin çalışması için ne tür bir demirin pompalanması gerektiğini söyle, sadece RAM ekle? Tabii ki programı satın almak için uzman olmayacağım, yeniden yazacağım, sadece merak ediyorum.


3 x 8 x 864000 = 20736000 bayt

bu çok fazla, MT4 32 bit, bilgi aramak istemiyorum ama bence 32 bit programlar için ayrılan bellek sınırı 2 GB

PC'nin kendisiyle ilgisi yok

Not: Prensipte 20 MB olan 20736000 bayt saydım, fazla değil, muhtemelen statik olarak tanımlanmış dizileriniz var, bunları dinamik dizilerle değiştirmeyi deneyin ve ardından boyutu değiştirin, yardımcı olabilir - Belleğin nasıl olduğunu okumadım MT'de uzun süre dağıtıldı, ancak komut dosyası yığın taşmasını engelledi - bir yerde çok fazla bellek ayrılmış

 
Kimyaya kaydolması için yeni aracılığıyla bir dizi nasıl oluşturulur? Ben sadece sahada dizili bir sınıfın nasıl oluşturulacağını anladım, ama onu c++'da şu şekilde kullanmak bir şekilde garip olurdu: int *array = new int[n]; Burada çalışmıyor.
 
ukrop1203 :
Kimyaya kaydolması için yeni aracılığıyla bir dizi nasıl oluşturulur? Ben sadece sahada dizili bir sınıfın nasıl oluşturulacağını anladım, ama onu c++'da şu şekilde kullanmak bir şekilde garip olurdu: int *array = new int[n]; Burada çalışmıyor.
 double x[];
ArrayResize (x, 1000 );

https://docs.mql4.com/en/array/arrayresize

ArrayResize - Операции с массивами - Справочник MQL4
ArrayResize - Операции с массивами - Справочник MQL4
  • docs.mql4.com
При успешном выполнении функция возвращает количество всех элементов, содержащихся в массиве после изменения размера; в противном случае возвращает -1 и массив не меняет размеры. Функция может быть применена только к динамическим массивам. При этом необходимо иметь ввиду, что нельзя изменять размер для динамических массивов, назначенных в...
 
Lütfen bana ASK fiyatını Yazdır'da dört yerine beş ondalık basamakla nasıl göstereceğimi söyler misiniz?
 
nkss2020 :
Lütfen bana ASK fiyatını Yazdır'da dört yerine beş ondalık basamakla nasıl göstereceğimi söyler misiniz?
 Print (" Ask : ", DoubleToString (Ask, 5 ));
 
Bir tarih var mesela 26/03/2019 ondan 3 gün nasıl hesaplanır 23/03/2019 yoruma gelsin ???
 
ponochka :
Bir tarih var mesela 26/03/2019 ondan 3 gün nasıl hesaplanır 23/03/2019 yoruma gelsin ???
Tarih-3*PeriodSeconds( PERIOD_D1 );
 
Alexey Viktorov :

günü aldın

not. Ve gitti...