MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 1415
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
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.
Belki dizi boştur? İşlevi biraz değiştirerek kontrol edin
0 yazdırırsa, diziyi doldurmada bir sorun olup olmadığına bakın.Bir hata bulundu. Son satıra Yazdır (str); e str yerine str'yi geçtiniz . Düzelttim ve her şey yolundaydı.
Şimdi bana öyle geliyor ki, sayenizde bu konuya sadece genel anlamda değil, tüm detaylarıyla hakim oldum. Cevapsız kalan tek soru, #14142 numaralı mesajımdaki profesyonellerle ilgili soruydu.
Yardımlarınız ve desteğiniz için teşekkür ederiz.
forumda ve C#, Delphi ve diğer her şeyle ilgili yayınlarda...
Bir hata bulundu. Son satıra Yazdır (str); e str yerine str'yi geçtiniz . Düzelttim ve her şey yolundaydı.
Şimdi bana öyle geliyor ki, sayenizde bu konuya sadece genel anlamda değil, tüm detaylarıyla hakim oldum. Cevapsız kalan tek soru, #14142 numaralı mesajımdaki profesyonellerle ilgili soruydu.
Yardımlarınız ve desteğiniz için teşekkür ederiz.
onu aktarmadım
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum
MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma
Aleksey Stepanenko , 2021.03.13 09:04
veya ayrı bir dizi yazdırma işlevi yapın:
Ve her yerden arayın
Sadece buna dikkat etmedim. Derlemenin nasıl hatasız gittiği belli değil, net değil ...
Ve her şeyi anladıysanız ve tüm diziyi boyadıysanız ne cevap vereceksiniz?
Bana öyle geliyor ki sonunda aklıma geldi (biraz acemiyim)......
İ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). Ve 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.
Bunu hiç yapmadım, "aptallar" için bir bağlantı alabilir miyim?
Daha önce C#, Delphi ve bunun gibi diğerlerinde yazmadıysanız, faydası olmaz.. Windows her yerde olduğu gibi oluşturulur, ancak önce “her yerde” nasıl olduğunu bulmanız gerekir.
İlk olarak, kısa bir C# kursu, WinForms (örneğin). İnternette bir sürü olmalı. Bu biraz forumun kapsamı dışında.
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) + "
Sonuçta, anlayışımı tarif ettiğim şekilde, açıkça her yinelemede dizelerin bağlantısının str + = atama işlemiyle birlikte tek bir yerde ve 1 kez gerçekleştiğini takip ediyor.
Yani, + sembolü kullanılarak, str dize değişkenindeki bir öğenin değeri, aynı dize değişkeni str'nin başka bir öğesinin değeriyle birleştirilir (artılanır).
Ve bu kırmızı + ne anlama geliyor, hala anlamıyorum str +="--LoY[" + IntegerToString(r) +" ]--, " + DoubleToString(LoY[r],4) + ", "; . Sonuçta bu kırmızı artılar arasındaki değerler üzerinden herhangi bir toplama işlemi yapılmıyor..... bana öyle geliyor ki. Eğer haklıysam bu kırmızı artıların işlevi nedir? Ve eğer yanılıyorsam, o zaman bir şeyi yanlış anladım.
Bu arada 14109 nolu mesajınızda sarı çizgide sadece bir tane kırmızı artı var ve + DoubleToString(LoY[r],4) önünde duruyor. Ve ondan sonra, nedense, olmuyor.
Yardım için teşekkürler.
Derlemenin nasıl hatasız gittiği belli değil, net değil ...
Derleyicinin str'nin tanımlı olmadığını belirttiğini gördüğümde, kullanıcı tanımlı bir işlevin gövdesi içinde str'yi kendim başlattım. Ama sana bundan bahsetmeyi unuttum.
Sonra her yerde user işlevinden str'yi sildim ve user işlevinin son satırına str - eStr yerine parantez içine yerleştirdim.
Daha önce C#, Delphi ve diğerlerinde yazmadıysanız bir faydası olmaz.. Windows her yerde olduğu gibi oluşturulur ama önce “her yerde” nasıl olduğunu bulmanız gerekir.
İlk olarak, kısa bir C# kursu, WinForms (örneğin). İnternette bir sürü olmalı. Bu biraz forumun kapsamı dışında.
Peki, form oluşturuldu.
Pencerem ve danışman arasındaki veri alışverişinin nasıl kaydedileceğiyle daha çok ilgileniyorum.
Aleksei Stepanenko :
Açıklama için teşekkürler.
Bu arada sarı artıları sildim derleyici hata verdi. Yani bütün bu yapıda bir rol oynuyorlar. Ama ne .... Hala anlamıyorum. Dizelerin eklenmesi yalnızca mavi artıların yardımıyla gerçekleştirilirse neden bunlara ihtiyaç duyulur? Ve bu tasarımda daha fazlası, açıklamalarınıza bakılırsa, yanılmıyorsam hiçbir şey eklenmez .....
Ve string(i) hakkında... Tip dökümü hakkında.... Az çok netim. Bunun ne olduğu açık değil ..... string değişken tipinin adıdır. i - dizi öğesinin indeksini gösteren değişken sayaç. neden parantez () içindeyim ? Şimdiye kadar parantezlerin bir fonksiyonun işareti olduğunu düşünürdüm. Örneğin Yazdır(). Ve bazı fonksiyonlarda parantez içinde çeşitli veriler girilir. Ve ne anlama geliyorlar veya parantezler i ve tüm bu yapı - string (i) ile ilgili olarak hangi işlevi yerine getiriyor. İlk bakışta, i değişkeninin int (integer) türünde olduğu ve ardından i değişkeninin türünü int'den string (string) olarak değiştirdiğiniz görülüyor. Ama öyle düşünmek , içinde bulunduğum parantezler tarafından izin verilmez.
Açıklama için teşekkürler.