mt5 strateji test keneleri - sayfa 11

 
RaptorUK :

Kontrollü koşullar altında testleri (Strategy Tester) tekrarlayabilmem için kullandığım Geçmiş Verilerini kontrol edebilmek istiyorum.

Hangi kontrollü koşullar?

Teşekkür ederim

 
WhooDoo22 :

Hangi kontrollü koşullar?

Teşekkür ederim

Aracımın seçtiği koşullar değil, benim seçtiğim koşullar. Başka nasıl test etmeyi önerirsiniz? her test için rastgele koşul kümesi? ama konu dışına çıkmayalım.
 
RaptorUK :
Aracımın seçtiği koşullar değil, benim seçtiğim koşullar. Başka nasıl test etmeyi önerirsiniz? her test için rastgele koşul kümesi? ama konu dışına çıkmayalım.

Anladım.

Teşekkür ederim

 
angevoyageur :

Hayır. Benim bağlantımı ve/veya RaptorUK'daki bağlantıyı okursanız, bu sizin için daha açık olacaktır. Değilse, tekrar okuyun :-D

1.000000000006551e-005, 0.00001000000000006551 için başka bir gösterimdir.

Merhaba angevoyageur,

1.000000000006551e-005

0. 00001 000000000006551

İkinci double ondalık sayı beş kez sola taşınır AMA ;) test cihazında bu biçimde döndürülemez çünkü double'lar bir ondalığın sağına on altı basamaklı (anlamlı basamaklar) bir maksimum değer döndürür.



moderatör
1651
angevoyageur 2013.04.14 09:39
VayDoo22 :

Merhaba MQL5 topluluğu,

https://www.mql5.com/en/docs/common/comment

" Çift tip veriler, ondalık noktadan sonra 16 basamağa kadar doğrulukla çıkarılır ve hangi gösterimin daha kompakt olacağına bağlı olarak geleneksel veya bilimsel formatta çıkarılabilir. Float tipi veriler 5 basamaklı olarak verilir . ondalık noktadan sonra . Gerçek sayıları başka bir doğrulukla veya önceden tanımlanmış bir biçimde çıktılamak için DoubleToString() işlevini kullanın."

USDJPY'nin 98.370'deki fiyat temsili, değişken tipteki verilerdir (ondalık sayıdan sonra 5 basamaklı çıktı).

USDJPY'nin -0.001999999999995339 cinsinden fiyat gösterimi, çift tip, geleneksel formatta (ondalık sayıdan sonra 16 basamağa kadar çıktı) veridir.

Double -0.001999999999999533 [9] neden çift çıkış ondalık basamaktan sonra yalnızca 16 basamağa kadar ise, ondalık basamaktan sonra 18. basamak döndürüyor?

Teşekkür ederim

Fiyatlar her zaman iki katıdır, 98.370 iki katıdır. 16 anlamlı rakam vardır . Sıfırlar önemli değil .


Sıfırlar anlamlı değilse , test cihazında neden 1.000000000006551e-005 yerine 0.00001000000000006551 değeri döndürülemedi? 0,00001000000000006551 formatında çatırdayan hesaplamaları tercih ederim!

Teşekkür ederim

 
WhooDoo22 :


Sıfırlar anlamlı değilse, neden test cihazında 1.000000000006551e-005 yerine 0.00001000000000006551 değeri döndürülemedi? 0,00001000000000006551 formatında çatırdayan hesaplamaları tercih ederim!

Bir kayan noktalı sayı (çift) her zaman bu biçimde dahili olarak tutulur. . . 1.000000000006551e-005, verilen linklerdeki bilgileri okuyup anladınız mı?

Buradan: kayan nokta sayıları

"Bir IEEE-754 kayan nokta (4 bayt) veya çift (8 bayt) üç bileşene sahiptir (IEEE-854 altında benzer bir 96 bit genişletilmiş kesinlik biçimi de vardır): sayının pozitif mi yoksa negatif mi olduğunu söyleyen bir işaret biti, büyüklük sırasını veren bir üs ve sayının gerçek basamaklarını belirten bir mantis. Örnek olarak tek duyarlıklı kayan noktaları kullanarak, bit düzeni:"

3 bölüm

İşaret mantis üs
+ 1.000000000006551 -005

0.00001000000000xyz'i görmek istiyorsanız, çıktıyı beğeninize göre biçimlendirmek için DoubleToStr() kullanın.

Articles - Understanding Floating Point Number Representation - Cprogramming.com
Articles - Understanding Floating Point Number Representation - Cprogramming.com
  • www.cprogramming.com
Floating point representations vary from machine to machine, as I've implied. Fortunately one is by far the most common these days: the IEEE-754 standard. This standard is prevalent enough that it's worthwhile to look at it in depth; chances are good you'd be able to use this information on your platform (look for ieee754.h). An IEEE-754...
 
RaptorUK :

Bir kayan noktalı sayı (çift) her zaman bu biçimde dahili olarak tutulur. . . 1.000000000006551e-005, verilen linklerdeki bilgileri okuyup anladınız mı?

Buradan: kayan nokta sayıları

"Bir IEEE-754 kayan nokta (4 bayt) veya çift (8 bayt) üç bileşene sahiptir (IEEE-854 altında benzer bir 96 bit genişletilmiş kesinlik biçimi de vardır): sayının pozitif mi yoksa negatif mi olduğunu söyleyen bir işaret biti, büyüklük sırasını veren bir üs ve sayının gerçek basamaklarını belirten bir mantis. Örnek olarak tek duyarlıklı kayan noktaları kullanarak, bit düzeni:"

3 bölüm

İşaret mantis üs
+ 1.000000000006551 -005

0.00001000000000xyz'i görmek istiyorsanız, çıktıyı beğeninize göre biçimlendirmek için DoubleToStr() kullanın.

Evet, verdiğiniz tüm bağlantıları okudum ve faydalı buldum, verdiğiniz için tekrar teşekkür ederim. Benim tercihim DoubleToString'i dahil etmek ve DoubleToString'in ikinci parametresi olarak double'ın ikinci ila son sıra değerini (örnek: CADJPY 95.9 [5] 9) seçmek olacaktır. Bu "fiyat olabilir!=fiyat" sorununu çözmenin çok zor olduğunu düşünmüyorum! Buna ne dersin?

Teşekkür ederim

 
WhooDoo22 :

Evet, verdiğiniz tüm bağlantıları okudum ve faydalı buldum, verdiğiniz için tekrar teşekkür ederim. Benim tercihim DoubleToString'i dahil etmek ve DoubleToString'in ikinci parametresi olarak double'ın ikinci ila son sıra değerini (örnek:CADJPY 95.9 [5] 9) seçmek olacaktır. Bu "fiyat olabilir!=fiyat" sorununu çözmenin çok zor olduğunu düşünmüyorum! Buna ne dersin?

Yani böyle bir şey mi demek istiyorsun?

 double value = 95.959 ;

Print( "Value: " , DoubleToStr( value , _Digits - 1 ) );

Can fiyat != fiyat farklı, ancak biraz bağlantılı bir konudur. Gerçekten çözülemez, önce sorunun ne olduğunu anlamanız gerekir. . . sonra onun etrafında çalışırsın.

 
RaptorUK :

Yani böyle bir şey mi demek istiyorsun?

Can fiyat != fiyat farklı, ancak biraz bağlantılı bir konudur. Gerçekten çözülemez, önce sorunun ne olduğunu anlamanız gerekir. . . sonra onun etrafında çalışırsın.

 double value = 95.959 ;

Print( "value returns " ,DoubleToString( value , 2 )); //value's expected print return is 95.95.

Bu "can fiyatı != fiyat" sorununun ne olduğu hakkında ne düşünüyorsunuz?

Teşekkür ederim

 

WhooDoo22 :

...

Fiyatlar her zaman iki katıdır, 98.370 iki katıdır. 16 anlamlı rakam vardır . Sıfırlar önemli değil .

Sıfırlar anlamlı değilse, neden test cihazında 1.000000000006551e-005 yerine 0.00001000000000006551 değeri döndürülemedi ? 0,00001000000000006551 formatında çatırdayan hesaplamaları tercih ederim!

Teşekkür ederim

Bu, yalnızca çıktı değerini biçimlendirme seçeneği olabilir.

Tüm eşdeğerler
0.00001000000000006551
0.0001000000000006551e-001
0.001000000000006551e-002
0.01000000000006551e-003
0.1000000000006551e-004
1.000000000006551e-005

Bunun nedeni , sıfırların anlamlı olmamasıdır .

VayDoo22 :

Evet, verdiğiniz tüm bağlantıları okudum ve faydalı buldum, verdiğiniz için tekrar teşekkür ederim. Benim tercihim DoubleToString'i dahil etmek ve DoubleToString'in ikinci parametresi olarak double'ın ikinciden son basamağa kadar olan değerini (örnek:CADJPY 95.9 [5] 9) seçmektir . Bu "fiyat olabilir!=fiyat" sorununu çözmenin çok zor olduğunu düşünmüyorum! Buna ne dersin?

Teşekkür ederim

Üzgünüm ama bu cümleyi anlamıyorum.
 
angevoyageur :

Bu, yalnızca çıktı değerini biçimlendirme seçeneği olabilir.

Tüm eşdeğerler
0.00001000000000006551
0.0001000000000006551e-001
0.001000000000006551e-002
0.01000000000006551e-003
0.1000000000006551e-004
1.000000000006551e-005

Bunun nedeni tam olarak sıfırların anlamlı olmamasıdır .

Üzgünüm ama bu cümleyi anlamıyorum.

"Üzgünüm ama bu cümleyi anlamıyorum."

 double value = 95.959 ;

Print( "value returns " ,DoubleToString( value , 2 )); //value's expected print return is 95.95.

Teşekkür ederim