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

 
splxgf :

Genellikle bir LastBarAlert değişkeni yaparım ve alarm tetiklendiğinde buna Time[0] yazarım.

Peki, o zaman temel, LastBarAlert!=Time[0] ise uyarı görüntülenir.


Teşekkür ederim. Gerçekten çalışıyor. Ancak gösterge neden LastBarAlert değişkeninin değerini kaydeder, ancak başka bir değişkenin değerini kaydetmez. öyle yaptım. Aslında, tamamen aynı çıkıyor, ancak nedense çalışmıyor.

 if (Signal && AllowAlert = true ){
Alert( 'Signal detected' );
AllowAlert = false ;
} 
 
sss2019 :


Teşekkür ederim. Gerçekten çalışıyor. Ancak gösterge neden LastBarAlert değişkeninin değerini kaydeder, ancak başka bir değişkenin değerini kaydetmez. öyle yaptım. Aslında, tamamen aynı çıkıyor, ancak nedense çalışmıyor.

AllowAlert değişkeni , kodunuzun neresinde true olarak başlatıldı?

Hattaki bu değişkenin sinyalini ve durumunu kontrol etmeden önce...

 if (Signal && AllowAlert = true )

... daha sonra bayrağın false olarak sıfırlanması hiçbir şey yapmaz. Sonuçta, bu kontrolden önce tekrar true olarak başlatıldı ...

 
sss2019 :


Teşekkür ederim. Gerçekten çalışıyor. Ancak gösterge neden LastBarAlert değişkeninin değerini kaydeder, ancak başka bir değişkenin değerini kaydetmez. öyle yaptım. Aslında, tamamen aynı çıkıyor, ancak nedense çalışmıyor.

Muhtemelen sorun mantıktadır... 0 ve 1 değerlerini alan bir değişken kullanırsanız, değeri her yeni barda sıfırlanmalıdır, ancak bu büyük olasılıkla olmaz. Veya değişken yerel olarak statik olmadan bildirilir ve değeri çağrılar arasında korunmaz. Şifresiz falcılık yapmak işe yaramaz.
 

Спасибо. Это действительно работает. Но почему индикатор сохраняет значение переменной LastBarAlert, а значение какой нибудь другой переменной не сохраняет. Я делал так. По сути получается точно так же, но почему то не работает.

if (Signal && AllowAlert = true ){
Alert( 'Signal detected' );
AllowAlert = false ;
} 

Kontrol sırasında AllowAlert'i true olarak ayarladınız. Böyle olmalı (çift =):

 if (Signal && AllowAlert == true ){
Alert( 'Signal detected' ); 
 AllowAlert = false ;
 }    

Ve böylesi daha iyi:

 if (Signal && AllowAlert){
Alert( 'Signal detected' );
AllowAlert = false ; }   
 
leksiq :

Kontrol sırasında AllowAlert'i true olarak ayarladınız. Böyle olmalı (çift =):

Ve böylesi daha iyi:




Genel olarak, değişken statik olarak bildirildi ve birkaç çubuk sonra sıfırlandı. Durum şuydu.

 static bool AllowAlert = true ;

if (Time[i] == Time[ 2 ] && AllowAlert == true )
  {
  Alert( "sdfsdf" );
  AllowAlert = false ;
  }

if (Time[i] != Time[ 2 ])
  {
  AllowAlert = true ;
  }
Teorik olarak, sinyal mevcut çubukta bir kez olmalıdır, ancak her tik üzerinde çalıştı.
 
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
bool NewBar(){ static int prevBar;
   if (prevBar!=Time[ 0 ]){
      prevBar =Time[ 0 ];
       return ( true );
   }
   return ( false );
}
//+------------------------------------------------------------------+
Neden önce buraya bir göz atmıyorsunuz: https://www.mql5.com/en/forum/131853 ?
 
FAQ :
Neden önce buraya bir göz atmıyorsunuz: https://www.mql5.com/ru/forum/131853 ?

Nasıl yapılacağıyla değil, kodumun neden çalışmadığıyla daha çok ilgileniyorum. Daha doğrusu Expert Advisor'da neden çalışıyor, ancak göstergede çalışmıyor.
 

Büyük olasılıkla ve bu bana burada önerildi (kodunuzun yokluğunda)

Birkaç uyarınız (olay) var ve hepsi için aynı stat değişkenini kullanıyorsunuz

 

merhaba.

kim söyleyebilir?

danışman çalışma aralığı nasıl yapılır? Açıklayacağım.

bir çizgi çizin, "buy_down" olarak yeniden adlandırın

ikincisini çizin, "buy_up" olarak yeniden adlandırın

ve danışmanın yalnızca bu satırlar arasında ticaret yapmasına izin verin .

teşekkür etmek.

 
TESKATLIPOKA :

merhaba.

kim söyleyebilir?

danışman çalışma aralığı nasıl yapılır? Açıklayacağım.

bir çizgi çizin, "buy_down" olarak yeniden adlandırın

ikincisini çizin, "buy_up" olarak yeniden adlandırın

ve danışmanın yalnızca bu satırlar arasında ticaret yapmasına izin verin.

teşekkür etmek.


Buradasınız: https://www.mql5.com/en/job