MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 147

 
-Aleks- :

Yardım istiyorum - VesMass dizisini i>0 değerlerinde hesaplarken neden sıfır aldığımı anlayamıyorum?

4 ve 5'i değil, 4.0 ve 5.0'ı yazmanın gerekli olduğu ortaya çıktı - ne tür bir mantık - bana açık değil ...
 
-Aleks- :

4 ve 5'i değil, 4.0 ve 5.0'ı yazmanın gerekli olduğu ortaya çıktı - ne tür bir mantık - bana açık değil ...
Belgeleri okuyun ve netleşecektir. İyi ki kendi yapmış.
 
Alexey Viktorov :
Belgeleri okuyun ve netleşecektir. İyi ki kendi yapmış.

Evet, daha önce benzer bir şey okudum - bu yüzden denemeye karar verdim, ancak bunun mantığı net değil ... ve bu arada, cevabı belgelerde bulamadım.
 
-Aleks- :

Evet, daha önce benzer bir şey okudum - bu yüzden denemeye karar verdim, ancak bunun mantığı net değil ... ve bu arada, cevabı belgelerde bulamadım.


Bu sadece MCL'nin bir özelliği değildir, C ++ ve diğer programlama dillerinde aynıdır - iki tamsayının veya (int) türündeki değişkenlerin bölünmesi, bir tamsayıya kesilmiş bir sonuç verecektir. Senin durumunda 4/5=0.

4.0/5 veya (double)4/5 yazabilirsiniz - o zaman sonuç gerçek bir sayı olacaktır.
 
Vitalie Postolache :


Bu sadece MCL'nin bir özelliği değildir, C ++ ve diğer programlama dillerinde aynıdır - iki tamsayının veya (int) türündeki değişkenlerin bölünmesi, bir tamsayıya kesilmiş bir sonuç verecektir. Senin durumunda 4/5=0.

4.0/5 veya (double)4/5 yazabilirsiniz - o zaman sonuç gerçek bir sayı olacaktır.

Bunu anladım ama çözümün mantığını anlamadım - yani, ihtiyaç.

 
-Aleks- :

Bunu anladım ama çözümün mantığını anlamadım - yani, ihtiyaç.


Peki aritmetikte neden 2 * 2 = 4, çözümün mantığı nedir diye tartışmıyorsunuz? Sadece bir aksiyom olarak kabul edin ve kullanın. Yani iki tam sayının bölünmesiyle olur.
 
Vitalie Postolache :

Peki aritmetikte neden 2 * 2 = 4, çözümün mantığı nedir diye tartışmıyorsunuz? Sadece bir aksiyom olarak kabul edin ve kullanın. Yani iki tam sayının bölünmesiyle olur.

Ekleyerek kontrol edeceğim...

 


kedi :


Çizgi bir trend çizgisidir. Özellikler ışın olarak değiştirildi. Yardım etmedi. İdeal olarak, sıfır çubuğunun (üst, alt) konumundan bağımsız olarak fiyat görüntülenmelidir.

Bu kod da çalışmıyor.

int start() {

double pr=ObjectGetValueByShift("satır",0);

‌ If (Teklif==pr){

Uyarı(pr);}

dönüş(0);‌}‌


Satır adını doğru yazıyor musunuz?

Bu betiği deneyin ve günlüklerde ne yazdığını gösterin.

 void OnStart ()
  {
     double pr;
     int obj_total= ObjectsTotal (); 
     string name;
     int i; 
     
   for (i= 0 ;i<obj_total;i++) 
     { 
      name= ObjectName (i); 
       if ( ObjectType (name)!= OBJ_TREND ) continue ; 
       PrintFormat ( "Объект %d:     Имя объекта - %s" ,i,name); 
      pr= ObjectGetValueByShift (name, 0 );
       PrintFormat ( "Объект %d:     Цена - %.5f" ,i,pr);
      
     }  

}

‌Script nesneyi belirler, doğru adı yazar. Ama fiyat kesinlikle sol alır. Fotoğrafta yatay bir çizgi ile işaretledim. Barların çizgiyi geçip geçmediğine bakılmaksızın bu fiyatları verir.

Dosyalar:
23.png  62 kb
 
Kot :


Çizgi bir trend çizgisidir. Özellikler ışın olarak değiştirildi. Yardım etmedi. İdeal olarak, sıfır çubuğunun (üst, alt) konumundan bağımsız olarak fiyatı görüntülemeniz gerekir.

Bu kod da çalışmıyor.

int start() {

double pr=ObjectGetValueByShift("satır",0);

‌ If (Teklif==pr) {

Uyarı(pr);}

dönüş (0); ‌}

Teklif, çizginizi kolayca atlayabilir, her noktada oyalanmak zorunda değildir (yani tam bir eşitlik olmayacaktır)

koşulu örneğin if ( ( MathMin (Close[1],Open[0])<=pr && Bid>=pr) || (MathMax(Close[1],Open[0])>=pr && Bid olarak değiştirin <= pr)) veya benzeri..

 
Maxim Kuznetsov :

Teklif, çizginizi kolayca atlayabilir, her noktada oyalanmak zorunda değildir (yani tam bir eşitlik olmayacaktır)

koşulu örneğin if ( (MathMin(Close[1],Open[0])<=pr && Bid>=pr) || (MathMax(Close[1],Open[0])>=pr && Bid olarak değiştirin <= pr)) veya benzeri..


Teşekkür ederim! fikri anladı.

Ya durum farklıysa? Grafikte farklı adlara sahip yatay çizgiler var. Komut dosyasının hangi satırın hangi fiyata karşılık geldiğini hesaplaması gerekir.