MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 1933

 

Meslektaşlarım, bir çıkmazdayım. Yardıma ihtiyacım var.

Normalde çalışan bir gösterge var, ikiden geçtim ama mesele bu değil. Harici değişkenlerin ilk bloğunu gizlemek istiyorum, ancak derlemeden sonra bu bloktaki herhangi bir giriş silindiğinde, terminal, grafikte ayarlanan gösterge ile donuyor.

76. satırdan 86. satıra kadar olan kod parçası

 input string       01 = "••  Channel:" ;   // ------------------------------------------------------------
input string       02 = "" ;       //  

input ENUM_TF_MINUTES   TMA_TimeFrame = TF_CURR;                         // Time Frame
input uint               TMA_Half_Length = 55 ;                                                                   // Averaging Period
input ENUM_APPLIED_PRICE         TMA_Price = PRICE_CLOSE ;         // Applied _Price
input double     TMA_ATR_Multiplier = 3 ;                                                         // ATR Multiplier
input uint               TMA_ATR_Period = 100 ;                                                                   // ATR Period
input double     TMA_Band_Deviation_Percent = 50 ;                         // Band Deviation Percent
input bool               TMA_Interpolate = true ;                                                         // Interpolate?
input uint Bars_Limit= 1000 ;

Ayrıca, bu bloğun tamamını diğer değişkenlerin altına taşırsam ve aşırı değişkenleri yukarı veya aşağı hareket ettirsem bile kilitleniyor:

Bir blok içindeki değişkenlerin sırasını değiştirirken iyi derler. Terminal donmuyor.

Bir çeşit şeytan, hiçbir şey anlamıyorum. Belki bariz bir şey görmüyorum, gözlerim bulanık (((kodu ekliyorum)

PS Sorun çözüldü, kod silindi.
 
Andrey Kaunov # :

Meslektaşlarım, bir çıkmazdayım. Yardıma ihtiyacım var.

Normalde çalışan bir gösterge var, ikiden geçtim ama mesele bu değil. Dış değişkenlerin ilk bloğunu gizlemek istiyorum, ancak derlemeden sonra bu bloktaki herhangi bir girişi silerken, grafikte gösterge kuruluyken terminal donuyor.

76. satırdan 86. satıra kadar olan kod parçası

Ayrıca, bu bloğun tamamını diğer değişkenlerin altına taşırsam ve aşırı değişkenleri yukarı veya aşağı hareket ettirsem bile kilitleniyor:

Bir blok içindeki değişkenlerin sırasını değiştirirken iyi derler. Terminal donmuyor.

Bir çeşit şeytan, hiçbir şey anlamıyorum. Belki bariz bir şey görmüyorum, gözlerim bulanık (((kodu ekliyorum)

girdiyi const ile değiştir

ve sevinin!

 
Maxim Kuznetsov # :

girdiyi const ile değiştir

ve sevinin!

Yardımcı olmuyor, göstergeyi grafiğe eklerken terminal hala donuyor.

 
Andrey Kaunov # :

Yardımcı olmuyor, göstergeyi grafiğe eklerken terminal hala donuyor.

ve derlemek?

yani, parametrenin bir input özelliği varsa çalışır, ancak const ise askıda kalır mı?

böyle mucizeler olmaz

 
Andrey Kaunov # :

Bir çeşit şeytan, hiçbir şey anlamıyorum. Belki bariz bir şey görmüyorum, gözlerim bulanık (((kodu ekliyorum)

379 satırından başlayarak, göstergeye geri dönüyorsunuz (kendini çağırıyor). Orada parametreler var ve parametrelerin sırasını değiştirdikten sonra onları hizalamanız gerekiyor.

 
Nikolay Ivanov # :

379 satırından başlayarak, göstergeye geri dönüyorsunuz (kendini çağırıyor). Orada parametreler var ve parametrelerin sırasını değiştirdikten sonra onları hizalamanız gerekiyor.

Çok teşekkür ederim Nikolay.

Evet, daha derine inmemiz gerekiyordu. Ve parametrelere takıldım.

 

Lütfen bana bu döngüde iç döngünün neden çalışmadığını söyleyebilir misiniz?

for (int Try=0; Try<1;) 

  {  Print("цикл 1");

      for (int Try2=0; Try2<1;) 

        {  Print("цикл 2"); Try=1; Try2=1;
...


"Döngü 2" yazdırılmaz. Sadece "döngü 1"

 
OBJ_RECTANGLE_LABEL boyutunun farklı monitörlerde aynı olması için nasıl düzeltileceğini kim bilebilir? Yerleşik OneClickTrading panelinin boyutuna göre (piksel olarak) küçük bir panel yaptım, ancak farklı monitörlerde benimki boyut değiştiriyor, ancak yerleşik olan değişmiyor.
 
Ivan Butko # :

Lütfen bana bu döngüde iç döngünün neden çalışmadığını söyleyebilir misiniz?

for (int Try=0; Try<1;) 

  {  Print("цикл 1");

      for (int Try2=0; Try2<1;) 

        {  Print("цикл 2"); Try=1; Try2=1;
...


"Döngü 2" yazdırılmaz. Sadece "döngü 1"

her şey yazdırılır, uyarılır

 void OnStart ()
  {
//---
for ( int Try= 0 ; Try< 1 ;) 

  { Alert ( "цикл 1" );

       for ( int Try2= 0 ; Try2< 1 ;) 

        {   Alert ( "цикл 2" ); Try= 1 ; Try2= 1 ;
        }}
   
  }
//+------------------------------------------------------------------+

2022.03.20 10:28:29.373 Komut dosyası qqq EURUSD,M1: kaldırıldı
2022.03.20 10:28:29.373 qqq EURUSD,M1: uninit neden 0
2022.03.20 10:28:29.373 qqq EURUSD,M1: Uyarı: Döngü 2
2022.03.20 10:28:29.357 qqq EURUSD,M1: Uyarı: Döngü 1
2022.03.20 10:28:29.326 qqq EURUSD,M1: başlatıldı

 
Valeriy Yastremskiy # :

her şey yazdırılır, uyarılır

2022.03.20 10:28:29.373 Komut dosyası qqq EURUSD,M1: kaldırıldı
2022.03.20 10:28:29.373 qqq EURUSD,M1: uninit neden 0
2022.03.20 10:28:29.373 qqq EURUSD,M1: Uyarı: Döngü 2
2022.03.20 10:28:29.357 qqq EURUSD,M1: Uyarı: Döngü 1
2022.03.20 10:28:29.326 qqq EURUSD,M1: başlatıldı

Kontrol ettiğin için teşekkürler! izleyeceğim