MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 1414
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
veya ayrı bir dizi yazdırma işlevi yapın:
Ve her yerden arayın
Alexey, uzun süre sessiz kaldım, ancak bunu sakin bir şekilde göremiyorum ... Bu durumda açık tip döküm çok daha kolay ve daha ucuzsa neden IntegerToString () işlevini kullanıyorsunuz ...
ha alışkanlık :)
veya ayrı bir dizi yazdırma işlevi yapın:
Ve her yerden arayın
Anlayışınız ve açıklamanız için çok teşekkür ederiz. Çalışmak ve benim için yeni bilgileri anlamak için ara veriyorum.
Alexey, uzun süre sessiz kaldım, ama bunu sakince göremiyorum ... Bu durumda açık tip döküm çok daha kolay ve daha ucuzsa neden IntegerToString () işlevini kullanıyorsunuz ...
Ve değerli eklemeleriniz için teşekkür ederiz.
Lütfen bana nereye bakacağımı söyleyin, bir danışman için harici bir pencere oluşturma hakkında bilgi edinin.
forumda ve C#, Delphi ve diğer her şeyle ilgili yayınlarda...
veya ayrı bir dizi yazdırma işlevi yapın:
Ve her yerden arayın
Ayrı bir özel dizi yazdırma işlevi yapmaya karar verdim. Ya da daha doğrusu, daha önce yaptığınızı ( PrintArray() ) kullanmayın.
Ne yaptım?
1. Özel PrintArray() işlevine çağrıyı, Kovalev'in öğreticisinde yazıldığı gibi OnTick()... işlevinin içine yerleştirdim.
2. PrintArray() işlevinin gövdesini Kovalev'in öğreticisinde yazıldığı gibi OnTick() işlevinin dışına yerleştirdim.
Bu işlevin gövdesindeki tüm yeni değişkenler yereldir. Bu fonksiyon içinde bildirilir ve başlatılırlar.
İşlevinizde herhangi bir değişiklik yapmadım. Ancak derleyici nedense 6 hata veriyor. Ve hepsi özel bir işleve aittir.
Bana neyi yanlış yaptığımı söylerseniz çok minnettar olurum.
Teşekkür ederim.
Ayrı bir özel dizi yazdırma işlevi yapmaya karar verdim. Daha doğrusu, daha önce yaptığınızı ( PrintArray() ) kullanmayın.
Ne yaptım?
1. Özel PrintArray() işlevine çağrıyı, Kovalev'in öğreticisinde yazıldığı gibi OnTick()... işlevinin içine yerleştirdim.
2. PrintArray() işlevinin gövdesini Kovalev'in öğreticisinde yazıldığı gibi OnTick() işlevinin dışına yerleştirdim.
Bu işlevin gövdesindeki tüm yeni değişkenler yereldir. Bu fonksiyon içinde bildirilir ve başlatılırlar.
İşlevinizde herhangi bir değişiklik yapmadım. Ancak derleyici nedense 6 hata veriyor. Ve hepsi özel bir işleve aittir.
Bana neyi yanlış yaptığımı söylerseniz çok minnettar olurum.
Teşekkür ederim.
Tam olarak hatırlamıyorum ama kontrol edemeyecek kadar tembelim. Köşeli parantez eklemeyi deneyin
Aleksei Stepanenko :
Bana öyle geliyor ki sonunda aklıma geldi (biraz geri zekalıyım)....
İlk yinelemede, dizge değişkeni str boştur. =+ sembolleri, str'ye kendisine boş bir tane atamasını (değerler olmadan) ve değerleri kendisine boş olan bir dize eklemesini söyler, yani "--LoY["+IntegerToString(r)+"]--, "+DoubleToString( LoY[r ],4)+", ";. Bu dizenin değeri " -- LoY[0]--, --1.6104-- " olacaktır. Bu işlemlerden sonra , ilk yinelemede str " -- LoY[0]--, --1.6104-- " değerini alır. Terminolojinizden anladığım kadarıyla buna birinci unsur deniyor.
İkinci yinelemede , str zaten " --LoY[0]--, --1.6104-- " değerine sahip bir ilk öğeye sahip Semboller =+ reçete str kendini ilk elemanın değeriyle ve kendisine ilk elemanın değeriyle atar, diğer değerlerle bir dize ekler, yani "--LoY["+IntegerToString(r)+"]--, "+DoubleToString (LoY[r] ,4)+", ";. Bu satırın değeri zaten " --LoY[1]--, --1.6105-- " olacaktır. Bu işlemlerden sonra ikinci yinelemede str değeri alır " -- LoY[0]-- --1.6104-- -- LoY[1]-- --1.6105-- ". Yani, ikinci öğe str'ye göründü (eklendi). Otuzuncu yinelemede str, farklı dizi öğesi değerlerine sahip 30 öğeye sahip olacaktır.
Ve döngünün bitiminden sonra, 30 elemanlı dizge değişkeni str, bunun dışında bir kez yazdırılacaktır.
Uzun bir süre bu algoritmayı anlayamadım çünkü toplamadan bahsettiğinizde sadece kırmızı artılara dikkat ettim. str + = yerine "--LoY[" + IntegerToString (r) + "]--, " + DoubleToString(LoY[r],4) + "
Ve bu kırmızı artıların bu algoritmada nasıl bir rol oynadığı benim için hala bir gizem olmaya devam ediyor. "--LoY[" + IntegerToString(r) + "]--, " + DoubleToString(LoY[r],4) + "
Yardım için teşekkürler.
Tam olarak hatırlamıyorum ama kontrol edemeyecek kadar tembelim. Köşeli parantez eklemeyi deneyin
Eklenen köşeli parantezler void PrintArray(double &eArray[]) Derleyici herhangi bir hata veya uyarı göstermedi.
AMA..... işlev Print() nedense bir kez bile yazdırmadı.
Tembelliğini anlıyorum çünkü ben de böyleyim. Tembellik geçer ve yerine coşku gelirse, kullanıcı işlevinde hala neyin yanlış olduğunu söylerseniz size minnettar olacağım.
Yardımın için teşekkürler ve rahatsız ettiğim için özür dilerim.