MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 204
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
Çubuklar arasında MA geçişi meydana gelir - iyi bir örnek yakaladı
Kavşağın solundaki ve sağındaki çubuklardaki MA, kesişme noktasındaki fiyattan farklıdır. Anladığım kadarıyla, sorgulayıcının komşu çubuklardan birindeki değer yerine tam olarak kesişme noktasındaki değere ihtiyacı var. Tam olarak bu değer, doğrusal enterpolasyon kullanılarak elde edilebilir - sonuçta, çubuklar arasındaki MA, düz çizgi parçaları tarafından oluşturulur. Veya komşu çubuklardaki her MA'nın koordinatlarını alın. Analitik olarak 2 düz çizgi çizin ve kesişme noktalarını hesaplayın. 2 benzer üçgeni göz önünde bulundurarak hesaplayabilirsiniz. Bir karşı soru ortaya çıkıyor - bu neden gerekli? Maliyetler sonucun değeri ile orantılı mı? Sonuçta, MA parametrelerinde minimum bir değişiklikle kesişme noktaları değişecektir. Büyük olasılıkla, bu kurs projesinin başkanı tarafından istenmektedir.
Hesaplarda nerede hata yaptığımı bulamıyorum yardımcı olabilir misiniz?
Son gününen yüksek ve en düşük değerini bulmanız gerekiyor, ancak bir nedenden dolayı minimumu geçen gün içinde zaten buluyor.
Tüm bunların yerine, PERIOD_D1 periyodunu ve ilgili çubuğu veya zamanı belirten CopyHigh ve CopyLow'u kullanmak daha iyidir.
Herhangi bir Zaman Çerçevesinin herhangi bir çubuğu, daha düşük Zaman Çerçevelerinin karşılık gelen çubuk aralığı hakkında genelleştirilmiş bilgiler içerir: Yüksek, Düşük, açılış ve kapanış süreleri ve alt çubuklardan gelen hacimlerin toplamına eşit hacim. Bunun yerine, bu bilgi karşılık gelen dizilerde bulunur.
Bunu yapardım ama sonraki algoritmaya göre verileri hesaplayamayabilirim çünkü dünün diğer değerlerini aramak zorunda kalabilirim ve yine yeniden yazma işlevlerinde bir tıkanıklık olacaktır.
Kodumdaki hatanın nerede olduğunu söylerseniz, çözemiyorum. Ekranda çubuk sayısını gösteriyorum, her şey birleşiyor, ancak maksimum veya minimum almaya çalıştığımda, olması gerekeni göstermiyor
Bunu yapardım ama sonraki algoritmaya göre verileri hesaplayamayabilirim çünkü dünün diğer değerlerini aramak zorunda kalabilirim ve yine yeniden yazma işlevlerinde bir tıkanıklık olacaktır.
Kodumdaki hatanın nerede olduğunu söylerseniz, çözemiyorum. Ekranda çubuk sayısını gösteriyorum, her şey birleşiyor, ancak maksimum veya minimum almaya çalıştığımda, olması gerekeni göstermiyor
O kadar yığılmışsın ki, anlamak için ellerin bile indirilmiş. Birinden diğerine dönüşümler dağı...
Ve hepsi günün maksimum ve minimumunu bulmak için mi?
Peki işinize yaramayan nedir?
Bugünün maksimumunu bulmanız mı gerekiyor? Rica ederim:
Dünün yüksekliğini bilmek mi gerekiyor? Kolayca:
Dünden önceki günün minimumunu bilmeniz mi gerekiyor? Sorun yok:
Kolay yoldan gidebilir ve tamamen dörtlü işlevleri kullanabilirsiniz:
Ama tavsiye etmem - yeni dil yapıları kullanarak, kendinizi ve kodlarınızı bir gün dördün artık desteklenmeyeceği ve öz disiplin ve tüm bunlar için önceden hazırlayacaksınız;)
O kadar yığılmışsın ki, ellerin bile düşüyor. Birinden diğerine dönüşümler dağı...
Ve hepsi günün maksimum ve minimumunu bulmak için mi?
Peki işinize yaramayan nedir?
Bugünün maksimumunu bulmanız mı gerekiyor? Rica ederim:
Dünün yüksekliğini bilmek mi gerekiyor? Kolayca:
Dünden önceki günün minimumunu bilmeniz mi gerekiyor? Sorun yok:
Kolay yoldan gidebilir ve tamamen dörtlü işlevleri kullanabilirsiniz:
Ama tavsiye etmem - yeni dil yapıları kullanarak, kendinizi ve kodlarınızı bir gün dördün artık desteklenmeyeceği ve öz disiplin ve tüm bunlar için önceden hazırlayacaksınız;)
Kendimde bir hata buldum (tüm dikkatsizlik, iHighest , iLowest parametrelerini yanlış okudu).
Bu yüzden uymuyor çünkü dünden itibaren başka hesaplamalar gerekecek
Kendimde bir hata buldum (tüm dikkatsizlik, iHighest, iLowest parametrelerini yanlış okudu).
Bu yüzden uymuyor çünkü dünden itibaren başka hesaplamalar gerekecek
if(Kırmızı) SiparişGönder ( ... Satın Al ...) ; if( Mavi ) SiparişGönder( ... Satış ...) ;
Tam tersi, tepeden sat, alttan al...
OnInit işlevi (eski şekilde init ister) gösterge başlatıldığında yürütülür (aynı zamanda zaman çerçevesini değiştirirken, yeniden derlerken, ...). Kullanılan tüm değişkenler kendilerine atanmış bir değere sahip olmalıdır. OnInit işlevi SetIndexDrawBegin(0,i-1); i değişkenine bir değer atamak veya bir sabit kullanmak gerekli olacaktır.
if(Kırmızı) OrderSend( ... Satın Al ...) ; if( Mavi ) SiparişGönder( ... Satış ...) ;
Tam tersi, tepeden sat, alttan al...
OnInit işlevi (eski şekilde init ister) gösterge başlatıldığında yürütülür (aynı zamanda zaman çerçevesini değiştirirken, yeniden derlerken, ...). Kullanılan tüm değişkenler kendilerine atanmış bir değere sahip olmalıdır. OnInit işlevi SetIndexDrawBegin(0,i-1); i değişkenine bir değer atamak veya bir sabit kullanmak gerekli olacaktır.
Dürüst olmak gerekirse hiçbir şey anlamadım, Mql4 programlamada yeniyim, zor değilse kod konusunda yardımcı olabilirsiniz.
Serbest çalışma genellikle kod konusunda yardımcı olur.
Burada - ya algoritma ya da hatalarınızı düzeltin. Ama sizin için yeni bir şekilde yeniden yazmayın.