[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 5. - sayfa 173

 
TarasBY :

Bu koşul bir şekilde döngüde değişir:

... "hayır" ise - o zaman neden döngünün içine sokuyorsun?


İşin özü şu:

Harici parametrelerde UseFiltrMa = TRUE ise A > B koşulu, UseFiltrMa = False ise koşul dikkate alınmaz. Kodun diğer yerlerinde bu koşul ( A > B ) görünmez. Önceki filtre de döngüde olduğu için onu döngünün içine koydum. Sonuçta, bir dizi faremiz var. Döngü boyunca arabanın seri numarasını (dizini) seçiyoruz.

A > B , koduma göre şöyle görünüyor:

MA(g_maHigherTF[ 0 ]) > MA(g_maHigherTF[ 1 ])

Bakın, burada her şey yerine oturuyor ve döngünün nedenini görebilirsiniz.

 
hoz :


İşin özü şu:

Harici parametrelerde UseFiltrMa = TRUE ise A > B koşulu, UseFiltrMa = False ise koşul dikkate alınmaz. Kodun diğer yerlerinde bu koşul ( A > B ) görünmez. Önceki filtre de döngüde olduğu için onu döngünün içine koydum. Sonuçta, bir dizi faremiz var. Döngü boyunca arabanın seri numarasını (dizini) seçiyoruz.

A > B , koduma göre şöyle görünüyor:

Görüyorsunuz, burada her şey yerine oturuyor ve döngünün nedenini görebilirsiniz.

Koşulu değiştiren döngü koşullarını hiç görmedim: if (A > B) .

HER ZAMAN birçok çözüm olabilir, ancak düşündüğünüz şekilde ihtiyacınız var...

 
TarasBY :

Koşulu değiştiren döngü koşullarını hiç görmedim: if (A > B) .

HER ZAMAN birçok çözüm olabilir, ancak düşündüğünüz şekilde ihtiyacınız var...


Evet bu döngü sana teslim oldu... Dikkat etme. Yukarıda yazdığım gibi koşulu eklemeniz yeterlidir:

saat :

Harici parametrelerde UseFiltrMa = TRUE ise A > B koşulu, UseFiltrMa = False ise koşul dikkate alınmaz.

UseFiltrMa = False ise, A > B koşulu atlanır! Ve bu kadar. Başka bir şeye gerek yok! Döngülere aldırmayın... nereden geldiği uzun bir hikaye. Sadece bir blok var. Ve sorunu anlattım.
 
hoz :


İşin özü şu:

Harici parametrelerde UseFiltrMa = TRUE ise А > B koşulu , UseFiltrMa = False ise koşul dikkate alınmaz . Kodun diğer yerlerinde bu koşul ( A > B ) görünmez. Önceki filtre de döngüde olduğu için onu döngünün içine koydum. Sonuçta, bir dizi faremiz var. Döngü boyunca arabanın seri numarasını (dizini) seçiyoruz.

A > B , koduma göre şöyle görünüyor:

Bakın, burada her şey yerine oturuyor ve döngünün nedenini görebilirsiniz.

 if (UseFiltrMa == TRUE&& А > B )

  {

     //  

   }

else

  {
   //

  } 
 

pako :

 if (UseFiltrMa == TRUE&& А > B )

  {

     //  

   }

else

  {
   //
  } 

   


Bu yüzden mümkün olduğunu anlıyorum. Daha kısa olmaz mı? Bir satırda uygulamak için ... Değilse, kodu uzatmanız gerekir.

Örneğin, siparişleri başabaşa aktarma işlevinden önce, genellikle şöyle bir şey eklerim:

 if (UseBU)
{
   // Код функции перевода в БУ
}

Ancak bu durumda, UseBU değişkeni False olarak ayarlandığında, işlevin daha fazla yürütülmesine gerek yoktur. Çünkü orada çıkmak daha kolay ve daha kısadır. Ama burada durum farklı. Koddaki diğer koşullar zorunludur . Bu yüzden bence...

 
hoz :


Bu yüzden mümkün olduğunu anlıyorum. Daha kısa olmaz mıydı? Bir satırda uygulamak için ... Değilse, kodu uzatmanız gerekir.

Örneğin, siparişleri başabaşa aktarma işlevinden önce, genellikle şöyle bir şey eklerim:

Ancak bu durumda, UseBU değişkeni False olarak ayarlandığında, işlevin daha fazla yürütülmesine gerek yoktur. Çünkü orada çıkmak daha kolay ve daha kısadır. Ama burada durum farklı. Koddaki diğer koşullar zorunludur . Bu yüzden bence...

Kısaca şöyle:

 if ((UseFiltrMa == TRUE && А > B) || UseFiltrMa == FALSE)
{
   if (..........................
 
borilunad :
DailyPivotPoints göstergesindeki değişikliği, Hour(), Minute(), Seconds() global değişkenleriyle gece yarısı (0.00) danışmandan yeni PP seviyelerine ve diğer satırlara kontrol etmenin mümkün olup olmadığını kim bilebilir? Bunu göstergede Hour(), Minute(), Seconds() ile yapardım ve her gece derlemek zorunda kalmadan çalıştı. Ve son zamanlarda durdu, belki yapıdaki bir değişiklikten? Teşekkür ederim!

Boris , bu soruyu profesyonel mesaj dizisinde sormayı dene.
 
hoz :

Boris , bu soruyu profesyonel mesaj dizisinde sormayı dene.

Teşekkürler Victor! Kısa versiyonumu beğendin mi?

 if ((UseFiltrMa == TRUE && А > B) || UseFiltrMa == FALSE)
{
   if (..........................
 
granit77 :
Ayarlarda "Profili değiştirirken danışmanı devre dışı bırak" onay kutusunun işaretini kaldırmayı deneyin, belki yardımcı olabilir.

Teşekkür ederim. - Deneyeceğim. Ne yazık ki, cevabı çok geç fark ettim - piyasalar hafta sonu için kapatıldı. Ve init () aracılığıyla, böylece reklamlar - ayarlar sıfırlanmaz. Her ne kadar teoride olmalılar.

MT'nin ayarları neden sıfırladığı tam olarak belli değil. Hangi zaman dilimi ne fark eder; parametreleri ayarlarda ayarlarsam, (teoride) herhangi bir TF'ye kaydedilmelidirler.

 
Herkese iyi günler. Metatrader 4'te alım satımları nasıl kopyalayacağımı söyleyebilir misiniz? Böylece bir terminalde alım satım açarak diğerinde açık alım satım yapabilirsiniz.