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

 
MakarFX # :
Bu neden kötü?

evet millet, soru-cevap formatına uygun değil ve bu aptalca bir formatlama, metne bir sonraki satıra sarmadan bir kod satırı ekleyemezsiniz, normal bir kod parçasını alıntılayamazsınız : mesajın tamamı cepten eklenir.

 
Nerd Trader # :

Bir sipariş olmadığında OrdersTotal sıfır döndürür. Ama bir şekilde

for ( int i = OrdersTotal() ; i > 0 ; i -- )

sonsuz bir döngü verir, ancak >= vermez.

zs mql'de iletişim için daha uygun başka bir platform var mı???

Bu, MQL platformunun ve dilinin geliştiricilerinin sitesidir.

En doğru cevapları daha da doğru bir şekilde nereden alabilirsiniz?

Ve sorunuz dizilerle nasıl çalışılacağının yanlış anlaşılması alanından geliyor.

 
Aleksei Stepanenko # :

yanlış döngü:

böyle gerekir:

Niye ya? Herkes aynı şekilde yazıyor ama doğru mu? Konumlar 0 ise neden döngünün bir yinelemesine ihtiyaç var?
 
Nerd Trader # :

Bir sipariş olmadığında OrdersTotal sıfır döndürür. Ama bir şekilde

for ( int i = OrdersTotal() ; i > 0 ; i -- )

sonsuz bir döngü verir, ancak >= vermez.

zs mql'de iletişim için daha uygun başka bir platform var mı???
Neden sonsuz bir döngü veriyor? benim için çalışmıyor, sadece benim için mql5
 
Hayır, sorun değil. Pozisyon yoksa, i=OrdersTotal()-1, -1'e eşit olacaktır. Ve i>=0 döngü koşulu hemen yürütülmeyecektir. Ve program döngüye girmeyecek.
 
büyüktür veya eşittir, çünkü dizinin ilk elemanı da hesaba katılmalıdır ve dizideki indeksi sıfırdır.
 
Aleksei Stepanenko # :
büyüktür veya eşittir, çünkü dizinin ilk elemanı da hesaba katılmalıdır ve dizideki indeksi sıfırdır.
Doğru, teşekkürler. Ama ortaya çıktı, bir çeşit koltuk değneği elbette. Ancak, tüm mql'ler gibi
 

Merhaba!

Değişkenler bu şekilde bildirilir

 input  string startHour ="00:20";
input  string endHour ="23:40";
datetime startTime, endTime;

mql4 kodunda satır şöyle

startTime= StringToTime ( StringConcatenate ( TimeToString ( TimeCurrent (), TIME_DATE ), " " ,startHour));
endTime= StringToTime ( StringConcatenate ( TimeToString ( TimeCurrent (), TIME_DATE ), " " , endHour));

mql5 derleyicisi hata veriyor'( TimeToString ' - değişken bekleniyor),uyarı('sayı'dan 'dize'ye örtük dönüştürme)

Lütfen bana nasıl düzeltileceğini söyle?

 
grimc124 # :

...

Lütfen bana nasıl düzeltileceğini söyle?

Kodu kopyalamayın (DRY = Kendinizi Tekrar Etme ilkesi) İşlevleri kullanın. Örneğin:

 datetime SetTime( datetime dtime, string stime) {
     return StringToTime ( TimeToString (dtime, TIME_DATE ) + " " + stime);
}

Herhangi bir geçersiz stime dizesi sıfır zamana dönüştürülür

 
Artyom Trishkin # :

Bu, MQL platformunun ve dilinin geliştiricilerinin sitesidir.

En doğru cevapları daha da doğru bir şekilde nereden alabilirsiniz?

Ve sorunuz dizilerle nasıl çalışılacağının yanlış anlaşılması alanından geliyor.

1 siparişli OrdersTotal 0 değil 1 döndürür, 0 sipariş olduğunda sırasıyla 0 döndürür.

"Bu, MQL platformunun ve dilinin geliştiricilerinin sitesidir. En doğru cevapları başka nereden alabilirsiniz?"

- bunun geliştiriciler için bir kaynak olması, bunun için uygun olduğu ve burada yapmanız gerektiği anlamına gelmez, sanki soru-cevap formatı için özel olarak tasarlanmış kaynaklar varmış gibi.

Neden: