Hatalar, hatalar, sorular - sayfa 1397

 
Ilya Malev :

İkinci olarak, gösterge arabelleğinin bu değerini diğer göstergelerde ve Uzman Danışmanlarda kullanmanız gerekir,

ama bir şey bana hesaplamalar için bir arabellek yaparsanız , değerlerini iCustom aracılığıyla almanın imkansız olacağını söylüyor .

Bu arada, tam olarak hatırlamıyorum, ama mümkün görünüyor. Dene. )
 
Anatoli Kazharski :
Bu arada, tam olarak hatırlamıyorum, ama mümkün görünüyor. Dene. )
Öyle olsa bile, birbirini çağıran DRAW_NONE tipi özniteliklere sahip bir düzine göstergem var ve daha sonra, fare işaretçisinin konumuna göre tüm çalışan göstergelerden okumaları tek bir yerde gruplayan bir tür ayrı alt sisteme zaten ihtiyacım var. :)
 
Ilya Malev :
Öyle olsa bile, birbirini çağıran DRAW_NONE tipi özniteliklere sahip bir düzine göstergem var ve daha sonra, fare işaretçisinin konumuna göre tüm çalışan göstergelerden okumaları tek bir yerde gruplayan bir tür ayrı alt sisteme zaten ihtiyacım var. :)
Şimdi bu argüman daha ciddi. Servis masasına da ekleyebilirsiniz. ))
 
iCustom üzerinden INDICATOR_CALCULATIONS türündeki değerleri almak mümkün ise evet, tek yapmanız gereken bu tür değerlerin veri penceresinde görünmesine izin vermektir. Servis masası talebime cevap verirlerse bu seçeneği sunacağım.
 
A100 :
Derleme hatası: 'a' - statik üye değil
hem de tamam. Fark ne?

 //должен обращаться к функции, хотя бы потому что уж стоят скобки и тип, да еще a базового класса приватный
class A     { int a; };
class B : A { void a(); };
void B::a() {}
// здесь инлайнится, все правильно
class A     { int a; };
class B : A { void a() {} };
// так работает, видно проблема с компилятором
class A     { int h; void f(); };
class B : A { void a(); };
void B::a() {}
 

Sizi bilmem ama ben zaten birkaç derleyici hatası görüyorum.

1) kalıtım sırasında işlevler ve değişkenler arasında ayrım yapmaz.

2) temel sınıf değişkeni özeldir, bu nedenle önce özel üyelere erişmenin imkansız olduğuna dair bir mesaj görünmelidir.

 
sigma7i :

Sizi bilmem ama ben zaten birkaç derleyici hatası görüyorum.

1) kalıtım sırasında işlevler ve değişkenler arasında ayrım yapmaz.

2) temel sınıf değişkeni özeldir, bu nedenle önce özel üyelere erişmenin imkansız olduğuna dair bir mesaj görünmelidir.

Örnekler ver. Bu tür sorunların hangi durumlarda kod tasarımı açısından olduğunu görmek ilginçtir.
 
Anatoli Kazharski :
Örnekler ver. Bu tür sorunların hangi durumlarda kod tasarımı açısından olduğunu görmek ilginçtir.

Zaten örnekler verilmiş gibi. Ancak yine de net olması için daha ayrıntılı hale getireceğim:

A sınıfındaki üçüncü örnekte dikkat edin, değişken adını "h" ile değiştirdim ve bu kod derleniyor (elbette, örnek 1 ve 2'yi yorumlarsanız), bu da benim tahminimi doğrular.

 //+------------------------------------------------------------------+
//|                                                           ds.mq5 |
//|                        Copyright 2015, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+



//должен обращаться к функции, хотя бы потому что уж стоят скобки и тип, да еще a базового класса приватный
class A     { int a; };
class B : A { void a(); };
void B::a() {}
// здесь инлайнится, все правильно
class A     { int a; };
class B : A { void a() {} };
// так работает, видно проблема с компилятором
class A     { int h; void f(); };
class B : A { void a(); };
void B::a() {}


void OnStart ()
  {
     // c объектами работает правильно
  
    B variable;
    variable.a();   // ошибка доступа, здесь все нормально
    variable.a = 1 ; // ошибка доступа, как и следовало ожидать, здесь все нормально
  }
//+------------------------------------------------------------------+
 

Durum: test H1'e gidiyor (bence bu önemli - çok dönemli testten bahsediyoruz). SeriesInfoInteger test cihazındaki son günlük (D1) çubuğu, örneğin 2015.10.08'i verir. D1'deki iMA göstergesinin okumalarını 2 kaydırma ile alıyorum. 2015.10.05 değerini döndürür (ve 2 kaydırma ile 2015.10.06 olmalıdır).

Yani, gösterge, zaman serisinin inşasına kıyasla test cihazında kalıyor. Bu, yeni bir D1 çubuğunun başlangıcında açıkça olur. Bunu kimse yaşadı mı? Henüz bir örnek simülasyon yapmayacağım.

 
Ilya Malev :

Durum: test H1'e gider. SeriesInfoInteger test cihazındaki son günlük (D1) çubuğu, örneğin 2015.10.08'i verir. iMA göstergesinin okumalarını 2 kayma ile alıyorum. 2015.10.05 değerini döndürür (ve 2 kayma ile 2015.10.06 olmalıdır).

Yani, gösterge, zaman serisinin inşasına kıyasla test cihazında kalıyor. Bunu kimse yaşadı mı? Henüz bir örnek simülasyon yapmayacağım.

Evet, bu, hatırladığım kadarıyla, yalnızca test cihazındaki mevcut olandan daha eski olan TF ile çalıştığınızda olur. Veriler henüz güncellenmedi. Onlar. H1'de yeni bir gün olduğunda, D1'deki bu yeni günün ilk tikinde hala bir önceki gün.