Döngü Operatörü 'için' soruları - sayfa 16

 
RaptorUK :

Hayır, bu yanlış. . ondan kurtulmak. Konumlar ve dizinler aynı şeydir ve 0 ile 9 arasındadır. . . 1'den 10'a kadar hiçbir şey yoktur. . . onu beyninden sil.

Bunun derhal düzeltilmesi gerekiyor.

İndeksler ve konum numaraları aynıysa, bu doğrudur...

Aktif işlem emri havuzunda toplam on bilet:

bilet pozisyon numaraları aşağıdaki gibidir: 0,1,2,3,4,5,6,7,8,9

indekslenen bilet pozisyon numaraları aşağıdaki gibidir: |0|1|2|3|4|5|6|7|8|9|

Durum gerçekten böyleyse, bir bilet pozisyon numarası sıfır (0) olabilir .

Lütfen yukarıdaki ifadeleri onaylayın veya lütfen aksini belirtin.


Teşekkür ederim.

 
WhooDoo22 :

Bunun derhal düzeltilmesi gerekiyor.

İndeksler ve konum numaraları aynıysa, bu doğrudur...

Aktif işlem sipariş havuzunda toplam on bilet:

bilet pozisyon numaraları aşağıdaki gibidir: 0,1,2,3,4,5,6,7,8,9

indekslenen bilet pozisyon numaraları aşağıdaki gibidir: |0|1|2|3|4|5|6|7|8|9|

Durum gerçekten böyleyse, bir bilet pozisyon numarası sıfır (0) olabilir .

Bunu daha önce yaşadık. . . . Bir Siparişin bir bilet numarası vardır. . . Bir Emir ayrıca Açık/Bekleyen Emirler için İşlem havuzunda veya kapalı Emirler için Geçmiş havuzunda bir pozisyona sahiptir.

10 açık siparişimiz varsa, Sipariş pozisyonları 0 ila 9 veya 0,1,2,3,4,5,6,7,8,9 veya |0|1|2|3|4|5|6|7 |8|9| son, Fin, bitti

 
RaptorUK :

Bunu daha önce yaşadık. . . . Bir Siparişin bir bilet numarası vardır. . . Bir Emir ayrıca Açık/Bekleyen Emirler için İşlem havuzunda veya kapalı Emirler için Geçmiş havuzunda bir pozisyona sahiptir.

10 açık siparişimiz varsa, Sipariş pozisyonları 0 ila 9 veya 0,1,2,3,4,5,6,7,8,9 veya |0|1|2|3|4|5|6|7 |8|9| son, Fin, bitti


Teşekkür ederim.
 

Merhaba MQL4 topluluk Forumu,

Şu anda, sipariş kapanışları için fiyat değerlerini kaydetmeye çalışıyorum. OrderProfit() işlevini dahil etmeye çalıştım ama hoşuma gitmedi. Hayır-hayır :O .Diğer tüm yollar başarısız olursa onu kullanır. OrderClosePrice() işlevini kullanmak yerine sipariş kapanış fiyatını kaydetmek istiyorum :). Tüm sipariş kapanış fiyatları kaydedildikten sonra sonuçları çiftler halinde gruplayabilirim. Çiftler halinde gruplandırıldıktan sonra, her grubu ekleyin ve ardından ortalamalarını almak için her grubu ikiye bölün. Tüm çiftlerin ortalaması alındıktan sonra sonuçları yeniden gruplandırın ve işlemi tekrarlayın. Tüm çiftlerin ortalaması alındığında ve yalnızca bir toplam kaldığında, bu toplamdan spread'i çıkarırdım ve sonuç açık fiyat emri vermek için daha büyük veya eşitse (>=) bir Boole yanlış olarak kalır. Sonuç, siparişin açılış fiyatından düşükse, Boolean true olarak başlatılır.

Daha önce bu yoldan geçen var mı? Eğer öyleyse, akılda tutulması için bazı uyarılar verebilir misiniz?

Teşekkür ederim

 
WhooDoo22 :

Daha önce bu yoldan geçen var mı? Eğer öyleyse, akılda tutulması için bazı uyarılar verebilir misiniz?

yapma. . . İhtiyacınız olanı Tarih havuzundan okuyun, hepsi orada. İşleri basit tutun. . . . Verileri bir diziye kaydederseniz, onu dosyaya da kaydetmiş olursunuz, böylece MT4 veya PC çökmesi durumunda geri alabilirsiniz. . . vb, vb, vb

BAŞ AĞRISI
 

Ah evet, tarih havuzu. "Beyinsiz!". Sen düz profesyonelsin Simon! Hahaha! ;) Bunu neden ilk ben düşünmedim, değil mi?

Henüz benden bir "MQL4 kodlama rock yıldızı" yapacaksın! Hahahaha!

Teşekkür ederim

 

Simon,

'Break' ve 'Continue' operatörleri için belgeleri inceliyorum. Görebildiğim kadarıyla, bir 'Break' operatörü, program kontrolünü 'while' veya 'for' döngüsünün altındaki bir sonraki kod satırına geçirerek bir operatörü 'while' veya 'for' döngüsüne son verir. Bir 'Continue' operatörü, 'while' veya 'for' döngüsünün gövdesini okumayı durdurur ve program kontrolünü ya bir 'while' döngüsündeki ifadeye VEYA bir 'for' döngüsü 'İfade 3' içermiyorsa 'İfade 2'ye geçirir. veya 'For' döngüsü 'İfade 3'e sahipse 'İfade 3'.

Bununla ilgili düşünceleriniz nelerdir?

Teşekkür ederim

 
WhooDoo22 :

Simon,

'Break' ve 'Continue' operatörleri için belgeleri inceliyorum. Görebildiğim kadarıyla, bir 'Break' operatörü, program kontrolünü 'while' veya 'for' döngüsünün altındaki bir sonraki kod satırına geçirerek bir operatörü 'while' veya 'for' döngüsüne son verir. Bir 'Continue' operatörü, 'while' veya 'for' döngüsünün gövdesini okumayı durdurur ve program kontrolünü ya bir 'while' döngüsündeki ifadeye VEYA bir 'for' döngüsü 'İfade 3' içermiyorsa 'İfade 2'ye geçirir. veya 'For' döngüsü 'İfade 3'e sahipse 'İfade 3'.

Bununla ilgili düşünceleriniz nelerdir?

Teşekkür ederim

Sonuç olarak: giriş noktasına geri dönmek için bir döngü içinde devam et seçeneğini kullanın. döngüden hemen çıkmak için break kullanın.

Bir şey daha, ara ve devam et, kod optimizasyon işlemleridir, onlara asla gerçekten ihtiyacınız olmaz. Ek olarak, izlenmesi zor hatalara yol açabileceklerinden bunları dikkatli kullanın.

Neredeyse her zaman programlamada olduğu gibi, basit bir örnek 1000 kelimeden fazlasını söylüyor:

 for ( int i= 0 ;i< 10 ;i++){
 Print ( "1" );
 continue ;
 Print ( 2 );
}

//Prints: 1111111111

for ( int i= 0 ;i< 10 ;i++){
 Print ( "1" );
 break ;
 Print ( 2 );
}

//Prints: 1

 

Michael, kelimelerle ve kodla açıklaman için teşekkür ederim. İkisi de açıklayıcı.

Teşekkür ederim