Erreurs, bugs, questions - page 841

 
faton:

Bon après-midi. Pouvez-vous me conseiller, j'ai écrit un indicateur simple... et quand une nouvelle barre arrive, voici comment se comporte la ligne de l'indicateur. Quel peut être le problème ?

CopyRates(FirstAktiv,PERIOD_CURRENT,0,rates_total,mrate1);
CopyRates(SecondAktiv,PERIOD_CURRENT,0,rates_total,mrate2);
Vérifiez ce qui est renvoyé parCopyRates. Le nombre d'éléments copiés n'est pas nécessairement égal à celui demandé. Par conséquent, le tableau peut être débordé et les données à cet endroit du tampon seront nulles, ce qui s'est produit.
 

Il semble que lors de la mise à jour de la nouvelle version du terminal, le dossier Program Files\Meta Trader 5\MQL5 est complètement copié dans C:\Users\user\AppData\Roaming\MetaQuotes\Terminal\00C5B588590D4A2C89EFC1E0C5301ECA\MQL5 (il s'agit de Win7, bien que d'autres OS aient probablement le même dossier + peut-être d'autres aussi). Sinon, je ne peux pas expliquer, où est la paire d'heures de travail, fait il ya quelques jours et que le fruit testé avec succès.

Le problème, c'est que j'ai l'habitude de formater les classes par le biais de fichiers .mqh, puis de les lier. Sans le savoir, j'ai jeté mes mqh et mq5 dans Program Files\Meta Trader 5\MQL5, j'ai vu qu'ils n'apparaissaient pas dans Navigator et je les ai déplacés dans le dossier de travail (C:\Users\user\AppData\Roaming\MetaQuotes\Terminal\00C5B588590D4A2C89EFC1E0C5301ECA\MQL5). Tout allait bien, jusqu'à ce que le terminal soit mis à jour - j'ai lancé l'Expert Advisor pour effectuer d'autres tests, puis j'ai voulu modifier quelque chose d'autre et j'ai vu un ancien code, une copie de celui qui se trouve dans Program Files\Meta Trader 5\MQL5. La version correcte a été optimisée, car mq5 n'a pas changé et le terminal n'a pas deviné que des changements ont été faits dans mqh. La recompilation a conduit à un retour à l'ancienne version.

En conséquence, je suis très ennuyé et je vais devoir passer une ou deux heures pour ce que j'ai déjà fait.

Les moyens de sortir de cette situation que je vois sont .

1) copier le dossier entier, mais seulement la liste des fichiers inclus dans le paquet standard ;

2) avertir d'une manière ou d'une autre l'utilisateur qu'il sera écrasé (bien que, si vous changez beaucoup de fichiers dans la bibliothèque standard, ce sera une douleur) ;

3) déterminer d'une manière ou d'une autre (en calculant le crc, par exemple) que le dossier mql5 dans Program Files a changé, et avant d'installer une nouvelle version, émettre un avertissement pour que vous puissiez sauvegarder vos données ;

4) faire une copie de l'ancien MQL5 dans Terminal\00C5B588590D4A2C89EFC1E0C5301ECA\ (ajouter, par exemple, la version MQL5.384) - le plus facile.

Le problème est rare, mais bon sang, c'est un mauvais problème.

Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5
 
notused:

Il semble que lors de la mise à jour de la nouvelle version du terminal, il y ait une copie COMPLÈTE du dossier..................................

........................... ......................

.............................

En résumé, je suis très énervé et je vais devoir passer une heure ou deux à refaire quelque chose que j'ai déjà fait.

Je peux voir un moyen de sortir de cette situation - ................

....................

C'est un problème rare, mais bon sang, c'est un mauvais problème.

Commentaires constructifs aux développeurs : S'il vous plaît faire une sauvegarde automatique de l'ensemble du dossier MQL5 de la construction précédente, lors de l'installation d'une nouvelle. La durée de vie - jusqu'à la prochaine construction, puis le remplacer. Cela n'annule pas le traitement minutieux des fichiers clients lors de l'installation de la construction. Il est pour le cas de force majeure (comme décrit ci-dessus) + de sauvegarder les versions client de la bibliothèque standard.
Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5
 

Facteur de récupération- cet indicateur montre le risque de la stratégie, combien le conseiller expert risque pour gagner le bénéfice. Il est calculé comme le rapport entre le profit réalisé et le drawdown maximal (il n'est pas précisé lequel).

FACTEUR DE RÉCUPÉRATION DES DONNÉES

Facteur de recouvrement - rapportSTAT_PROFIT/STAT_BALANCE_DD

double



Print("Factor=",TesterStatistics(STAT_RECOVERY_FACTOR));                                    // Выводим Фактор Восстановления
Print("Profit/BalanceDD=",TesterStatistics(STAT_PROFIT)/TesterStatistics(STAT_BALANCE_DD)); // Отношение профита к просадке по балансу
Print("Profit/EquityDD=",TesterStatistics(STAT_PROFIT)/TesterStatistics(STAT_EQUITY_DD));   // Отношение профита к просадке по средствам

Nous avons établi expérimentalement que le facteur de recouvrement est calculé comme le rapport entre le bénéfice et le prélèvement par capitaux propres, et non par solde.

Y a-t-il une erreur dans la référence ?

 
ilunga:
C'est vrai, c'est vrai, on vous a montré les 50 000 derniers. Il y a 1440 barres dans la journée.

Merci, euh...

Ce n'est pas la question. Ce n'est pas une question, c'est un soupir de tristesse...

Si je ne choisis que le mois de juin pour le test (30 jours X 1440 < 50 000), qu'est-ce que je suis censé voir sur le graphique à la raison ? août?

A propos, les timpickers du testeur ont la désagréable propriété de se refermer après une seconde - l'autre...

Ce n'est pas fatal - vous pouvez choisir la date plus rapidement avec vos mains de toute façon, mais...

 
//+------------------------------------------------------------------+
//|                                                  Sample_Tick.mq5 |
//|                        Copyright 2012, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"

int Tick_All;

MqlTick           last_tick;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   Tick_All=0;

//---
   return(0);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   if(!SymbolInfoTick(_Symbol,last_tick))
     {
      Print("Failed to get Symbol info!");
     }

   Tick_All++;
   Print(Tick_All,"   ",last_tick.bid,"   ",last_tick.ask,"  ",last_tick.last," ",last_tick.volume);
  }
//+------------------------------------------------------------------+

Je ne comprends pas pourquoi OnTick est déclenché alors que le prix ne change pas ?????.

2012.09.10 11:52:11 Sample_Tick (EURUSD,M5) 493 1.2787 1.2789 1.2788 300000
2012.09.10 11:52:10 Sample_Tick (EURUSD,M5) 492 1.2787 1.2789 1.2788 300000
2012.09.10 11:52:09 Sample_Tick (EURUSD,M5) 491 1.2787 1.2789 1.2788 300000
2012.09.10 11:52:07 Sample_Tick (EURUSD,M5) 490 1.2787 1.2789 1.2788 300000

 
EQU:

Merci, euh...

Ce n'est pas la question. Ce n'est pas une question, c'est un soupir de tristesse...

Si je ne choisis que le mois de juin pour le test (30 jours X 1440 < 50 000), que devrais-je voir sur le graphique par raison ? août?

Écrivez au service d'assistance. Je ne comprends pas non plus pourquoi le nombre de barres sur le graphique est _toujours_ compté à partir de la date réelle et non à partir de la date de fin définie dans le testeur.
 
sion:
Volume - peut changer, et il y a plus)

vous pouvez voir que le volume ne change pas ! !!

 
dentraf:

vous pouvez voir que le volume ne change pas ! !!

J'ai déjà regardé le code.
 

Je ne comprends pas comment cela fonctionne ou ne fonctionne pas)


Print("<><><><><",request_action.magic);//Print((ulong)MathMod(request_action.magic-MathMod(request_action.magic,100000000),100000000000)/100000000);
  if(magic_num!=(ulong)MathMod(request_action.magic-MathMod(request_action.magic,100000000),100000000000)/100000000){Print("<<<<<<<<<<<<<<<<<<<<<",(ulong)MathMod(request_action.magic-MathMod(request_action.magic,100000000),100000000000)/100000000," magic_num=",magic_num);return;}

KG 0 prp4 (EURJPY,M15) 02:23:25 <><><><><73200011000
RR 0 prp4 (EURJPY,M15) 02:23:25 <<<<<<<<<<<<<<<<<<<<<732 magic_num=732   <-поидее числа равны и условие не должно срабатывать

Impression commentée

Print("<><><><><",request_action.magic);Print((ulong)MathMod(request_action.magic-MathMod(request_action.magic,100000000),100000000000)/100000000);
  if(magic_num!=(ulong)MathMod(request_action.magic-MathMod(request_action.magic,100000000),100000000000)/100000000){Print("<<<<<<<<<<<<<<<<<<<<<",(ulong)MathMod(request_action.magic-MathMod(request_action.magic,100000000),100000000000)/100000000," magic_num=",magic_num);return;}

MH 0 prp4 (EURJPY,M15) 02:28:11 <><><><><><73200011000
PE 0 prp4 (EURJPY,M15) 02:28 :11 92233720368 <- et ce nombre je ne sais pas d'où il vient, apparemment dans le premier calcul "(ulong)MathMod(request_action.magic-MathMod(request_action.magic,100000000),100000000000)/100000000" de ceci, quelque chose de bizarre compte

<-La condition n'a pas tenu, l'impression n'a pas eu lieu, donc les nombres étaient égaux.

Jusqu'à environ 1 heure du matin, il n'y a pas eu de problème du tout.

P.S. J'ai essayé sur mon ordinateur portable, le build 687 est toujours là, même tarte.

Raison: