Erreurs, bugs, questions - page 1963

 
A100:
est bien. Quelle différence cela fait-il ?

apparemment, f n'est pas vu comme un pointeur vers une fonction dans une simple passe au compilateur.

 
Комбинатор:

apparemment, lorsqu'il est passé au compilateur, f n'est pas pris comme un pointeur vers une fonction.

Je suis d'accord (c'est simple et il n'y a essentiellement aucune différence).
 
Комбинатор:

apparemment, lorsqu'il est passé au compilateur, f n'est pas pris comme un pointeur vers une fonction.

Et ça ne devrait pas, au moins à cause de l'ambiguïté.

typedef void (*fn)();

template<typename T>
void g( T Value ) { Print(typename(Value)); }
void f() {}

void g( fn Value ) { Print(typename(Value)); }
void OnStart()
{
  g( f ); // void(*fn)()

  int f = 0;  
  g( f ); // int
}
 
fxsaber:

Et il ne devrait pas, si seulement à cause de l'ambiguïté

Il n'y avait pas une telle ambiguïté dans l'exemple original... vous l'avez créé... et tu l'as utilisé pour tout expliquer.
 
fxsaber:

Et ça ne devrait pas, ne serait-ce qu'à cause de l'ambiguïté...

Dans l'original, le typedef est un alias pour un type, pas un autre type, donc c'est vraiment une grande question pour les développeurs pourquoi le nom du type affiche un alias au lieu d'un type.
 

Erreur lors de la compilation

struct A {
                void f() {}
        static  void f( int ) {}
};
template<typename T>
void g( T ) {}
void f( int ) {}
typedef void (*fn)( int );
void OnStart()
{
        g(  (fn)   f ); //(1) нормально
        g(  (fn)A::f ); //(2) error: '(void(*fn)(int))' - cannot resolve function address
        fn ff = A::f;
        g( ff        ); //(3) нормально
}

Si (1) est OK, pourquoi une erreur dans (2) si (3) est OK ????
 
Комбинатор:
Dans l'original, le typedef est un alias pour un type, pas un autre type, donc c'est vraiment une grande question pour les développeurs pourquoi le nom du type affiche un alias au lieu d'un type.

Je suis d'accord.

 

A100:

template<typename T>
string typeof( T ) { return typename T; }

Veuillez expliquer le type de. Je n'ai pas trouvé de bonne explication pour les programmeurs inexpérimentés.

 
Lors d'une seule exécution et d'une seule visualisation, les journaux sont remplis de milliers d'entrées de ce type
2017.08.16 20:26:06.477 2017.08.01 10:04:06   order modified [#253  buy limit 1.00 EURUSD at 1.18159]
2017.08.16 20:26:06.477 2017.08.01 10:04:06   order modified [#253  buy limit 1.00 EURUSD at 1.18159]
2017.08.16 20:26:06.477 2017.08.01 10:04:06   order modified [#253  buy limit 1.00 EURUSD at 1.18159]
2017.08.16 20:26:06.477 2017.08.01 10:04:06   order modified [#253  buy limit 1.00 EURUSD at 1.18159]
2017.08.16 20:26:06.477 2017.08.01 10:04:06   order modified [#253  buy limit 1.00 EURUSD at 1.18159]
2017.08.16 20:26:06.477 2017.08.01 10:04:06   take profit triggered #251  sell 1.00 EURUSD 1.18166 tp: 1.18159 [#254  buy 1.00 EURUSD at 1.18159]
2017.08.16 20:26:06.477 2017.08.01 10:04:06   deal #251  buy 1.00 EURUSD at 1.18159 done (based on order #254)
2017.08.16 20:26:06.477 2017.08.01 10:04:06   deal performed [#251  buy 1.00 EURUSD at 1.18159]
2017.08.16 20:26:06.477 2017.08.01 10:04:06   order performed buy 1.00 at 1.18159 [#254  buy 1.00 EURUSD at 1.18159]
2017.08.16 20:26:06.477 2017.08.01 10:04:06   order [#253  buy limit 1.00 EURUSD at 1.18159] triggered

Et vous devez attendre de longues secondes pour qu'ils apparaissent. Et je ne suis intéressé que par le journal, que je fais moi-même dans OnDeinit. Pourquoi dois-je forcer à chaque fois ces journaux, qui sont lus dans de TRÈS rares cas ? Il existe un élément de menu spécial dans Agent Log Viewer. Et l'absence de ces journaux au cours de la même optimisation ne donne à personne un sentiment d'infériorité. Alors pourquoi tout cet encombrement dans des centaines de mégaoctets (surtout si un mauvais EA essaie d'ouvrir une transaction à chaque tick, obtenant le mode Unsupported filled) ?

Est-il possible de séparer les mouches des escalopes dans le testeur ? La même chose que dans le terminal : un journal pour les impressions de l'EA lui-même et un journal du terminal. Fatigué d'attendre pendant de longues secondes ces dizaines de milliers de messages inutiles dans le journal pour que chaque point d'ordre passe et que vous puissiez voir les dernières lignes de l'achèvement du backtest.

Ça a été long à venir. Je ne suis peut-être pas le seul à être ennuyé.

 
fxsaber:
...

Ça a vraiment été un long moment à venir. Peut-être que je ne suis pas le seul à être ennuyé.


Oui, vous n'êtes pas le seul. )