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

 
gyfto :


Başka bir deyişle açıklamak gerekirse: bu kendi kendine eğitimdir, tüm hayatım boyunca kendi kendime öğretildim, bu yüzden hangi yaklaşımı benimsediğini BİLMİYORUM. Neyin kabul edilip edilmediğini bilmiyorum.

Tamam, mumlara dönelim. Diyelim ki i_AnyBarsToHistory = 30, i_sequentBarsСount = 3. 30 mumluk bir pencerede cntUp == i_sequentBarsCount ve cntDn == i_sequentBarsСunt bir kez ateşlendiyse, o zaman ne olmalı? Yoksa geçiş başına her zaman yalnızca bir sayaç olarak mı kabul edilir?

Evet ve neden Close[1]'a ulaşmadan döngüden erken çıkıyoruz.


Sonuç olarak şudur: Döngü 30'dan 3'e ise, hesaplama sırasıyla 30 indeksinden indeks 3'e gider.

Mevcut çubukta gerekli özelliğin mumu geçtiğinde sayaca 1 eklenir, daha sonra istenen özelliğin mumu geçtiğinde sayaca 1 eklenir. Vb. gerekli öznitelikle eşleşmeyen bir çubukla karşılaşana kadar. Çubuk gerekli işarete karşılık gelmiyorsa, sayaç sıfırlanır ve ardından durumu analiz ederiz, yani. daha fazla hesaplıyoruz, sonra indeks 3'e sahip çubuğa ulaşana kadar döngü yapıyoruz. Hepsi bu.

Umarım net bir şekilde anlatabilmişimdir.

 
hoz :

 int signal = GetGeneralSignal();


ile değiştirilebilir

   if (GetMa( 2 )-GetMa( 1 )<σ) return ; else int cross= MathAbs (GetMA( 2 )-GetMA( 1 ))/(GetMA( 2 )-GetMA( 1 ));
   for ( int i=i_AnyBarsToHistory; i>= 1 ; i--){
                 if (cross*(Close[i] - Open[i]) >= i_sizeOfSequentialCorrectionBar * pt) cnt++; else cnt= 0 ;
   }
   if (cnt >= i_sequentBarsСount){
                 switch (cross+ 1 ){
                         case 0 : OpenBuy(); break ;
                         case 2 : OpenSell(); break ;
                }
   }

Kendiniz takip edin, cross=+1 veya -1, OpenBuy() veya OpenSell()'e karşılık gelir (ve kapat-aç veya aç-kapa), bunu olası bir yapının bir gösterimi olarak verdim. σ burada sıfırın bir benzeri olan atanmış bir sonsuz küçük değere sahibiz.

tommy27 :

Yardım, göstergenin belirli bir sayıdaki son çubukları karşılaştırmasını ve bunların kaçının yukarı, kaç tane aşağı ve kaç pinbar olduğunu ve kimin hangi kapanış/açılış fiyatlarına, yüksek/düşük ve yüksek olduğunu hesaplamasını sağlayamıyorum. birimler?

Bunu göstergede yapmanız gerekir.


CountedBars'ı tanımladığınız mum penceresine ayarlayın (örn. 30) ve CountedBars'da azalma ile döngü yapın. Yukarı veya aşağı, yükseliş veya düşüş, bitişik iki Kapat[] arasındaki farka bakın. Pinbar, en yüksek veya en düşük yerel maksimum veya minimuma ve bu maksimum veya minimumun yakın değerlerden sapmasına bakar. Sapma, ayarladığınız yüzdelerin bazılarından büyükse, bu bir pinbardır.

 
Tünaydın. Fibonacci ark nesnesinin 38.2 seviyesinin kesişimini programlı olarak nasıl belirleyeceğimi söyle?
 

Merhaba,

Herkese iyi tatiller!

OEC'nin böyle bir ticaret terminali var, bunun için basit bir yayılma göstergesine ihtiyacı var

Belki birileri yazabilir veya en azından yardımcı olacak bir şeyler yazabilir.

ve mt4'te şöyle görünüyor

Dosyalar:
 
ADGgeek :

Merhaba,

Herkese iyi tatiller!

OEC'nin böyle bir ticaret terminali var, bunun için basit bir yayılma göstergesine ihtiyacı var

Belki birileri yazabilir veya en azından yardımcı olacak bir şeyler yazabilir.

ve mt4'te şöyle görünüyor


Örümcek hakkında sormanı tavsiye edebilirim. Genel olarak, sadece alıntı yapabilirim:

Gary Ka :
Açıklamaya ve kavramlarınızın tanımlarına (örneğin, "numaranız") ve buraya noktalama işaretleri ekleyin. Ve bu konuda sadece kendi elleriyle (ve sonra ruh hallerine göre) yapanlara yardım ediyorlar.

Bu herkes için geçerlidir. Örümcek'te büyük olasılıkla aynı şekilde cevap verecekler.

 

Aradığım buydu teşekkürler Garyka! Sizin için geçmiş ve gelecek tatillerle!

 

Herkese iyi tatiller!

Söyle bana, "uzmanlar" sekmesinde uninit sebep 5 yazdığında terminal ne anlama geliyor?

Teşekkür ederim.

 
CYBOPOB :

Herkese iyi tatiller!

Söyle bana, "uzmanlar" sekmesinde uninit sebep 5 yazdığında terminal ne anlama geliyor?

Teşekkür ederim.


https://docs.mql4.com/en/constants/uninit
 
hoz :

Sadece her şey.


Açıklamanızı kodunuzla karşılaştırarak anladığım kadarıyla sizin için farklılar, çünkü kodda, i_sequentBarsСount'a ulaşıldığında döngü erkenden çıkar:

saat :

 for ( int i=i_AnyBarsToHistory; i>= 1 ; i--)
   {
       if (directionMA == CROSS_UP)
      {
         if ((Open[i] - Close[i]) >= i_sizeOfSequentialCorrectionBar * pt)
             cntDn++;
         if ((Close[i] - Open[i]) >= i_sizeOfTrandBar * pt)
             cntDn = 0 ;
                                                                                        
         if (i == 1 )
             Print ( " directionMA " , directionMA, "; i = " , i, "; Open[i] - Close[i] = " , Open[i] - Close[i], "; cntDn = " , cntDn);

         if (cntDn == i_sequentBarsСount)             //<--
             return (REQUIRED_SEQUENTIAL_BEARS_GOT); //<--
      }

       if (directionMA == CROSS_DN)
      {
         if ((Close[i] - Open[i]) >= i_sizeOfSequentialCorrectionBar * pt)
             cntUp++;
         if ((Open[i] - Close[i]) >= i_sizeOfTrandBar * pt)
             cntUp = 0 ;
         if (i == 1 )
             Print ( " directionMA " , directionMA, "; i = " , i, "; Close[i] - Open[i] = " , Close[i] - Open[i], "; cntUp = " , cntUp);

         if (cntUp == i_sequentBarsСount)             //<--
             return (REQUIRED_SEQUENTIAL_BULLS_GOT); //<--
   }
saat :

Döngü 30'dan 3'e ise, hesaplama sırasıyla 30 dizininden 3 numaralı dizine gider.

Çubuk gerekli işarete karşılık gelmiyorsa, sayaç sıfırlanır ve ardından durumu analiz ederiz, yani. Dizin 3'e sahip çubuğa ulaşana kadar döngü boyunca daha fazla hesaplıyoruz .

 
gyfto :


Açıklamanızı kodunuzla karşılaştırarak anladığım kadarıyla sizin için farklılar, çünkü kodda, i_sequentBarsСount'a ulaşıldığında döngü erkenden çıkar:



Anladığım kadarıyla, her hesaplanan çubuktan sonra artırılacak bir sayaç oluşturmanız gerekiyor ve değeri i_AnyBarsToHistory değerine eşit olduğunda, bu noktaya kadar görüntülenenler görüntülenir.

Şimdi ne düşündüğümü yazacağım ve abonelikten çıkacağım.

Neden: