[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 3. - sayfa 248

 
Roman. :
ERR_INVALID_TRADE_VOLUME 131 Geçersiz hacim - bu fonksiyonla tanışın ve hacmi, örneğin "mikro" türdeki hesaplarda, hesap türünüze göre "doğru" olarak ayarlayın. hacim, kural olarak, "klasik" tipteki hesaplarda 0,01 lottur = 0,1 lot... Emir açma fonksiyonuna 0,1 lot'a eşit bir sabit değer sürün ve kontrol edin...
danışman öz sermayenin belirli bir yüzdesi ile çok işlem yapıyor, yani sadece yüzde girebiliyorum, örneğin 10, 5, lot 0,1 veya 0,01 girme seçeneği yok. Sadece 4 basamaklı bir komisyoncu böyle bir sorun yaşadı.
 
MeTrade :
Maksimum Z :
Hafta içi test yaptınız mı? Yayılma dalgalanıyor mu?
Tüm hafta optimize edildi, bu gece ve sabah test edildi. Sorun bu mu?
Yayılmayla ilgili soruma cevap vermedin.
 
Bu uyarı neden çıkıyor? Daha önce, bir rakamı kesirli bir kısımla karşılaştırırken NormalizeDouble() işleviyle normalleştirmeniz gerektiğini anlamak için çok çaba harcadım. Ama bugün eğlence olsun diye şaka yapmaya karar verdim ve işte buradalar, uyarı geliyor! Ne tür aksaklıklar? Yoksa aksaklıklar değil mi?
      if ( 1.3320 == 1.3320 )
         Alert ( "Ku!" );
 
ScioMe :
Bu uyarı neden çıkıyor? Daha önce, bir rakamı kesirli bir kısımla karşılaştırırken NormalizeDouble () işleviyle normalleştirmeniz gerektiğini anlamak için çok çaba harcadım. Ama bugün eğlence olsun diye şaka yapmaya karar verdim ve işte buradalar, uyarı geliyor! Ne tür aksaklıklar? Yoksa aksaklıklar değil mi?
Hatalar nelerdir? Bu sabitler eşittir. Koşul karşılandı.
 
MeTrade :
danışman öz sermayenin belirli bir yüzdesi ile çok işlem yapıyor, yani sadece yüzde girebiliyorum, örneğin 10, 5, lot 0,1 veya 0,01 girme seçeneği yok. Sadece 4 basamaklı bir komisyoncu böyle bir sorun yaşadı.
"...Yalnızca yüzde girebiliyorum, örneğin 10, 5" - bu, bir sipariş açmadan önce hacmi normalleştirmeden hesaplamanızın devam ettiği anlamına gelir, yani. sonunda, bu yüzde 10 veya 5'iniz bazı lotların 0.123 veya 1.548'i ile sonuçlanır, bu da 131 numaralı hataya yol açar, lot hesaplama işlevini düzeltin veya yeterli miktarda "giriş" olmaması nedeniyle telepatlarla iletişim kurun ( başlangıç) bu konudaki veriler...
 
ScioMe :
Bu uyarı neden çıkıyor? Daha önce, bir rakamı kesirli bir kısımla karşılaştırırken NormalizeDouble () işleviyle normalleştirmeniz gerektiğini anlamak için çok çaba harcadım. Ama bugün eğlence olsun diye şaka yapmaya karar verdim ve işte buradalar, uyarı geliyor! Ne tür aksaklıklar? Yoksa aksaklıklar değil mi?

1). Derleyici bu koşulu (if ifadesi) basitçe yok sayabilir.

2). Bununla birlikte, derleyici bu koşulu göz ardı etmediyse, her sayı için 8 bit ayırarak sayıların her birini belleğe yazacaktır. Sayıları bizim gözlerimizle yaptığımız gibi değil, parça parça karşılaştırır. Hafızadaki sayılar aynıdır ve bu koşul yerine getirilecektir.

Sorunuza çok şaşırdım çünkü bu iki sayının (iki giriş) nasıl eşit değil olarak algılanabileceğini anlayamıyorum?

 
MaxZ :
Yayılmayla ilgili soruma cevap vermedin.
Yorumunuza göre, sabit yayılma ile 4 haneli bir terminalde denedim, her şey yolunda. Ancak başka bir sorun ortaya çıktı, 5 basamaklı bir terminalde gerçekleşmeyen 131 hata numarasını veriyor.
 
MeTrade :
Yorumunuza göre, sabit yayılma ile 4 haneli bir terminalde denedim, her şey yolunda. Ancak başka bir sorun ortaya çıktı, 5 basamaklı bir terminalde gerçekleşmeyen 131 hata numarasını veriyor.
Ve oturmam ve sadece tahmin etmem gerekiyor! :))) Eminim diğer sorunları da çözeceksin.
 

lütfen bana nasıl doğru yapacağımı söyle. MM'yi hesaplamak için karmaşık bir fonksiyonum var ve bir kısımda, lotu hesaplarken, fonksiyon örneğin şu anda mümkün olan maksimum lotun 0.18 olduğunu ve hesapta 0.1, 0.2, 0.3'ü açmanın mümkün olduğunu, yani adım 0.1

partiyi normalleştirirsem, 0,2'ye yuvarlanır ve maks. izin verilen 0.18'dir - soru, doğru şekilde nasıl aşağı yuvarlanacağı veya partinin nasıl doğru şekilde normalleştirileceğidir?

 
MaxZ:

""""...
Я очень удивлён был Вашему вопросу, так как не могу понять как можно два эти числа (две записи) воспринять не равными??"""" 


Bir süre önce bir problemle uğraşıyordum. Neredeyse beynimi kırdı! Sorun şuydu: if () deki eşitlik koşuluna göre bir işlem yapmak gerekiyordu. Gerçek sayılar karşılaştırıldı. Hala bir uyarı alamadım, diye düşündüm, ne oluyor??? İşte çıplak gözle eşit olduklarını görebileceğiniz sayılar! Ve terminal inatla görüntülenmiyor. Sonunda, burada bir şeylerin yanlış olduğundan şüphelendim ama ne olduğunu anlayamıyorum. mql4 topluluğunun yardımına ihtiyacım vardı. Burada bir soru sordum, teşekkürler, uzmanlar (sanırım Roman ve diğer kibar insanlar) gerçek sayıları karşılaştırırken NormalizeDouble() işleviyle normalleştirilmeleri gerektiğini yanıtladı. Yardım etti. Ama bugün denedim ve ne oldu? Normalleştirme olmadan sessizce karşılaştırılır. Yine de, bazen karşılaştırıldıkları, bazen karşılaştırılmadıkları sonucuna vardım, bu nedenle güvenilirlik için onları normalleştirmek daha iyidir.
Neden: