Questions des débutants MQL5 MT5 MetaTrader 5 - page 77

 
FinEngineer: 2012.12.22 11:40:32 Pair_delta_RSI (EURGBP,M1) tableau hors limites dans 'Pair_delta_RSI.mq5' (92,37)
il s'avère que cette erreur apparaît également... c'est-à-dire qu'il y a deux erreurs...
En outre, vous êtes préoccupé par deux erreurs : "données calculées insuffisantes" et "tableau hors limites)". Mais pour une raison quelconque, vous n'avez rien écrit au sujet de la deuxième erreur (vous n'avez pas donné d'exemple de code avec la ligne 92), bien que vous l'ayez souligné à plusieurs reprises.
 
Yedelkin:

Insérez le code correctement.

Il fonctionnait bien là, ce "morceau de code qui est responsable de l'insuffisance des données". Et a correctement signalé que lorsque le premier tick arrive, les données pour le RSI ne sont pas encore calculées par le terminal. Si vous n'aimez pas recevoir des messages d'erreur, essayez de faire comme ci-dessus, à savoir vérifier les données calculées non seulement dans OnCalculate(), mais aussi dans OnInit(). En d'autres termes, essayez d'attendre le calcul des données pour les indicateurs techniques sélectionnés dans OnInit() et passez ensuite au traitement des ticks dans OnCalculate() lorsque le calcul des données pour les indicateurs est garanti.

En ajoutant. Après tout, la suppression d'une partie du code de contrôle n'augmente pas la quantité de données calculées de l'indicateur :)

J'ai inséré cette vérification dans la fonction OnInit, mais dans cette fonction nous ne savons pas ce qu'est 'rates_total'... L'erreur apparaît... 'rates_total' - undeclared identifier... Que faire ?
 
Yedelkin:
Vous êtes également préoccupé par deux erreurs : "données calculées insuffisantes" et "tableau hors limites". Mais pour une raison quelconque, vous n'avez rien écrit au sujet de la deuxième erreur (vous n'avez pas donné d'exemple de code avec la ligne 92), bien que vous l'ayez souligné à plusieurs reprises.
int limit;
   if(prev_calculated==0)
      limit=0;
   else limit=prev_calculated-1;
//считаем индикатор дельта рси
   for(int i=limit;i<rates_total; i++)
      DeltaRSI_Buffer[i]=RSI1_Buffer[i]-RSI2_Buffer[i];
   return(rates_total);
Voici la ligne 92 quelque part par ici...voici un fragment de code...il doit y avoir une erreur quelque part)
 
FinEngineer: J'ai inséré cette vérification dans la fonction OnInit, mais dans cette fonction nous ne savons pas ce qu'est 'rates_total'... l'erreur s'affiche... 'rates_total' - undeclared identifier... que faire ?
Avez-vous traité l'exemple de la fonction BarsCalculated() comme indiqué précédemment ? Il n'y a pas de taux_total
 
FinEngineer quelque part ici à la ligne 92... voici un morceau de code... il y a une erreur quelque part... il s'avère que)

Je vois. Sur la ligne

DeltaRSI_Buffer[i]=RSI1_Buffer[i]-RSI2_Buffer[i];
il y a une sortie à l'extérieur du tableau. Et la sortie est dans RSI1_Buffer[i]. ...Il est encore difficile de répondre, il ne devrait pas y avoir de sortie en dehors du tableau.
 
Bonjour à tous ... qui peut me dire à quoi ressemble le code suivant dans mql5 :
for (int i=3 ; i<Bars ; i++)
{
Up=iFractals(NULL, 0, MODE_UPPER, i) ; if (Up>0) break ;
}
 
i999i:
Bonjour à tous ... qui peut me dire à quoi ressemble le code suivant dans mql5 :
for (int i=3 ; i<Bars ; i++)
{
Up=iFractals(NULL, 0, MODE_UPPER, i) ; if (Up>0) break ;
}

Cet article a pour but de vous aider.

Changez le double iFractals(string symbol, int timeframe, int mode, int shift) en quatre en

double iFractalsMQL4(string symbol,
                     int tf,
                     int mode,
                     int shift)
  {
   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
   int handle=iFractals(symbol,timeframe);
   if(handle<0)
     {
      Print("Объект iFractals не создан: Ошибка ",GetLastError());
      return(-1);
     }
   else
      return(CopyBufferMQL4(handle,mode-1,shift));
  }

 
Question sur le testeur de stratégie : je dois sélectionner un ensemble de paramètres avec un pourcentage maximal de transactions rentables - comment faire ? Le critère d'optimisation "Balance + DD min" semble plus ou moins adapté, mais le profit comme multiplicateur bloque tout le reste...
 
f2011:
Question sur le testeur de stratégie : je dois sélectionner un ensemble de paramètres avec un pourcentage maximum de transactions rentables - comment puis-je faire cela ? Je pense que "Balance + DD min" est plus ou moins approprié comme critère d'optimisation, mais le profit comme multiplicateur annule tout le reste...

Qu'est-ce que cela a à voir avec le solde et le pourcentage de bénéfices des transactions ?

Je pense qu'il y avait un article, google "Comment créer vos propres critères pour optimiser un robot de trading site:mql5.com".

 
R0MAN:

Qu'est-ce que cela a à voir avec le solde et le pourcentage de bénéfices des transactions ?

Je pense qu'il y avait un article, google "Comment faire vos propres critères d'optimisation pour un robot de trading site:mql5.com".


Je l'ai trouvé, merci.

https://www.mql5.com/ru/articles/286

Создание собственных критериев оптимизации параметров эксперта
Создание собственных критериев оптимизации параметров эксперта
  • 2011.06.24
  • Dmitriy Skub
  • www.mql5.com
Терминал МetaTrader 5 дает новые возможности для оптимизации параметров создаваемых экспертов. Кроме уже имеющихся в тестере критериев оптимизации, разработчики получили инструмент для создания собственных критериев. Это открывает поистине безграничные возможности в тестировании и оптимизации экспертов. В статье рассматриваются практические способы построения таких критериев - как простых, так и достаточно сложных.
Raison: