MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 1294
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret 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
Hepinize iyi günler!
mql4'ten mql5'e geçmeye çalışıyorum.
SORU. Neden geçerli fiyat ile <1( mql4'te olduğu gibi) olması gereken Hay değişkeninin değeri arasındaki fark yerine, mql5 anlamadığım ifadeleri hesaplar ve görüntüler, örneğin, 2.99999999 -( eksi)05 .
mql5'in verilen değerler arasındaki farkı doğru bir şekilde hesaplaması nasıl sağlanır? NormalizeDouble() ile tüm değerleri normalleştirdim ama yukarıdaki değerler
değişmeden görüntülenir. Bu benim için garip çünkü her iki değer de doble tipinde
Yardımlarınız için hepinize teşekkür ederim.
2.99999999 -(eksi)05 = 2.999999999 / 100000 = 0.00002999999999. Matematikte böyledir.
-(eksi)05, 10 üzeri beşinci kuvvete bölünür.
Tekrar merhaba.
Lütfen yeni başlayanlar sorusuna dikkat edin.
Koddaki hataları belirtmek gerekir, çünkü test cihazında, EA siparişleri açmıyor...
Aynı zamanda, derleyici hata ve uyarı vermez, günlük benzer - hata yoktur ...
Koşullardan biri karşılanmadığı için açılmıyor.
Bu
while (MA_Smoth_B > MA_Smoth_S)
yada bu
if (MA_Simpl_B_Op < MA_Simpl_S_Op && MA_Simpl_B_Cl > MA_Simpl_S_Cl)
İki sifonu yorumlayın // ve hangisi olduğunu anlayacaksınız. Bu şekilde hatayı bulursunuz.
2.99999999 -(eksi)05 = 2.99999999 / 100000 = 0.00002999999999. Matematikte böyledir.
-(eksi)05, 10 üzeri beşinci kuvvete bölünür.
Cevap için teşekkürler. Peki program neden 1.33671 fiyat değeri ile 0,00007 olması gereken Hay 1.33664 değeri arasındaki farkı bir ifade yerine hesaplayıp bunun yerine bir ifade çıktısı almıyor?
Aynı zamanda, 1.33664 değerine sahip Hay değişkeni yerine 1.33664 sabitini değiştirdiğimde ( SymbolInfoDouble(Symbol(),SYMBOL_BID) - 1.33664 ) ardından program bu değerler arasındaki gerçek farkı hesaplar, yani 0.00007. Nitekim kodda Hay değişkeni , bir önceki tikteki emrin açılış fiyatının değerini, double tipin değeri 1.33664'ü alır.
ipucu için şimdiden teşekkürler
Cevap için teşekkürler. Peki program neden 1.33671 fiyat değeri ile 0,00007 olması gereken Hay 1.33664 değeri arasındaki farkı bir ifade yerine hesaplayıp bunun yerine bir ifade çıktısı almıyor?
ipucu için şimdiden teşekkürler
DoubleToString() . Ve bu MQL5 ile ilgili değil, gerçek değerlerin günlüğe yanlış çıktısıyla ilgili. Bu aynı şekilde MQL4 için de geçerlidir.
DoubleToString() . Ve bu MQL5 ile ilgili değil, gerçek değerlerin günlüğe yanlış çıktısıyla ilgili. Bu aynı şekilde MQL4 için de geçerlidir.
Anladım. Teşekkür ederim. Bununla daha önce hiç karşılaşmadım. Şimdi biliyorum.
Şimdiye kadar, kodumla ilgili olarak kesinlik biçiminin tam olarak ne olduğunu tam olarak anlamadım. Bana öyle geliyor ki, bu ondalık basamak sayısı.
Ancak MT4'te tam olarak aynı kodda (OrderSend hariç), hafızam bana hizmet ediyorsa, Print işlevi her zaman iki fiyat değeri arasındaki farkın gerçek değerini, yani 1'den küçük bir sayıyı (0.00000) 5 basamaklı olarak gösterdi. 0'dan sonra.
Anladım. Teşekkür ederim. Bununla daha önce hiç karşılaşmadım. Şimdi biliyorum.
Şimdiye kadar, kodumla ilgili olarak kesinlik biçiminin tam olarak ne olduğunu tam olarak anlamadım. Bana öyle geliyor ki, bu ondalık basamak sayısı.
Ancak MT4'te tam olarak aynı kodda (OrderSend hariç), hafızam bana hizmet ediyorsa, Print işlevi her zaman iki fiyat değeri arasındaki farkın gerçek değerini, yani 1'den küçük bir sayıyı (0.00000) 5 basamaklı olarak gösterdi. 0'dan sonra.
Her yerde gerçek veri değerleri görüntülenir. Gerçek sayıları temsil etmek için sadece farklı bir format. Çıkış formatı terminal için belirtilmemişse, hangi formatın daha uygun olacağına karar verir. Doğal olarak, bu, sayıları temsil etmek için tüm biçimleri bildiğinizi varsayar.
Her şey kılavuzda.
Her yerde gerçek veri değerleri görüntülenir. Gerçek sayıları temsil etmek için yalnızca farklı bir biçim . Çıkış formatı terminal için belirtilmemişse, hangi formatın daha uygun olacağına karar verir. Doğal olarak, bu, sayıları temsil etmek için tüm biçimleri bildiğinizi varsayar.
Her şey kılavuzda.
Yani, MT4 ve MT5'in gerçek sayıları temsil etmek için farklı biçimleri var mı?
Ve mql5 Yardımında, bu sorunla başa çıkmak için tam olarak ne okumanız gerekiyor?
yardım için teşekkürler
Merhaba uzman arkadaşlar. Göstergeyi ayarlamak için yardımınıza ihtiyacım var. Göstergenin özü aşağıdaki gibidir. Önceki çubuğa göre fiyat artışı miktarını hesaplayın. Yıldız çubuğu sıfır olarak alınır. Yani açılış fiyatı kapanış fiyatına eşittir. Derleme yaparken hata yok ama test ederken karakterin 80 20 satırında hata veriyor. Ayrıca sinyal hattını eğri çiziyor. Ancak ana arabelleğin yanlış hesaplanmasının nedeninin bu olduğunu düşünüyorum. Düzeltmeye yardım edin.
TAMAM. Görünüşe göre burada sadece seçilmiş birkaç kişi yardım alıyor.
TAMAM. Görünüşe göre burada sadece seçilmiş birkaç kişi yardım alıyor.
böyle dene
böyle dene
Teşekkürler Vitaly. Ama yine de test ederken ExtTempBuffer[i] = NormalizeDouble ((close[i]-open[i])/Point(),2); satırında hata veriyor. [i} öğesinde.