Gösterge Sorusu - sayfa 6

 

for(i=0; val1==val3; i++)

Bu kod, sonsuz bir döngü IMO'su olasılığını bırakır.

 
Bunu biraz daha düşünmeliyim, gözlerim yine bulanık okuyor.

yarın kontrol edeceğim
 
ubzen :

for(i=0; val1==val3; i++)

Bu kod, sonsuz bir döngü IMO'su olasılığını bırakır.

Gerçekten, val1 val3 olmayana kadar dönmesi gerekiyor gibi görünüyor

val3 = 0 ve val1 = 0 ise, bir değer alana kadar döngü yapmalıdır.

ii val3 = iFractal(anlık) o zaman val1 val1=0 olana kadar dönmelidir (ve bu benim sorunum tam burada)

val1 için iFractal değerini döndürmek için bir print ifadesi almama rağmen, bu gerçekten bir tür sonsuz döngü veya kilitlenme noktası, bunun nerede olduğundan gerçekten emin değilim
Bunu test etmek için başkalarının yayınladıklarıyla biraz daha denemem gerekecek, ama bence haklısın

Belki de tam olarak amaçlandığı gibi değil, ancak önceki fraktal değere sadece artış sağlamak için elde etmek istediğim kavram bu.

üzerinde çalışmaya devam edeceğim
 
diostar :

Dürüst olmak gerekirse, döngü sonlandırma koşulu için bunu ilk kez görüyorum. Zor olanı...

Kısmen beni aldatıyor gibi görünüyor, çünkü print ifadem bir değer döndürüyor ama bence sorun şu ki, val3 gerçekte >0 olur olmaz, val1 gerçekten önceki fraktal değer değil, 0 olan bir değere geri dönecek.

Bu nedenle, teoride, val3 == 0 olduğu sürece yalnızca bir kez çalışacak ve ancak o zaman i++, val1 artık == val3 olmayana kadar geriye doğru artacaktır, bu benim yapmak istediğim şey, ancak val3 == a ise değer daha sonra val1, val3'e == daha uzun olmadığı bir 0 değerine geri döner ve ardından döngü sona erer.
Sonuçta tam olarak istediğim bu değildi, o yüzden tekrar çizim tahtasına dönelim LOL

Hepinize teşekkürler

 
RaptorUK :

Bir iFractal aldığınızda değer > 0'dır, evet ?

Örneğin, son UPPER ve LOWER iFraktallerin nerede olduğunu bilmek istiyorsanız, bunun gibi bir şey yapın. . .

Sanırım şimdi görüyorum, eğer bu önceki konumların değerini nasıl üreteceğimi çözebilirsem

Sanırım bunu halledebilirim, umarım. o o

teşekkürler
 

0 mumu Fraktal olamaz, bu nedenle val3 her zaman 0 olacaktır, öyleyse neden . . .

 for (i= 0 ; val1== 0 ; i++)

. . . ve val3'ten kurtulun.

Yine de bu durumda bir süre tercih ederim, yapmaya çalıştığınız şeye daha uygun görünüyordu. .

 
RaptorUK :

Bir iFractal aldığınızda değer > 0'dır, evet ?

Örneğin, son UPPER ve LOWER iFraktallerin nerede olduğunu bilmek istiyorsanız, bunun gibi bir şey yapın. . .

Bu bana son iFractal'ın nerede olduğunu söylüyor gibi görünüyor, ancak her ikisi de önceki iFractal'ları değil

Örneğin:

2011.10.07 09:05:36 sup_res EURUSD,M5: Son ÜST Fraktal 6'da Son ALT Fraktal 0'da

Böylece mevcut UPPER yüksek fraktalını gösterecek ve iyi olan konumu yazdıracaktır.
Ayrıca val1=i'yi val1=iFractal(NULL, 0, MODE_UPPER,i) olarak değiştirebilirim ve bu bana son iFractal'ın değerini verecektir
Bu yüzden bunu anlama konusunda biraz ilerleme kaydediyorum ama önceki iFractal'a geri dönmek için hala yeniden kodlamam gerekiyor

Bir iFractal oluştuğunda, bu while ifadesi şu anda oluşturulmuş ve en son iFractal'ı yazdırmaya devam edecektir ki bu harika
Öyleyse, yeni bir iFractal formları diyelim, bu mevcut fraktal, şu anki değil, gerçekten önceki 1 olan while ifadesinden referans vermek istiyorum.
Şimdi iFractal LOWER_MODE formları diyelim ve önceki iFractal UPPER_MODE'a referans vermek ve bu değerleri karşılaştırmak istiyorum.

Ama senin tavsiyene göre, bunu çözebileceğimi düşünüyorum, bunların hepsi bana çok yardımcı olan harika fikirler.
Kodun nasıl çalıştığına daha aşina oldukça, ticaret fikirlerim için bildiklerimi kullanmaktan gerçekten zevk almaya başlıyorum.

teşekkürler
 
Agent86 :
Bu bana son iFractal'ın nerede olduğunu söylüyor gibi görünüyor, ancak her ikisi de önceki iFractal'ları değil

Kodumda bir hata var. . .

 while ( val1== 0 && val2== 0 )

should be . . .

while ( val1== 0 || val2== 0 )
 
RaptorUK :

0 mumu Fraktal olamaz, bu nedenle val3 her zaman 0 olacaktır, öyleyse neden . . .

. . . ve val3'ten kurtulun.

Yine de bu durumda bir süre tercih ederim, yapmaya çalıştığınız şeye daha uygun görünüyordu. .

Tamam, val3 shift'i 3 olarak değiştirdim ama bunu da pek beğenmedim, bazı değişiklikler yapacağım, teşekkürler
 
if (val1 > 0 && faster > slower)
      {
       Print (val1, " val1" );
       for (i= 0 ; val1 || val2== 0 ; i++)
         {
         if ( iFractals ( NULL , 0 , MODE_LOWER, i) > 0 && val2 == 0 )
         val2 = iFractals ( NULL , 0 , MODE_LOWER, i);
         Print ( " Last LOWER Fractal at " , val2);
        
         }

Bir if(ifade) içine bir for(ifade) eklerken, ek if(ifadeler) ekleyebilir ve döngüdeki değerlere başvurabilir misiniz?

Ve bu ek if(ifadeler) döngü içinde mi olmak zorunda yoksa döngünün dışında olup yine de val2 gibi döngülü değerlere başvurabilir misiniz?

Lütfen diğer kod bloklarının içindeki döngüler için neyin normal kabul edildiğini bildiriniz? Ve döngülerin değerleri nasıl çıkarılır?

teşekkürler
Neden: