Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 1072

 
İyi günler, 5 kopeklik bir soru))) Lütfen söyleyin, bir fonksiyona geçildiğinde "&" işareti ne anlama geliyor? Örnek: int belirlemeSection_D1(int & askSection_D1,int & bidSection_D1) ? Teşekkür ederim.
 
rabanik : Kind ... 5 kopek için ... transferlerde ve fonksiyonlarda ... "&" ne anlama geliyor?

Resmi büyütmek için sol tıklayın veya kaydetmek için sağ tıklayın

MetaEditor, MQL-4 dilinde yardıma sahiptir. Hepsini okumak ya da en azından üzerinden geçmek mantıklı

 

Tünaydın.

Ekranda bir buton yaptım ve buna Çevrimdışı Grafiğin açılışını eklemek istiyorum. Hangi işlev, istenen çevrimdışı grafiğe giden yolu belirleyebilir?

 
İyi günler, grafiğin her 10 saniyede bir otomatik olarak nasıl güncelleneceği . böylece "Güncelle" düğmesine her tıklamadığınızda
 
zert : grafik güncelleme
geçersiz   OnTimer () // Zamanlayıcı ile WindowRedraw(); // Pencereyi yeniden çiz
 
LRA :
geçersiz   OnTimer () // Zamanlayıcı ile WindowRedraw(); // Pencereyi yeniden çiz
Bütün bunları nereye yazacağımı anlamadım, ekranda gösterebilir misiniz?
 
zert : nereye yazılır
kullanılmış danışmana yerleştirin. Eğer yoksa, yazmanız gerekir. Neden yeni bir takma ad?
 
LRA :

Resmi büyütmek için sol tıklayın veya kaydetmek için sağ tıklayın

MetaEditor, MQL-4 dilinde yardıma sahiptir. Hepsini okumak ya da en azından üzerinden geçmek mantıklı

Cevap için teşekkürler. tam olarak anlamadım Örneğin, parametrelerle bir SendOrder(int &Ticket, int Type ,double LT ,double OP=-1 ,int ModeSL=0) işlevim var. Ayrıca, örneğin kodda herhangi bir koşulda ona atıfta bulunmaya çalışırsam, "parametre referans, değişken olarak geçti" hatası alıyorum.

Bana ne yapmamı tavsiye edersin? Teşekkür ederim.

 
rabanik : .... "parametre referans olarak geçti, değişken" hatasına başvurursanız.

Parametrenin & değeri yoksa, bu daha güvenilirdir. Gerçek parametre kopyalanır ve kopya fonksiyona iletilir. Bir fonksiyon içindeki bir parametrede yapılan değişiklikler, fonksiyon içinde olduğu gibi kalır. İşlev çağrısı sitesindeki asıl parametre değişmeden kalır. Ve fonksiyona bir sabitin mi yoksa bir değişkenin mi aktarıldığı önemli değildir, çünkü her durumda parametrenin sadece bir kopyası fonksiyona ulaşır. Bu, güvenilirliği artırmak, değişkenleri herhangi bir işlevde kazara değişiklikten korumak için yapılır.

Bir parametreyi referansla iletirken , & sembolü gösterilir; bu, değişkenin kendisinin adresi olan fonksiyona bir referansın iletildiği anlamına gelir. Ve fonksiyon bu değişkeni değiştirebilir ve bu değişiklikler, böyle bir fonksiyon olarak adlandırılan fonksiyonun içindeki değişkenin değerine yansıyacaktır. Eh, fonksiyonun parametrenin değerini değiştirmesi için, bir değişken olmalıdır.Tercüman büyük olasılıkla şunu yazdı: parametre referans olarak iletildi, değişken bekleniyor = referansa göre parametre bir değişken olmalı

Yine şüpheniz varsa, bunun yerine SendOrder(int &Ticket, int Type ,double LT ,double OP=-1 ,int ModeSL=0) işlevine sahibim , işlevin nasıl çağrıldığını yazmak daha iyidir. İlk parametre olarak bir sayı geçiyor gibisiniz, bu mantıklı değil. İşleviniz, bu parametrede, aracının veri tabanında siparişin verildiği numarayı döndürmeye çalışıyor. Açıkçası, bir değişken olmalı. Şüphe duyduğunuzda, işlevi kontrol edin. Ve fonksiyonun geçen sayıyı değiştirmesi ZOR, bu yerde bir değişken istiyor.

 

Bir örnekten anlamak daha kolay olabilir mi?

 void OnStart ()
{
 int a = 5 ;
 int b = 7 ;
 int c = f(a, b);
 Print ( "a = " , a, ": b = " , b ": c = " , c);
}

int f( int k , int n)
{
 k += 2 ;
 return (k+n);
}

//результат a = 5 : b = 7: с = 14

Başka bir varyant

 void OnStart ()
{
 int a = 5 ;
 int b = 7 ;
 int c = f(a, b);
 Print ( "a = " , a, ": b = " , b ": c = " , c);
}

int f( int &k , int n)
{
 k += 2 ;
 return (k+n);
}

//результат a = 7 : b = 7: с = 14

işte fark.