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

 
Artyom Trishkin :

2. "Sıfırdan büyük" ne anlama geliyor?

Bu, arabellekte bir miktar fiyat olduğu anlamına gelir, aksi takdirde arabellekte fiyat yoktur.

Artyom Trishkin :

Veri penceresinde bu göstergenin arabellek değerlerinde ne görüntülenir?

Fiyat ya da hiçbir şey.
 
Ghabo :

Bu, arabellekte bir miktar fiyat olduğu anlamına gelir, aksi takdirde arabellekte fiyat yoktur.

Varsayılan olarak birçok gösterge tarafından kullanılan EMPTY_VALUE değeri - "boş" arabellek değeri, sıfırdan çok daha büyük olan DBL_MAX değerine sahiptir. Bu yüzden soruyorum.

Kontrol etmeyi deneyin (M_A > 0 && M_A < EMPTY_VALUE)

 
Artyom Trishkin :

Varsayılan olarak birçok gösterge tarafından kullanılan EMPTY_VALUE değeri - "boş" arabellek değeri, sıfırdan çok daha büyük olan DBL_MAX değerine sahiptir. Bu yüzden soruyorum.

(M_A > 0 && M_A < EMPTY_VALUE) olup olmadığını kontrol etmeyi deneyin

Sinyaller orada. Hepsi bu?

 void OnInit () {
  time= Time [ 0 ];
}
//////////////////////////////
if (М_А> 0 && M_A < EMPTY_VALUE )  
{
if (time!= Time [ 0 ])
   {
    time= Time [ 0 ]; 
    AL( Symbol ()+ " " + Period ()+ " УХ ТЫ" , 2 ); //
   }
 }

Yani başlangıçta hiçbir uyarı olmayacak, ancak göstergenin takılı olduğu çubukta bir sinyal göründüğünde mi olacak?

Başlatma sırasında, zamanın bar açılış saatine eşit olduğundan şüpheliyim .

Nasıl karar verilir?

 
Ghabo :

Sinyaller orada. Hepsi bu?

Yani başlangıçta hiçbir uyarı olmayacak, ancak göstergenin takılı olduğu çubukta bir sinyal göründüğünde mi olacak?

Başlatma sırasında, zamanın bar açılış saatine eşit olduğundan şüpheliyim .

Nasıl karar verilir?

OnInit() içinde zamanla zamanın başlatılmasını kaldırın

 void OnCalculate ()
  {
   static datetime time= 0 ;
//---
   if (М_А> 0 && M_A < EMPTY_VALUE )  
     {
       if (time!= Time [ 0 ])
        {
         time= Time [ 0 ]; 
         AL( Symbol ()+ " " + Period ()+ " УХ ТЫ" , 2 ); //
        }
     }
  }
 
Taras Slobodyanik :

yani her şey hazır, sadece bir yazma/okuma eklemeniz gerekiyor

Bu kod çalışıyor mu yoksa çalışmalı mı? Gerçek bir kimliğe sahip global bir değişkenden çıkardıktan sonra katılmıyorum. Ve mümkünse gösterge şeklinde bir örnek. Teşekkür ederim.
 
inter78 :
Bu kod çalışıyor mu yoksa çalışmalı mı? Gerçek bir kimliğe sahip global bir değişkenden çıkardıktan sonra katılmıyorum. Ve mümkünse gösterge şeklinde bir örnek. Teşekkür ederim.

kodum benim için çalışıyor, kodunuzu göremiyorum.
lütfen)

 

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

MQL4, yardım ve algoritmalar ve kodlar hakkında herhangi bir acemi sorusu

Taras Slobodyanik , 2018.10.05 11:01

Küresel değişkenlerle, karmaşık bir şey yok:
- değişken adı önek+sembol+nokta olacak, değer = grafik kimliği
- başlangıçta, önekimiz ile değişkenleri sıralarız ve kimliği karşılaştırırız
- grafik bize ait değilse, böyle bir grafiğin olup olmadığını kontrol edin, grafik artık orada değilse - değişkeni silin
- tablo bize aitse - isimden sembolü ve noktayı alırız ve ayrıca değişkeni sileriz (veya tekrar üzerine yazarız)



Değişken önekinin ne olduğu ve neden gerekli olduğu konusunda yardımda hiçbir şey bulamadım. Lütfen böyle bir global değişkenin nasıl oluşturulacağına dair bir örnek verin.

GPT'nin 4 hafta boyunca saklandığı yazıyor, bu terminal kapatılsa bile mi?

 
psyman :

Değişken önekinin ne olduğu ve neden gerekli olduğu konusunda yardımda hiçbir şey bulamadım. Lütfen böyle bir global değişkenin nasıl oluşturulacağına dair bir örnek verin.

GPT'nin 4 hafta boyunca saklandığı yazıyor, bu terminal kapatılsa bile mi?

önek konusunda, kendi değişkeninizin nerede olduğunu, bir başkasının nerede olduğunu belirleyebilmeniz ve önekle tüm değişkenleri bir kerede silebilmeniz için addaki öneki kastettim:

 int    GlobalVariablesDeleteAll ( 
   string      prefix_name= NULL ,     // все глобальные переменные, чьи имена начинаются с префикса 
   datetime    limit_data= 0            // все глобальные переменные, которые изменялись ранее ранее указанной даты 
   );

Örneğin:

 string    GV_prefix= "ZZ_" ;                                               //префикс имени для всех своих
string    prefix_gv=GV_prefix+ _Symbol + "_" +TFtoStr(ind_period)+ "_" ;       //префикс имени для конкретного символа и периода

GlobalVariablesDeleteAll (prefix_gv); //удалить все переменные со своим префиксом


   //создание и запись глобальных переменных в цикле
   int num= 0 ;
   for ( int i=lines_all- 1 ;i>=end;i--)
      {
       string name=prefix_gv+ "Price_" + IntegerToString (num, 4 , '0' );
       if ( GlobalVariableCheck (name) || GlobalVariableTemp (name))
         GlobalVariableSet (name, Line_ALL[i].price);
      
      name=prefix_gv+ "TimeBeg_" + IntegerToString (num, 4 , '0' );
       if ( GlobalVariableCheck (name) || GlobalVariableTemp (name))
         GlobalVariableSet (name, Line_ALL[i].time_start);
      
      name=prefix_gv+ "TimeEnd_" + IntegerToString (num, 4 , '0' );
       if ( GlobalVariableCheck (name) || GlobalVariableTemp (name))
         GlobalVariableSet (name, Line_ALL[i].time_end);
      
      name=prefix_gv+ "Visible_" + IntegerToString (num, 4 , '0' );
       if ( GlobalVariableCheck (name) || GlobalVariableTemp (name))
         GlobalVariableSet (name, Line_ALL[i].visible);
      
      name=prefix_gv+ "Direction_" + IntegerToString (num, 4 , '0' );
       if ( GlobalVariableCheck (name) || GlobalVariableTemp (name))
         GlobalVariableSet (name, Line_ALL[i].direct);
      
      num++;
      }


not. name ayrıca bilgileri saklayabilir/alabilir

 

Şimdi ne hakkında konuştuğumuz açık.

= değişken adı önek+sembol+nokta olacak, değer = grafik kimliği

Neden bu kadar zor? Yalnızca dönemi saklamak istiyorsanız , grafik kimliğinin adını yapabilirsiniz.

 
psyman :

Şimdi ne hakkında konuştuğumuz açık.

= değişken adı önek+sembol+nokta olacak, değer = grafik kimliği

Neden bu kadar zor? Yalnızca dönemi saklamak istiyorsanız , grafik kimliğinin adını yapabilirsiniz.

Örnek olarak yazıyorum)

sembolü hatırlamak gereksizse, evet, onu hatırlayamazsınız

ad yalnızca bir grafik kimliği ise, gereksiz değişkenler nasıl silinir?
(sık kullanımda bir sürü değişken yazılacaktır)

önek yoksa - aynı, gereksiz değişkenler nasıl kaldırılır?