Erreurs, bugs, questions - page 1005

 
ns_k:

Il semble y avoir des conditions dans lesquelles les valeurs déjà calculées restent dans les tampons. Quelles sont exactement ces conditions, je ne comprends pas. Après avoir redémarré le terminal, le problème a disparu. En fait, c'est la raison pour laquelle je n'écrirais pas d'application pour ce service.

En général, ce n'est peut-être pas un bug mais une fonctionnalité ?

Merci !

Il suffit de remettre les valeurs du tableau à zéro avant le remplissage ou pendant l'initialisation :

ArrayInitialize(buffer_data,EMPTY_VALUE);
 
ns_k:

Il semble y avoir des conditions dans lesquelles les valeurs déjà calculées restent dans les tampons. Quelles sont exactement ces conditions, je ne comprends pas. Après avoir redémarré le terminal, le problème a disparu. En fait, c'est la raison pour laquelle je n'écrirais pas une demande au service.

En général, ce n'est peut-être pas un bug mais une fonctionnalité ?

Merci !

Les valeurs doivent être réinitialisées
 
tol64:

Avant le remplissage ou pendant l'initialisation, il suffit de remettre les valeurs du tableau à zéro :

Merci ! !!
 

Ce serait bien si le menu contextuel du clic droit pouvait avoir un élément séparé avec des indicateurs personnalisés.

Merci !

Переход на новые рельсы: пользовательские индикаторы в MQL5
Переход на новые рельсы: пользовательские индикаторы в MQL5
  • 2009.11.23
  • Андрей
  • www.mql5.com
Я не буду перечислять все новые возможности и особенности нового терминала и языка. Их действительно много, и некоторые новинки вполне достойны освещения в отдельной статье. Вы не увидите здесь кода, написанного по принципам объектно-ориентированного программирования — это слишком серьезная тема для того, чтобы просто быть упомянутой в контексте как дополнительная вкусность для кодописателей. В этой статье остановимся подробней на индикаторах, их строении, отображении, видах, а также особенностях их написания по сравнению с MQL4.
 

Une autre question s'il vous plaît :)

Comment afficher les commentaires dans la fenêtre de l'indicateur plutôt que dans la fenêtre du graphique ?

Merci !

 
ns_k:

Comment afficher les commentaires dans la fenêtre de l'indicateur plutôt que dans la fenêtre du graphique ?

Ce comportement ne fait l'objet d'aucune disposition. Utilisez des objets si vous en avez vraiment besoin.
 

Bonjour !

Ilest préférable de rendre la fenêtre des propriétés de l'indicateur non-modale,si possible.

Merci !

 
ns_k:

Bonjour !

Ilest préférable de rendre la fenêtre des propriétés de l'indicateur non-modale,si possible.

Merci !

Et ajoutez le bouton Appliquer. En d'autres termes, nous avons modifié la valeur, appuyez sur le bouton Appliquer et nous verrons les changements sans fermer la fenêtre. Ce serait beaucoup plus pratique.

Et pour la centième fois - la possibilité de modifier la taille de la fenêtre des propriétés.

P.S. Écrire plus dans Service Desk.

 

Je ne sais pas où j'en suis dans la bêtise, pour ainsi dire.

int OnCalculate (const int rates_total,      // size of input time series
                 const int prev_calculated,  // bars handled in previous call
                 const datetime& time[],     // Time
                 const double& open[],       // Open
                 const double& high[],       // High
                 const double& low[],        // Low
                 const double& close[],      // Close
                 const long& tick_volume[],  // Tick Volume
                 const long& volume[],       // Real Volume
                 const int& spread[]         // Spread
                 )

  {
   
   
   
   doDrawIndicator(gSymbols[0],rates_total,g1ThermB);


//Comment(rates_total);
   return(rates_total);
  }
//+------------------------------------------------------------------+
//| TradeTransaction function                                        |
//+------------------------------------------------------------------+
void OnTradeTransaction(const MqlTradeTransaction &trans,
                        const MqlTradeRequest &request,
                        const MqlTradeResult &result)
  {
//---

  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int doDrawIndicator(string xSymbol, int xRatesTotal, double &xBuffer[])//,double &xPrice[],double &xBuffer[])
  {
   double l1Close[]; // , l2Close[];
   datetime lTime[];
   datetime lEnd,lStart;
   int copied;
   ArrayInitialize(xBuffer,0);
   lEnd=TimeCurrent();
   lStart=(TimeCurrent()/86400)*86400+3600;

   copied=CopyTime(xSymbol,Period(),lStart,lEnd,lTime);
   if(copied==-1){Print("Can't copy time",__FUNCSIG__);return(0);}
   copied=CopyClose(xSymbol,Period(),lStart,lEnd,l1Close);
   if(copied==-1){Print("Ждите...1");return(0);}

   sThermometer lT;
  // Print("rates_total=",rates_total);
   //Comment(xSymbol);
   Comment(copied);
   g1RM=new CRangeManager(1,0.2,20,xSymbol);
 
   for(int i=0;i<copied;i++)
     {
      lT=g1RM.getStateByValue(l1Close[copied-i-1]);
      if(gThermRange==Up && lT.cTemperature.State<7 || gThermRange==Down && lT.cTemperature.State>6 )
        {
         xBuffer[xRatesTotal-i-1]=lT.cTemperature.Temperature;
        }
      else
        {
         xBuffer[xRatesTotal-i-1]=0;
        }
     }

     
   delete g1RM;
   return(1);

  }

L'indicateur ne se met pas à jour, c'est-à-dire que je continue à voir 739 dis dans le coin gauche (jeté sur les menus détails, comme vous le comprenez). Et dès que j'appuie sur compile, l'indicateur est mis à jour. Où se trouve l'erreur dans le code?

Merci !

 
ns_k:

Je ne sais pas où j'en suis dans la bêtise, pour ainsi dire.

L'indicateur ne se met pas à jour, c'est-à-dire que je continue à voir 739 dis dans le coin gauche (jeté sur les menus détails, comme vous le comprenez). Et dès que j'appuie sur compile, l'indicateur est mis à jour. Où se trouve l'erreur dans le code?

Merci !

Mettez un commentaire sur l'heure dans la fonction, elle ne se met pas à jour, l'heure est figée comme elle était affichée au démarrage, elle ne va pas plus loin. Quelque chose de très simple, je ne comprends pas ce que...
Raison: