MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 18
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Bu iyi değil. Derlerken herhangi bir uyarı aldınız mı? Bu gibi durumlarda #özellik katı değil, uyarı nedenlerinden kurtulmak gerekir.
bakiyeyi doldurdum şimdi gerçek hesabı olan terminalin her zaman bir demo hesabı açtığını bulamıyorum
#property strict yazıldığında, derleyici her for() döngüsünde değişkenlerin bir türü olması gerektiğine dair hatalar verdi ve bu nedenle her döngüde int i ve int p yazılması gerekiyordu. Bundan sonra derleyici herhangi bir hata vermedi, ancak hat oluşturulmadı. #property strict öğesini kaldırdığımda, derleyicinin artık her döngüde türü bildirmesi gerekmiyordu ve satır oluşturuldu.
Mantıktaki örtük hatalardan yararlanmanın tipik bir örneği. Derleyici "daha katı" hale geldikten sonra, kendini aldatma yavaş yavaş ortadan kalkar.
Neden bu kadar çok özdeş döngü olduğunu sormak istedim.
Ve grafikteki göstergeyi çalıştırdığınızda " sınır dışı dizi " hatası sizi neden rahatsız etmiyor?
Örneğin, burada:
{
for ( int p= 0 ; p<m; p++)
{
sum_x[i][p]=sum_x[i][p- 1 ]+Price_CloseX[i][p];
sum_y[i][p]=sum_y[i][p- 1 ]+Price_CloseY[i][p];
}
}
bakiyeyi doldurdum şimdi gerçek hesabı olan terminalin her zaman bir demo hesabı açtığını bulamıyorum
#property strict yazıldığında, derleyici her for() döngüsünde değişkenlerin bir türü olması gerektiğine dair hatalar verdi ve bu nedenle her döngüde int i ve int p yazılması gerekiyordu. Bundan sonra derleyici herhangi bir hata vermedi, ancak hat oluşturulmadı. #property strict öğesini kaldırdığımda, derleyicinin artık her döngüde türü bildirmesi gerekmiyordu ve satır oluşturuldu.
cevap son derece basit - dizinin banal taşması var - ve bu hata nedeniyle göstergeniz çalışmayı durduruyor
{
for ( int p= 0 ; p<m; p++)
{
sum_x[i][p]=sum_x[i][ p- 1 ]+Price_CloseX[i][p];
sum_y[i][p]=sum_y[i][p- 1 ]+Price_CloseY[i][p];
}
}
for ( int i= 1 ; i<n; i++)
{
for ( int p= 0 ; p<m ; p++)
{
Mx[i][p]=sum_x[ p+ 1 ][m- 1 ]/(n- 1 );
My[i][p]=sum_y[p+ 1 ][m- 1 ]/(n- 1 );
Bu hatayı yürütme aşamasında görebilirsiniz -- göstergeyi çalıştırın ve Terminal -- Uzmanlar sekmesindeki günlük girişini görüntüleyin:
Mantıktaki örtük hatalardan yararlanmanın tipik bir örneği. ...
Mantıktaki örtük hatalardan yararlanmanın tipik bir örneği. Derleyici "daha katı" hale geldikten sonra, kendini aldatma yavaş yavaş ortadan kalkar.
Neden bu kadar çok özdeş döngü olduğunu sormak istedim.
Ve grafikteki göstergeyi çalıştırdığınızda " sınır dışı dizi " hatası sizi neden rahatsız etmiyor?
Örneğin, burada:
{
for ( int p= 0 ; p<m; p++)
{
sum_x[i][p]=sum_x[i][p- 1 ]+Price_CloseX[i][p];
sum_y[i][p]=sum_y[i][p- 1 ]+Price_CloseY[i][p];
}
}
Aynı döngülerle ilgili olarak, sınırlı programlama ve algoritma bilgisi nedeniyle, formülde ikame için gerekli olan dizi öğesini istenen boyuttan seçmek için daha iyi bir şey bulamadım.
cevap son derece basit - dizinin banal taşması var - ve bu hata nedeniyle göstergeniz çalışmayı durduruyor
{
for ( int p= 0 ; p<m; p++)
{
sum_x[i][p]=sum_x[i][ p- 1 ]+Price_CloseX[i][p];
sum_y[i][p]=sum_y[i][p- 1 ]+Price_CloseY[i][p];
}
}
for ( int i= 1 ; i<n; i++)
{
for ( int p= 0 ; p<m ; p++)
{
Mx[i][p]=sum_x[ p+ 1 ][m- 1 ]/(n- 1 );
My[i][p]=sum_y[p+ 1 ][m- 1 ]/(n- 1 );
Bu hatayı yürütme aşamasında görebilirsiniz -- göstergeyi çalıştırın ve Terminal -- Uzmanlar sekmesindeki günlük girişini görüntüleyin:
Ve her boyuttaki kapanış fiyatlarının toplamı nasıl hesaplanır???
Aynı döngülerle ilgili olarak, sınırlı programlama ve algoritma bilgisi nedeniyle, formülde ikame için gerekli olan dizi öğesini istenen boyuttan seçmek için daha iyi bir şey bulamadım.
Örneğin şöyle:
for ( int i= 1 ; i<n; i++)
{for ( int p= 1 ; p<m; p++)
{
sum_x[i][p]=sum_x[i][p- 1 ]+Price_CloseX[i][p];
sum_y[i][p]=sum_y[i][p- 1 ]+Price_CloseY[i][p];
}
}
Lütfen bana bu hatayı nasıl düzelteceğimi söyle?
Bu hatayı düzeltmek için - formülünüzü anlamanız gerekir - ne, neden ve nasıl düşündüğünüzü.
Ve ancak o zaman algoritmanız üzerinde yineleme yapmak ve sınır dışı diziyi ortadan kaldırmak mümkün olacaktır.
"Dürtme" yöntemini kullanmak ve formülün yanlış anlaşılması - hatayı ortadan kaldıracaksınız, ancak hesaplamayı yanlış yapacaksınız.
ps Neyi ve neden düşündüğünüzü ayrıntılı olarak açıklayın - kodunuzu ayrıntılı olarak yorumlayabilirsiniz - ve sonra bu hatayı nasıl düzelteceğimizi anlayacağız.