Hatalar, hatalar, sorular - sayfa 2310

 
Optimizasyon modunda ExpertRemove'un hatalı çalışması.
 input int Range = 0 ; // 1 .. 10

bool FuncInit()
{
   ExpertRemove ();
  
   return ( true );
}

int Count = 0 ;

void OnTick ()
{
   static const bool Init = FuncInit();
  
  Count++;
}

double OnTester ()
{
   return (Count);
}


Optimizasyona başlıyoruz . Kod, tüm geçişlerin ExpertRemove tarafından kesilmesi gerektiğini gösterir. Ama bu olmaz:

Core 5   pass 8 tested with error "expert removed itself in global initialization function" in 0 : 00 : 00.312
Core 5   pass 9 returned result 331851.00 in 0 : 00 : 00.125
Core 4   pass 6 tested with error "expert removed itself in global initialization function" in 0 : 00 : 00.265
Core 4   pass 7 returned result 331851.00 in 0 : 00 : 00.140
Core 1   pass 0 tested with error "expert removed itself in global initialization function" in 0 : 00 : 00.312
Core 1   pass 1 returned result 331851.00 in 0 : 00 : 00.125
Core 3   pass 4 tested with error "expert removed itself in global initialization function" in 0 : 00 : 00.296
Core 3   pass 5 returned result 331851.00 in 0 : 00 : 00.156
Core 8   pass 2 tested with error "expert removed itself in global initialization function" in 0 : 00 : 00.265
Core 8   pass 3 returned result 331851.00 in 0 : 00 : 00.140
Tester  optimization finished, total passes 10
Statistics      optimization done in 0 minutes 01 seconds
Statistics      shortest pass 0 : 00 : 00.125 , longest pass 0 : 00 : 00.156 , average pass 0 : 00 : 00.137
Statistics      local 10 tasks ( 100 %), remote 0 tasks ( 0 %), cloud 0 tasks ( 0 %)

Geçişlerin yarısı ExpertRemove tarafından göz ardı edildi. yeniden üretildi mi?


ZY Tek geçiş ve optimizasyon farklılıklarına yol açar.

 
fxsaber :
 typedef void (*FUNC)();
void f1() {};

void f2()
{
   f1();
}

void f2( FUNC g) 
{
   g();
}

aslında, varsayılan parametreye sahip bir işlevle aynıdır. genellikle bu şekilde çözülür, yani bu bir baypas veya koltuk değneği değil, tamamen normal bir çözümdür.

 
TheXpert :

aslında, varsayılan parametreye sahip bir işlevle aynıdır. genellikle bu şekilde çözülür, yani bu bir baypas veya koltuk değneği değil, tamamen normal bir çözümdür.

Aşırı yük seçeneği anlaşılabilir. Ancak her işlevin böyle yaratması için - hiç esnek değil. C++'da güzelce yapmak gerçekten imkansız mı?

 
fxsaber :

Aşırı yük seçeneği anlaşılabilir. Ancak her işlevin böyle yaratması için - hiç esnek değil. C++'da güzelce yapmak gerçekten imkansız mı?

xs, sabitlerle c++ daha esnektir, ancak varsayılan parametreler olarak işlev işaretçileriyle çalışmadım

UPD g++ kodunuzu bir patlama ile yiyor
 
TheXpert :

xs, sabitlerle c++ daha esnektir, ancak varsayılan parametreler olarak işlev işaretçileriyle çalışmadım

UPD g++ kodunuzu bir patlama ile yiyor

Bilgi için teşekkürler!

 
fxsaber :

Bir fonksiyonun giriş parametresi için varsayılan bir değer nasıl elde edilir?

Python tarzı kodu kullanabilirsiniz

 typedef void (*FUNC)();

void f0() { Print ( __FUNCSIG__ );};
void f1() { Print ( __FUNCSIG__ );};

void f2( FUNC g = NULL ) {
   if (g == NULL ){g = f1;}
   
   g();
}


void OnStart ()
{
   f2();
   f2(f0);
}
 
Sergey Dzyublik :

Python tarzı kod kullanabilirsiniz

Teşekkürler, NULL hakkında bilmiyordum.

 

Testçi raporunda, mat hesaplanırken. CloseBy'de iki daraltılmış pozisyon beklemek bir yerine ikiye bölünür. Bu, raporda yanlış değerlerle sonuçlanır.


Raporda CloseBy ile bu tür olaylar


 

Привет

Bunu [Pazar ürünü adı moderatör tarafından kaldırıldı] yalnızca benim için kiraladım ve ayarları değiştiremedim, en fazla üç numaralı konum 3

aynı anda birden fazla alış ve satış pozisyonunun sayısı nasıl değiştirilir

Filipus

 
foonet :

Forumda Market ürünleri ile ilgili tartışma açmak yasaktır.
Forumda Market ürünleri hakkında tartışmak yasaktır kusura bakmayın.