Hatalar, hatalar, sorular - sayfa 1809

 
fxsaber :
kontrol etmedi
datetime NewTimeCurrent( void )
{
   static ulong PrevStartTime = GetMicrosecondCount ();
   static datetime PrevTimeCurrent = TimeCurrent (); // TimeTradeServer()
  
   const datetime NewTimeCurrent = TimeCurrent (); // TimeTradeServer()
   const ulong NowTime = GetMicrosecondCount ();
  
   if (PrevTimeCurrent < NewTimeCurrent)  
  {
    PrevTimeCurrent = NewTimeCurrent;
    
    PrevStartTime = NowTime;
  }
  
   return (PrevTimeCurrent + ( datetime )((NowTime - PrevStartTime) / 1000000 ));
}
Teşekkür ederim, ancak özellikle zaman hala "gerçek değil" olacağından, ancak yaklaşık olacağından ve birçok faktöre bağlı olacağından, böyle bir doğrulukta henüz bir nokta olmadığını düşünüyorum. Her şeyin doğru olması için, sunucudan zaman almanın mümkün olması gerekir , yani. SymbolInfoDouble( _Symbol, SYMBOL_SESSION_INTEREST ) parametresini istersem, zamanı hemen alabilmem için, örneğin: SymbolInfoInteger( _Symbol, SYMBOL_SESSION_TIME_INTEREST ) (milisaniyeye kadar doğru). O zaman her şey iyi olacak!
 
fxsaber :
Daha kesin olabilirdi. Örneğin, bir SymbolInfoTick (+ CopyTicks) isteğinde bulunarak tüm simgeleri gözden geçirin. Oradan, zamanı milisaniye cinsinden çizin. Bunun pratik uygulamasının ne olabileceğini anlamıyorum.

Çok basit - senkronizasyon! Her şey onunla ilgili! Artık çok sayıda veri var: tikler, duyarlılık, sipariş defteri. Sadece kenelerin milisaniye süresi vardır! Peki ya verilerin geri kalanının varış zamanı? Camın hiç yok. Sentiment de yok! Buna göre, tüm verileri bir arada toplarsanız, onları senkronize edemezsiniz! Kapsamlı analiz mümkün değildir! Geliştiricilerin buna neden dikkat etmediğini anlamıyorum. Veriler orada, ancak onunla doğru bir şekilde çalışmak imkansız! Bu yüzden dışarı çıkmalıyız, ancak "koltuk değnekleri" bile, ortaya çıktığı gibi, her zaman doğru şekilde çalışmıyor.

 
TimeCurrent() ile ilgili hata düzeltildi, bugün MQ-Demo'da olacağını söylediler.
 
fxsaber :
GUI'deki yansımasıyla TimeCurrent'ın normal milisaniye analogunun vadesi çoktan geçmiştir.
+1. Ama yukarıda anlattığım değerler için ayrı bir ihtimal elde etmede fayda var.
 
Alexey Kozitsyn :
TimeCurrent() ile ilgili hata düzeltildi, bugün MQ-Demo'da olacağını söylediler.
Bunu bir kural haline getirmek güzel olurdu
 
fxsaber :
Bunu bir kural haline getirmek güzel olurdu
tartışılır çünkü uygulamanın yaratıcısı dışında kimse bir şey anlamayacak. Detaylı açıklamaların yeterli olduğunu düşünüyorum.
 

Derleme hatası: Daha önce bir bildirim olsa bile işlev daha sonra tanımlanamıyor

int f(); //объявление
static int i1 = f(); //Error: 'f' - function must have a body
int g()
{
static int i2 = f(); //нормально //даже если нет объявления
    return i2;
}
void OnStart ()
{
    g();
}
int f() { return 0 ; }
 
A100 :

Derleme hatası: Daha önce bir bildirim olsa bile işlev daha sonra tanımlanamıyor

int f(); //объявление
static int i1 = f(); //Error: 'f' - function must have a body
int g()
{
static int i2 = f(); //нормально //даже если нет объявления
    return i2;
}
void OnStart ()
{
    g();
}
int f() { return 0 ; }

Bence mantıklı.

Ama burada neden hata olmadığı açık değil.

int f(); //объявление
static int i1 = f(); //Error: 'f' - function must have a body
int g()
{
static int i2 = f(); //нормально //даже если нет объявления
     return i2;
}

class A
{
public :  
  A() { f(); }
};

A a;


void OnStart ()
{
    g();
}
int f() { return 0 ; }
 
fxsaber :

Bence mantıklı.

Ama burada neden hata olmadığı açık değil.

Hata, yalnızca herhangi bir çarpışma varsa mantıklıdır. Her şey doğru yapılırsa, gereksiz hatalar esneklikten mahrum kalır.

class A; //не зря же такую запись придумали
 
Yine bir şey yaptılar.

1531 sürümünde derlendi. Başlatma sırasında şunları aldım:

2017.02.16 18:55:19.101 MQL5 'TradePanel.ex5' desteklenmeyen daha yeni bir sürüme sahip, lütfen müşteri terminalinizi güncelleyin

Savaş hesabında olmaması iyi.