[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 5. - sayfa 323
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
İşte olanlar:
Aslında, satır bile yazdırılmaz:
Yani yukarı yönde bir tür pervaz var.
En ilginç şey, buraya varsayılan bir dönüş eklediğimde, nedense her zaman işe yarıyor. hattan bahsediyorum:
return (REQUIRED_SEQUENTIAL_MISS);
Kodun temel olduğu açık olsa da ve orada hata olamaz gibi görünüyor.
Herkese iyi! Sevgili gurular, mevduat para biriminde artan ve azalan kar ile v_s'nin neden arttığını ve azaldığını söyleyin bana?
value_profit(), mevduat para birimindeki kar hesaplamasıdır.
çift değer_durdur, değer_adım;Aslında, satır bile yazdırılmaz:
1. Modülerleştirme neden hemen yapılır? Elbette herkesin kendine has bir tarzı vardır ama önce kompakt versiyonu cilalardım, sonra saat gibi çalıştığında modülerliğe çevirirdim. Kompakt sürüm (Trade, LastCandlesType, GetStateOfMA, GetGeneralSignal harici işlevleri olmadan), son sayfada start() dahili öğelerinin bir varyantı olarak verildi. Senin için nasıl çalışıyor? Çalışırsa, modüllere bölün.
2. Bana öyle geliyor ki, kod bir öncekiyle tamamen aynı, çünkü t sayacı kesinlikle i sayacına paralel olarak değişir. O zaman i ile karşılaştırabiliyorsanız, neden t ile karşılaştırın? Ve daha mantıklı bir şekilde, kodumuz işe yaramadıysa neden i ile karşılaştıralım?
3. Önemsizlik için özür dilerim, ancak bu seçenek, döngüden çıkışın kaldırılmasıyla hala sizin için nasıl çalışacak:
Bunun da işe yaramayacağını anlıyorum, asla bilemezsiniz, ancak daha fazlasını anlamak için bundan emin olmam gerekiyor.
4. Tamamen benim kişisel uyarlamam: Kodu meta düzenleyiciye değil, satır numaralandırmalı başka bir düzenleyiciye yazın ve herhangi bir değişkenin her değişikliğine ve her birine, herhangi bir if veya anahtar kontrolüne, aynı satıra (sonradan) yazdırın. son noktalı virgül). Satır numarası biçiminde yazdırın - kontrol edilen değer(ler). if'den sonra şu şekilde yazdırırım: if(tracing) {Print( StringConcatenate ("satır_numarası: değişken_adı=", değişken_adı));} ve değişkeni başlıkta şöyle bildiririm: bool tracing=false;//izlemeyi etkinleştir . O zaman tam teşekküllü bir ize ve buna bağlı olarak tam teşekküllü hata ayıklamaya sahip olacaksınız. Ancak gerçek şu ki, günlükleri daha sık temizlemeniz gerekiyor. Hemen meta düzenleyicideyse, ilk başta aşağıdaki gibi boş bir şablon oluşturabilirsiniz.
/*001*/
...
/*999*/
satırların başında (ve bu işe yarar) ve ardından kodu bu şablonun bir kopyasına yazın. Ama sadece öyle düşünüyorum, pratikte bunu denemeye çalıştım ama tutarsız bir şekilde denedim.
Herkese iyi! Sevgili gurular, mevduat para biriminde artan ve azalan kar ile v_s'nin neden arttığını ve azaldığını söyleyin?
value_profit(), mevduat para birimindeki kar hesaplamasıdır.
çift değer_durdur, değer_adım;3. Önemsizlik için özür dilerim, ancak bu seçenek, döngüden çıkışın kaldırılmasıyla hala sizin için nasıl çalışacak:
hm. kazanıldı. Görselde birkaç "ekran" çalıştırdım, bu aralıkta her şey açık. Son seferin neden çalışmadığını anlamak için kalır. Bu, gelecekte tökezlememek için yardımcı olacaktır.
hm. kazanıldı.
Memnun))))
Son seferin neden çalışmadığını anlamak için kalır. Bu, gelecekte tökezlememek için yardımcı olacaktır.
Çünkü gelecekte, Kapat[0]'a veya başka herhangi bir algoritmada pencere sınırı olarak kabul edilecek herhangi bir şeye ulaşmadan çıkmak iyi değil. Zaman değil.
1. Modülerleştirme neden hemen yapılır? Elbette herkesin kendine has bir tarzı var ama önce kompakt versiyonu cilalardım, sonra saat gibi çalıştığında modülerliğe çevirirdim. Kompakt sürüm (Trade, LastCandlesType, GetStateOfMA, GetGeneralSignal harici işlevleri olmadan), son sayfada start() dahili öğelerinin bir varyantı olarak verildi. Senin için nasıl çalışıyor? Çalışırsa, modüllere bölün.
2. Bana öyle geliyor ki, kod bir öncekiyle tamamen aynı, çünkü t sayacı kesinlikle i sayacına paralel olarak değişir. O zaman i ile karşılaştırabiliyorsanız, neden t ile karşılaştırın? Ve mantıksal olarak daha da ileri giderek, kodumuz işe yaramadıysa neden i ile karşılaştıralım?
Bunun da işe yaramayacağını anlıyorum, asla bilemezsiniz, ancak daha fazlasını anlamak için bundan emin olmam gerekiyor.
İşler! Bu kodun neden çalışmadığını anlamak için kalır. Gözüme ilk çarpan an, sayaç değeri i_sequentBarsCount değerine ulaştığında fonksiyondan çıkış oluyor. Ama yine yazdırdım ve sayaç değeri sadece 1'i gösteriyordu, işlev dönüşünden varsayılan çıkışı koyduğumda (REQUIRED_SEQUENTIAL_MISS);
Yerleştirmeden önce her şey doğru hesaplandı ama baykuş doğru ticaret yapmıyordu. Orada bir şeyler oluyordu. Teoride, yukarıdaki varsayılan çıkışlarından hiçbiri işe yaramadıysa da, koşulların hiçbiri işe yaramadı ve varsayılan çıkışı koşula koysanız bile çalışmamalıdır. Tersine, bir koşul karşılanıyorsa, yerine getirilmesi gerekir.
4. Tamamen benim kişisel uyarlamam: Kodu meta düzenleyiciye değil, satır numaralandırmalı başka bir düzenleyiciye yazın ve herhangi bir değişkenin her değişikliğine ve her birine, herhangi bir if veya anahtar kontrolüne, aynı satıra (sonradan) yazdırın. son noktalı virgül). Satır numarası biçiminde yazdırın - kontrol edilen değer(ler). if'den sonra şu şekilde yazdırırım: if(tracing) {Print(StringConcatenate("satır_numarası: değişken_adı=", değişken_adı));} ve değişkeni başlıkta şöyle bildiririm: bool tracing=false;//izlemeyi etkinleştir . O zaman tam teşekküllü bir ize ve buna bağlı olarak tam teşekküllü hata ayıklamaya sahip olacaksınız. Ancak gerçek şu ki, günlükleri daha sık temizlemeniz gerekiyor. Hemen meta düzenleyicideyse, ilk başta aşağıdaki gibi boş bir şablon oluşturabilirsiniz.
/*001*/
...
/*999*/
satırların başında (ve bu işe yarar) ve ardından kodu bu şablonun bir kopyasına yazın. Ama sadece öyle düşünüyorum, pratikte bunu denemeye çalıştım ama tutarsız bir şekilde denedim.
Satır numaralarına değil, uzmanın verilerine göre yazdırıyoruz. Neden satır numaralarına ihtiyacınız var? Ben şahsen kod analizi için kullanıyorum çünkü gerçekten güzel zamanlar var. Ve satır numaralarına göre kod yazmak ve hata ayıklamak benim için saçma.
Bu kodun neden çalışmadığını anlamak için kalır.
Kendimi anladığım gibi. Arabaların kavşaklarını okuyoruz. Daha doğrusu, herhangi bir zamanda kesişmeden sonra üç ardışık yükseliş veya düşüş mumu. Koşul sağlandığında piyasaya giriyoruz . Ancak sözlü açıklamaya göre, bu üç veya daha fazla ardışık mum, pencerenin sağ kenarına atıfta bulunur. Kodunuza göre, pencerenin ortasına da başvurabilirler. Bu nedenle, son mumun son mum olamayacağı gerçeğine rağmen, koşul (üç mum) gerçekleştiğinde danışman piyasaya girdi.
Kendimi anladığım gibi. Arabaların kavşaklarını okuyoruz. Daha doğrusu, herhangi bir zamanda kesişmeden sonra üç ardışık yükseliş veya düşüş mumu. Koşul sağlandığında pazara giriyoruz. Ancak sözlü açıklamaya göre, bu üç veya daha fazla ardışık mum, pencerenin sağ kenarına atıfta bulunur. Kodunuza göre, pencerenin ortasına da başvurabilirler. Bu nedenle, son mumun son mum olamayacağı gerçeğine rağmen, koşul (üç mum) gerçekleştiğinde danışman piyasaya girdi.
Evet. Buradaki sonuç şudur: sözdizimini bilerek, yine de mantığı izlemeniz gerekir. Sonuçta, bu çok önemli. Orada mantık hatası yaptım.
Basit görünüyor, ama benim de kafama takılan ve hemen hakim olamadığım bir şey. Mla. Olur .. :(
Tünaydın!
Sorum biraz konu dışı olacak.
Lütfen bana söyler misiniz, bir yerde CSV dosyaları biçiminde TA rakamlarını bulmak mümkün mü? txt, xls veya programlı olarak işlenebilen herhangi bir başka formatta kabul edilebilir seçenek.
Çeşitli makalelerde, TA ile ilgili ders kitaplarında TA figürlerinin örnekleri var, ancak elbette sıradan resimler şeklinde. Ancak, H1-H4 periyotlarında bazı döviz çiftlerinin tarihinin bir parçası olarak kaydedilen, az ya da çok büyük TA rakamlarına rastlayan var mı?
Googled, bulamadı. Elbette, geçmişi manuel olarak yineleyebilir, şekilleri işaretleyebilir, bu tarih parçasını .csv olarak dışa aktarabilirsiniz; gerekli sayıda tekrarlayın, sonuç olarak rakamların tabanını toplayın. Ama eğer biri bunu zaten yaptıysa, zaman kazanmak isterim.
Şimdiden teşekkürler :)