pi sayısı bu şekilde daha iyi ayarlanır.
pi = 4*MathArctan(1);Bu fikri bir kez edindim ve şimdi size aktarıyorum.
pi sayısı bu şekilde daha iyi ayarlanır.
İpucunu bir kez almıştım, şimdi size aktarıyorum.Ayrıca MQL5 dilinde Matematiksel sabit ler bölümü de bulunmaktadır:
Bazı matematiksel ifadeler için değer içeren özel sabitler ayrılmıştır. Bu sabitler, değerlerini matematiksel fonksiyonlar kullanarak hesaplamak yerine mql5 programının herhangi bir yerinde kullanılabilir.
Sabit | Açıklama | Değer |
M_E | e | 2.71828182845904523536 |
M_LOG2E | log2(e) | 1.44269504088896340736 |
M_LOG10E | log10(e) | 0.434294481903251827651 |
M_LN2 | ln(2) | 0.693147180559945309417 |
M_LN10 | ln(10) | 2.30258509299404568402 |
M_PI | pi | 3.14159265358979323846 |
Bu sabitler mümkün olan maksimum hassasiyetle ayarlanmış mı, ayarlanmamış mı? Bu girişi kullandım çünkü tam olarak maksimum hassasiyete sahip olmak gerekiyordu, aksi takdirde hata birikiyordu.
Bunu alıp kontrol etmeniz gerekiyor. İşte komut dosyası, 100500'ün beş katını veriyor.
#property copyright "Telif Hakkı © 2010 Eugene Logunov (lea)" #property version "1.00" int CalcDifference(double approx, double exact) { double diff = MathAbs(approx - exact); if (diff == 0.0) { return 100500; } else { return (int)(-MathLog10(diff)); } } void OnStart() { PrintFormat("%d", CalcDifference(MathExp(1.0), M_E)); PrintFormat("%d", CalcDifference(MathLog10(MathExp(1)), M_LOG10E)); PrintFormat("%d", CalcDifference(MathLog(2.0), M_LN2)); PrintFormat("%d", CalcDifference(MathLog(10.0), M_LN10)); PrintFormat("%d", CalcDifference(MathArctan(1.0) * 4.0, M_PI)); }
p.s. Algoritma, bir sabitte ondalık noktanın sağındaki 16 ondalık basamaktaki bir hata nedeniyle kötü bir sonuç üretiyorsa, bu açıkça sabit değildir. Tırnak işaretleri zaten filtreleniyorsa neden böyle bir hesaplama doğruluğuna ihtiyacınız var?
Bunu alıp kontrol etmem gerekiyor. Kod burada, 100500'ün beş katını veriyor.
p.s. Eğer algoritma bir sabitin ondalık noktasının sağındaki 16 ondalık basamaktaki bir hata nedeniyle kötü bir sonuç üretiyorsa, bu açıkça sabit değildir. Ayrıca tırnak işaretleri zaten filtreleniyorsa neden böyle bir hesaplama doğruluğuna ihtiyacınız var?
Bir programcı olarak size hayatınızda en az bir kez iteratif algoritmalar, ne oldukları ve ne için kullanıldıkları hakkında okumanızı tavsiye ederim. Ve sonra yuvarlamahttp://dic.academic.ru/dic.nsf/enc_mathematics/1999/ИТЕРАЦИОННЫЙ matematikçiler bu yuvarlama ile nasıl başa çıkacakları (kararlı algoritmalar bulmak için) üzerinde kafa yoruyorlar ve burada kolay ve zorlanmıyor ve neden ...
Z.y. tavsiye için teşekkürler. Zaten bir keresinde https://www.mql5.com/tr/code/8309 'u kontrol etmek için 2 hafta kaybettim, şimdi bu komisyona adım atmayacağım.
З.З.Ы ve zaten kontrol etmekten bıktım, beşte zaten paranoyaya dönüşüyor ...
Bir programcı olarak, hayatınızda bir kez yinelemeli algoritmalar, ne oldukları ve ne yedikleri hakkında okumanızı tavsiye ederim. Ve sonra yuvarlama http://dic.academic.ru/dic.nsf/enc_mathematics/1999/ИТЕРАЦИОННЫЙ matematikçiler bu yuvarlama ile nasıl başa çıkacaklarını (kararlı algoritmalar bulmak için) bulmaca haline getiriyorlar ve burada kolay ve zorlanmıyor ve neden ...
Geçen yıl bunları okumak zorunda kaldım. Ayrıca, kararsızlığı ima ediyordum (bunun sabitlerle ilgili olmadığını söyleyerek).
Eğer sadece tipler yüzünden doğruluk eksikliği hissediyorsanız - http://gmplib.org/ gibi bir şey önerebilirsiniz (tabii ki hesaplamaların hızı düşecektir).
H.S.Y. Zaten kontrol etmekten bıktım, 5'te paranoyak oluyor....
Bazen çok zaman alsa da her zaman kontrol edebileceğiniz her şeyi kontrol etmelisiniz. Aksi takdirde sürprizler olabilir.
Geçtiğimiz yıldan beri bu konu hakkında okuyorum. Ayrıca, (bunun sabitlerle ilgili olmadığını söyleyerek) istikrarsızlığı ima ediyordum.
Sadece türler nedeniyle doğruluk eksikliği hissediyorsanız, http://gmplib.org/ gibi bir şey önerebilirsiniz (tabii ki hesaplama hızı düşecektir).
Bazen zaman alıcı olsa da, her zaman yapabileceğiniz her şeyi kontrol etmelisiniz. Aksi takdirde sürprizler olabilir.
Ne programladığım hakkında hiçbir fikriniz yok ve tavsiye veriyorsunuz. Ve programlamaya (profilinize bakılırsa) anaokuluna gittiğinizde başlayan bir kişiye öğretiyorsunuz.
Siz bir geliştirici değilsiniz, soruyu size sormadım ama bana kodu nasıl kontrol edeceğimi öğretmeye başladınız. Bana yardım etmek ister misin - tüm sabitlerin ne kadar doğru ayarlandığının sonuçlarını bana verir misin? Tavsiye olmadan kontrol edebilirim, sadece zamanımı kurtarmak istiyorum.
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Price prediction by Nearest Neighbor:
Bu gösterge, k-NN olarak da adlandırılan En Yakın Komşu kümeleme tekniğini kullanarak geçmişteki en benzer modeli arar ve geçmiş fiyatlarını mevcut modelin gelecekteki fiyatlarının tahminleri olarak kullanır.
Author: Vladimir