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

 
avatara :

Fiyatları karşılaştırırken her zaman +/-epsilon=Point*0.01 kullanırım.

1.000.000 ile çarpmak hiçbir şey yapmaz. İnan bana.

Neden bir sorun olması gerektiğini tam olarak anlamıyorum <- bug?

Belgelerde:

digits   -   Precision format, number of digits after decimal point ( 0 - 8 ). 

onlar. en fazla 8 ondalık basamak vardır ve bahsedilen soru 10 - belki de durum budur?

 
Elenn :

Double türündeki iki değişkeni karşılaştırırken bazen sonuç yanlış olur. Bunun nedeni muhtemelen değişkenlerden birinin diğerinden biraz daha fazla veya daha az olabilmesidir (örneğin, 10 ondalık basamakta). NormalizeDouble işlevini kullanmak çoğu durumda yardımcı olmaz. Bazı insanlar bir değişkeni diğerinden çıkarmayı önerir, ancak bir değişkeni diğerinden çıkararak bir if(a>=b) ifadesi oluşturmanın en iyi yolu nedir? Ya da belki başka bir yolu var mı?

Uzun zaman önce gözlemlediğim bir sorunu hatırladım (belki o zamandan beri bir şeyler değişti, bilmiyorum):

a=5 ve c=4.0

MQ açısından, bu özel durumda a>c olması hiç de gerekli değildir.

a=5.0 ve c=4.0 veya a=5 ve c=4 ise bu doğru olacaktır.

 

Tünaydın!

Diyelim ki 1.4451 ve 1.4429 olmak üzere iki sayımız var.

Bu sayılardan son rakam 1.445[1] ve 1.442[9] nasıl alınır?

 
TEXX :

Tünaydın!

Diyelim ki 1.4451 ve 1.4429 olmak üzere iki sayımız var.

Bu sayılardan son rakam 1.445[1] ve 1.442[9] nasıl alınır?

x = (10000 * y) % 10
 
Zhunko :
x = (10000 * y) % 10


ama sayılarla boyayabilirsin, böylece aptallar için ...

Şimdiden teşekkürler!!!

 

Tünaydın! Tekrar edeyim. EA'mda trend filtresi olarak MACDAK kullanıyorum, EA'yı sinyalleri yalnızca McDuck'taki belirli bir çubuktan analiz etmeye zorlamak mümkün mü ve trend değiştiğinde her şey yeniden yapılıyor mu? Örneğin, trendin başlangıcındaki MACD>0, sinyalleri yalnızca sıfırdan büyük olan McDuck'ın 15. çubuğundan sonra mı analiz etmeye başlıyoruz?

TEŞEKKÜR ETMEK!

 
TEXX :


ama sayılarla boyayabilirsin, böylece aptallar için ...

Şimdiden teşekkürler!!!


1.MQL4 Reference(MetaEditor)-->Dil Temelleri-->İşlemler ve İfadeler-->Aritmetik İşlemler
2.Öğretici --> https://book.mql4.com/ru/basics/expressions
x = (10000 * 1.4451) % 10, burada "%" aritmedir. "Bölmenin kalan kısmı" işlemi (bizim durumumuzda "10" ile), " * "- aritm. çarpma işlemi
 
SeALALex :

Tünaydın! Tekrar edeyim. EA'mda trend filtresi olarak MACDAK kullanıyorum, EA'yı sinyalleri yalnızca McDuck'taki belirli bir çubuktan analiz etmeye zorlamak mümkün mü ve trend değiştiğinde her şey yeniden yapılıyor mu? Örneğin, trendin başlangıcındaki MACD>0, sinyalleri yalnızca sıfırdan büyük olan McDuck'ın 15. çubuğundan sonra mı analiz etmeye başlıyoruz?

TEŞEKKÜR ETMEK!

Sorun ne? MACD 0'ı geçtiğinde Çubuğu (zamanı) hatırlayın ve her yeni Çubuk için ondan ne kadar uzakta olduğunu karşılaştırın. Delta>15 => ise ileri.

 

Bana neyin yanlış olduğunu söyle!?



avatar
1
09/06/2011 13:08
Bir danışman yazdım, stratejinin durumuna göre, barın açılışında barın (h1) fiyatının açılış fiyatına göre saatte bir emir vermesi gerekir. Formlu çubuklar üzerinde test yapılırken her şey yolundadır, ancak tüm zamanlayıcılarda (gerçek ticarette olduğu gibi) test ederken, her fiyat değişikliğinde her zaman birbiri ardına emir verir!!!( Bu nasıl kontrol edilir!? MT4 yazın ve terminal ayrıca MT4 Tercihen bir örnekle, böyle bir görev için bazı işlevler olduğunu söyleyin. Şimdiden teşekkürler!)
 
sergeev :

Bana neyin yanlış olduğunu söyle!?



1
09/06/2011 13:08
Bir danışman yazdım, stratejinin durumuna göre, barın açılışında barın (h1) fiyatının açılış fiyatına göre saatte bir emir vermesi gerekir. Formlu çubuklar üzerinde test yapılırken her şey yolundadır, ancak tüm zamanlayıcılarda (gerçek ticarette olduğu gibi) test ederken, her fiyat değişikliğinde her zaman birbiri ardına emir verir!!!( Bu nasıl kontrol edilir!? MT4 yazın ve terminal ayrıca MT4 Tercihen bir örnekle, böyle bir görev için bazı işlevler olduğunu söyleyin. Şimdiden teşekkürler!)

.. "Tüm Onaylar" yöntemini kullanarak test ederken..

En başta, bir Global değişken ayarlanır ( start() 'dan önce):

 datetime TimeHandle = 0 ;

start() {
   i = 0;                        // Для Советников
   if (TimeHandle!=Time[i]) {
      TimeHandle = Time[i];

   . . . 

   }
}