MT5 için dilekler - sayfa 46

 
-Alexey- :
Katılmıyorum, bir sorun var, işte bir örnek (ızgara 10000x10000):

çift x1=0.0011;

çift y1=x1/10000;

çift x2=0.0012;
çift y2=x2/10000;

çift c=y1-y2;
çift d=MathPow(c,2);


printf(dize(d));

sonuç: 9.9999999999999968e-017

Ve bu sonuçla ne yapmalıyım? Diğer sonuçlarla nasıl karşılaştırılır? DBL_EPSILON= 2.2204460492503131e-016. Ayrıca, son iki deşarj - gördünüz mü? Ve bunlar sadece iki operasyon. Ve bu operasyonlardan daha fazlasına sahibim. Ve bu bilgilere göre, belirli sayıda işlem yardımıyla verileri geri yüklemek gerekir. Daha fazla kayıp. Ben sadece C benzeri bir dilde programlamayı öğreniyorum ve böyle bir sınıf yapmak benim için zor (ya da daha doğrusu nasıl olduğunu bilmiyorum). Bu ciddi bir iş. Bu arada, böyle bir sınıfınız var mı? Ve geliştiriciler bir kerede herkes için işleri iyileştirebilir. 100.000x100.000'lik ızgaralar yapmak mümkün olacaktır.Az çok temsili örnekler mevcut olacaktır, ancak bu yeterli değildir. Ve keyfi kesinlik için bir sınıf yapsalardı, daha da iyi olurdu :) Çitin bununla ne ilgisi var - bu sadece bir veri türü. Varsa, sadece böyle değil, ortaya çıkan ihtiyaçları karşıladığı için anlamına gelir. Mesele şu ki, geliştiriciler için zor olup olmadığını bilmiyorum. Zor ve pahalıysa - o zaman sana katılıyorum - neden sorunumu onlara kaydırayım. Ve eğer zor değilse - neden yapmıyorsunuz? Yine - yüksek doğrulukla ticaret hesaplamaları geliştirmek için güçlü bir ortam - burada bir tür rekabet avantajı var :). O yüzden bu konuda ne düşündüklerini soruyorum.

Lütfen bir sayının standart biçiminin ne olduğunu tekrar okuyun, birçok soru kaybolacaktır.

Standart görünümde, 1.111e5, 9.999e4'ten büyüktür, bu nedenle karşılaştırma oldukça doğrudur. Mlyn'in eğitici bir makale yazması gerekecek.

İşte aynı sonuç: 9.9999999999999968e-017 sayının ikili gösterimi ile ilişkilidir, ikili biçimdeki her sayı sonlu bir kesir ile temsil edilmez, bazıları sonsuz bir sayı ile temsil edilir, dolayısıyla mantisin en yakına yuvarlanması sonlu bir kesiri olan sayı.

Bu arada Shl burada double d=MathPow(c,2); yani bir derece almak doğru değil, eğer bir double ile çalışıyorsanız, o zaman double'a ihtiyacınız var d=MathPow(c,2.0); yani bug mı değil mi bilmiyorum ama bir sayının yükseltilmesini bir güce ayarlarken indikatörün türünü de takip etmeniz gerekiyor.

 
-Alexey- :
Fantazinin kesinlikle bununla hiçbir ilgisi yok. Sorum , en yaygın analiz yöntemini uygulama olasılığı üzerine ortaya çıktı. Yani - trendin ve döngünün kaldırılmasından sonra kalan sayı ile çalışın. Bu yöntem, istisnasız tüm finans istatistikleri ders kitaplarında ve üniversitelerdeki eğitim kılavuzlarında yazılmıştır. Bu bir tür fantezi değil, analize kanonik yaklaşımlardan biridir. Ve uzmanlaşmış bir çevre, böyle bir yaklaşımı uygulamak için araçlara sahip olmalıdır - ne düşünüyorsunuz?
))))))))
 
Urain :

Lütfen bir sayının standart biçiminin ne olduğunu tekrar okuyun, birçok soru kaybolacaktır.

Standart görünümde, 1.111e5, 9.999e4'ten büyüktür, bu nedenle karşılaştırma oldukça doğrudur. Mlyn'in eğitici bir makale yazması gerekecek.

İşte aynı sonuç: 9.9999999999999968e-017 sayının ikili gösterimi ile ilişkilidir, ikili biçimdeki her sayı sonlu bir kesir ile temsil edilmez, bazıları sonsuz bir sayı ile temsil edilir, dolayısıyla mantisin en yakına yuvarlanması sonlu bir kesri olan sayı.

1.111e5 ve 9.999e4 hakkında net. Ancak bunları karşılaştırmam gerekiyor: 9.9999999999999968e-017 (Ayrıca rakamlardaki doğruluk kaybı hakkında da yazdım). Ve yardım, DBL_EPSILON'dan daha az farkı olan sayıların ayırt edilemez olarak kabul edilmesi gerektiğini söylüyor. Tam anlayamadıysam kusura bakmayın - daha yeni çözüyorum :) Göstergeyle ilgili bilgi için teşekkürler.

 
Urain :

Bu arada Shl, burada double d=MathPow(c,2); yani bir derece almak doğru değil, eğer bir double ile çalışıyorsanız, o zaman double'a ihtiyacınız var d=MathPow(c,2.0); yani bug mı değil mi bilmiyorum ama bir sayının yükseltilmesini bir güce ayarlarken indikatörün türünü de takip etmeniz gerekiyor.

Üs her durumda double türünde olmalıdır.
Документация по MQL5: Основы языка / Типы данных / Вещественные типы (double, float)
Документация по MQL5: Основы языка / Типы данных / Вещественные типы (double, float)
  • www.mql5.com
Основы языка / Типы данных / Вещественные типы (double, float) - Документация по MQL5
 

Sevgili geliştiriciler, void türünün değer döndürmesine izin verin veya herhangi bir türden değer döndüren yeni bir sınıf tanımlayın.

şöyle bir şey:

voids get ( int i)
  {
   if (i== 0 ) return (( int ) 2 );
   else
     {
       if (i== 1 ) return (( double ) 2 );
       else
        {
         if (i== 2 ) return (( string ) 2 );
        }
     }
  }

Tehdit Bunun neden gerekli olduğu sorusunu tahmin ederek, kullanıcı tanımlı işlevlerde aşağıdaki bildirimlere sahip olmak istiyorum:

 int   Custom_ArraySize ( void   array[] );   
bool Custom_ ArraySort ( number&  array[] );

ve bunun için dile bir şeyler eklemeniz gerekiyor. Kullanıcıları çok fazla güvence altına aldınız, burada biraz gevşeklik vermeniz gerekiyor.

Düşünün, bir kişi bir kod yazıyor, 1500 satır yaptı ve tüm kod bir double ile çalışıyor, buna bir int aktarmak için 1500 satır daha fazla yüklemeniz gerekecek. Ve 14 tipin var.

 
Urain :

Düşünün, bir kişi kod yazıyor, 1500 satır geziyor ve tüm kod bir double ile çalışıyor, buna bir int aktarmak için 1500 satır daha fazla yüklemeniz gerekecek. Ve 14 tipin var.

OOP'yi kullanın.

 
lea :

OOP'yi kullanın.

Otomatik kodlara falan yazdığımı mı düşünüyorsun?

Geliştiricilere:

yazma kardeşliğinin kaderini hafifletmek için bir seçenek olarak, en azından böyle bir çağrının yapılabilmesi için bir dizi türü yayın yapın:

 void OnStart ()
  {
   int array[ 10 ];
   func(( double )array)
  }
//+------------------------------------------------------------------+
void func( double &array[]){};
 
Urain :

Otomatik kodlar üzerine yazdığımı mı düşünüyorsun yoksa ne?

Böyle bir dil uzantısına ihtiyacınız olduğu gerçeğine dayanarak - görünüşe göre, evet.

ps Sorununuzu çözerken yalnızca bir C++ derleyiciniz olsaydı - dil standardını gözden geçirmek için bir teklif alır mıydık?

 
lea :

Böyle bir dil uzantısına ihtiyacınız olduğu gerçeğine dayanarak - görünüşe göre, evet.

ps Sorununuzu çözerken yalnızca bir C++ derleyiciniz olsaydı - dil standardını gözden geçirmek için bir teklif alır mıydık?

Çevirmen ve derleyiciyi karıştırmayın, mql gerçekten bir derleyici değildir, güvenli C++ işlev çağrılarını açıklayan bir derleyicidir.

ayrıca, mql5 geliştirmenin aktif aşamasındadır. Bu yüzden değişiklik yapma isteğim oldukça yeterli.

Документация по MQL5: Основы языка / Функции / Вызов функции
Документация по MQL5: Основы языка / Функции / Вызов функции
  • www.mql5.com
Основы языка / Функции / Вызов функции - Документация по MQL5
 
Urain :

Çevirmen ve derleyiciyi karıştırmayın, mql gerçekten bir derleyici değildir, güvenli C++işlev çağrılarını açıklayan bir derleyicidir.

ayrıca, mql5 geliştirmenin aktif aşamasındadır. Bu yüzden değişiklik yapma isteğim oldukça yeterli.

Tamam, eğer bu çok önemliyse - hadi C++ değil, Java alalım. Ayrıca bayt koduna çeviri :) Lütfen dil standardını gözden geçirin mi?

Genel bir tür ekleme isteği pek yeterli değil. Şablonları isteyin. Ve genel türler için OOP yeterlidir.

Neden: