Erreurs, bugs, questions - page 2137

 
Galina Bobro:

Erreur lors de la lecture du bénéfice (ou est-ce que je comprends déjà mal quelque chose).

Il existe une fonction au sein de l'EA :

Je peux voir dans le journal :

Ce serait bien, mais il s'agit d'un ordre d'achat de profit, pas d'un ordre de vente.

Le ticket correspond exactement à un ordre de vente (273, comme dans le journal).


Je pensais avoir vérifié dans la fonction et le même type était considéré correctement, mais le bénéfice n'est vraiment pas le même. Si c'est vrai, alors c'est l'apocalypse - le client ferme les positions de vente et d'achat séparément lorsqu'il atteint le profit/la perte spécifié(e) et il ferme constamment les ventes, car il prend un profit d'achat. De la même façon que le dépôt peut être involontairement vidé

(Si j'ai trop travaillé et que j'imagine déjà des choses - corrigez-moi, s'il vous plaît. J'espère sincèrement que c'est vrai et qu'il n'y a pas un tel bug critique)

string str=(! is_buy?"B":"S")+" -> ";
 
Kirill Belousov:
De quoi s'agit-il ? Pourquoi voudrais-je "si bye retire S" ?
 

Je travaille souvent avec des personnages personnalisés. Par exemple, je dois effectuer un débogage sur l'un d'entre eux. Pour cela, il faut entrer son nom ici


Mais les noms des caractères personnalisés (et pas seulement des caractères personnalisés) peuvent être longs/complexes, ce qui rend difficile leur saisie au clavier. Le mécanisme de copie du nom du symbole dans le tampon n'existe pas. Je propose donc d'ajouter à ce menu l'option "Copier le nom du symbole".


ZZY Ajoutez des millisecondes au visualiseur du testeur, s'il vous plaît !

 
fxsaber:

ZS Ajoutez des millisecondes au visualiseur du testeur, s'il vous plaît !

Ajouter

 

Erreur pendant l'exécution

struct A {
template<typename T>
        void Print(   T t ) { ::Print( 2 ); }
        ~A() { Print( 1 ); }
};
void OnStart() { A a; }

Résultat : 1

Attendu : 2

 
A100:

Attendu : void A::Print<int>(int):1

Cela est très probablement dû à la nature rusée de l'empreinte régulière. Vous pouvez également surcharger iCustom de la même manière. Je pense que cela produira le même résultat.

L'espace de nom pour Print, Comment, Alert, iCustom, ... - quelque chose de spécial, il semble.

 
fxsaber:

Cela est probablement dû à la nature délicate de l'impression en interne.

Pas de lien.

void Print2( int )           { Print( 1 ); }
struct A {
template<typename T>
        void Print2(   T t ) { Print( 2 ); }
        ~A() { Print2( 1 ); }
};
void OnStart() { A a; }

Même résultat.

 

SymbolInfoTick pour les symboles personnalisés produit un tick vide (quand aucun CustomTicksAdd n'a été fait), même quand il y a des ticks dans l'historique.

Je suggère que du côté du terminal, après tout CustomTicksReplace, le dernier tick (ou juste son heure) dans l'historique devrait être un SymbolInfoTick.


Veuillez conseiller les développeurs à ce sujet, sur qui cette action doit-elle logiquement reposer - le terminal ou un utilisateur ?

Je pense que le Terminal, parce qu'il évitera à l'utilisateur des bugs occasionnels dans son code (il en a attrapé un).

Maintenant, par exemple, dernièrement, un symbole doit être trouvé comme ceci

  ulong GetOriginalLastTime( void ) const
  {
    MqlTick Tick[1] = {0};

    ::SymbolInfoTick(this.Symb, Tick[0]);
    
    if (!Tick[0].time_msc)
      ::CopyTicks(this.Symb, Tick, COPY_TICKS_ALL, 0, 1);

    return(Tick[0].time_msc);
  }
 
A100:

Pas de lien.

Le résultat est le même

Oui, c'est un bug. Je ne l'ai jamais rencontré, car je l'attribue toujours aux méthodes.

 

Je pense qu'il y a un problème avec le téléchargement de l'historique.

Hier, j'ai attendu pendant environ 30 minutes, puis j'ai changé de compte et aujourd'hui j'ai décidé de vérifier à nouveau :


  1. J'ouvre un compte en roubles RUR
  2. dans le testeur, j'exécute un test sur EURUSD
  3. Le terminal essaie de charger les cotations EURRUR
  4. Aucune citation, le testeur a gelé



Je me suis débattu, puis j'ai décidé de télécharger l'historique, qui n'existe pas.

2018.02.21 15:58:48.244 Tester  EURRUR: history data begins from 2018.02.21 00:00
2018.02.21 15:58:48.344 Tester  USDRUR: preliminary downloading of M1 history started
2018.02.21 15:58:49.244 Tester  USDRUR: 20% history downloaded
2018.02.21 15:58:49.544 Tester  USDRUR: 30% history downloaded
2018.02.21 15:58:49.844 Tester  USDRUR: 40% history downloaded
2018.02.21 15:58:50.144 Tester  USDRUR: 51% history downloaded
2018.02.21 15:58:50.444 Tester  USDRUR: 61% history downloaded
2018.02.21 15:58:50.657 Tester  USDRUR: 71% history downloaded
2018.02.21 15:58:51.057 Tester  USDRUR: 81% history downloaded
2018.02.21 15:58:51.357 Tester  USDRUR: 91% history downloaded
2018.02.21 15:58:51.657 Tester  USDRUR: preliminary downloading of M1 history completed in 0:03.417
2018.02.21 15:58:51.657 Tester  USDRUR: history data begins from 2016.12.26 00:00
2018.02.21 15:58:51.661 Core 1  agent process started
2018.02.21 15:58:52.095 Core 1  connecting to 127.0.0.1:3000
2018.02.21 15:58:52.095 Core 1  connected
2018.02.21 15:58:52.103 Core 1  authorized (agent build 1755)
2018.02.21 15:58:52.105 Tester  EURUSD,H1 (Alpari-MT5-Demo): testing of Experts\Exp - TickSniper PRO FULL v36 20180220.ex5 from 2018.01.01 00:00 to 2018.02.10 00:00
2018.02.21 15:58:52.891 Core 1  common synchronization completed
2018.02.21 15:58:53.064 Tester  quality of analyzed history is 100%
2018.02.21 15:58:54.393 Core 1  EURRUR: history synchronization started



C'est bon pour l'USDJPY