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

 
Artyom Trishkin :
Ve bir statik değişkenin kaç kez başlatıldığını okursunuz. Ve saçmalığı nedeniyle sorunun kendisi ortadan kalkacak;)

O halde şu nasıl anlaşılır: Statik anahtar kelime ile bildirilen yerel değişkenler, fonksiyon ömrü boyunca değerlerini korurlar. İşleve yapılan sonraki her çağrıda, bu tür yerel değişkenler önceki çağrı sırasında sahip oldukları değerleri içerir. Özel işlevde bildirilen bir değişken yerel değil mi?

 
Alekseu Fedotov :

İkinci soru için,

ilk kene tutmazsa ikincisi yakalar.

Çubuğun açılış saatini döndürür. Bar boyunca aynı olacak.
 
novichok2018 :

O halde şu nasıl anlaşılır: Statik anahtar kelime ile bildirilen yerel değişkenler, fonksiyon ömrü boyunca değerlerini korurlar. İşleve yapılan sonraki her çağrıda, bu tür yerel değişkenler önceki çağrı sırasında sahip oldukları değerleri içerir. Özel bir işlevde bildirilen bir değişken yerel değil mi?

Statik değiştirici onu statik yapar ve yerel olanlar için değil, statik değişkenler için zaten bellekte depolanır.
 
Artyom Trishkin :
Çubuğun açılış saatini döndürür. Bar boyunca aynı olacak.

İşte anlıyorum. Teşekkür ederim.

 
Artyom Trishkin :
Statik değiştirici onu statik yapar ve yerel olanlar için değil, statik değişkenler için zaten bellekte depolanır.

Ama burada anlamıyorum. Bence nerede saklandığı önemli değil, koda göre fonksiyon her çağrıldığında değişkenin değerini sıfırlıyoruz. Ne için?

 
novichok2018 :

Ama burada anlamıyorum. Bence nerede saklandığı önemli değil, koda göre fonksiyon her çağrıldığında değişkenin değerini sıfırlıyoruz. Ne için?

İlk lansman için - duyuruda. Ayrıca, içeriğini kendiniz kontrol edersiniz.
 
Artyom Trishkin :
İlk lansman için - duyuruda. Ayrıca, içeriğini kendiniz kontrol edersiniz.

Yine de, bence bu böyle değil: kod her seferinde satır satır okunur ve her sıfıra denk geldiğinde ve ilk çalıştırmada, başlatma olmasa bile, değişken sıfır değeri alır. Satırın static datetime New_Time=0; programın gereksiz işler yapmasına neden olur.

 
novichok2018 :

Yine de, bence bu böyle değil: kod her seferinde satır satır okunur ve her sıfıra denk geldiğinde ve ilk çalıştırmada, başlatma olmasa bile, değişken sıfır değeri alır. Satırın static datetime New_Time=0; programın gereksiz işler yapmasına neden olur.

Sana "hayır" diyorlar, sen "evet" diyorsun...
Değişkenin değerini günlüğe yazdırın ve bir göz atın. En basit şeyleri açıklarken neden dinleniyorsunuz?
Kendin kontrol edene kadar bensiz devam et.
 
Artyom Trishkin :
Sana "hayır" diyorlar, sen "evet" diyorsun...
Sadece değişkenin değerini günlüğe kaydedin ve bir göz atın. En basit şeyleri açıklarken neden dinleniyorsunuz?
Kendin kontrol edene kadar bensiz devam et.
Üzülmeye gerek yok. Ama görünüşe göre programcılar metni farklı okuyorlar. Her zaman, program "sıfıra eşit" derse, bilgisayarın başlatılıp başlatılmadığına veya bir kod satırına ne zaman yeniden eriştiğine bakılmaksızın bilgisayarın sıfıra eşit olması gerektiğine inandım. Zero ile başlatmanın fazlalığını kanıtlamak için herhangi bir günlüğe gitmenize gerek yok, sadece kaldırın: static datetime New_Time; statik tarihsaat ile tamamen aynı sonuçları verir New_Time=0; Programı ne kadar hızlandırdığını bilmiyorum, hiç de önemli olmadığını kabul ediyorum, ancak “ekstra vücut hareketi” hala kaldırılıyor.
 
novichok2018 :
Üzülmene gerek yok. Ancak programcıların metni farklı şekilde okudukları açıktır. Her zaman, program "sıfıra eşit" derse, bilgisayarın başlatılıp başlatılmadığına veya bir kod satırına ne zaman yeniden eriştiğine bakılmaksızın bilgisayarın sıfıra eşit olması gerektiğine inandım. Sıfır ile başlatmanın fazlalığını kanıtlamak için herhangi bir günlüğe gitmenize gerek yok, sadece kaldırın: static datetime New_Time; statik tarihsaat ile tamamen aynı sonuçları verir New_Time=0; Programı ne kadar hızlandırdığını bilmiyorum, hiç de önemli olmadığını kabul ediyorum, ancak “ekstra vücut hareketi” hala kaldırılıyor.
İnatçılığa kızmıyorum. Ne için?
Değişkenler açıkça başlatılmalıdır. O zaman bir gün başlatmanın önemine ulaşacaksınız. Bu arada, kaşlı ayraçların içindeki her şeyi koddan atabilirsiniz.