Erreurs, bugs, questions - page 933

 
sion:
void OnInit()
{
uint as=iCustom(_Symbol,PERIOD_M10,"Examples\\CCI");
}

void OnTick()
{
}

L'erreur se répète-t-elle ?

Dans la version 770, le graphique avec m10 n'apparaît pas, dans la version précédente, c'est parfait.

Eh..., est-ce que le courtier a mis à jour le terminal, est-ce que c'est juste la visualisation qui déconne, ou est-ce que je peux m'attendre à quelque chose ?
 

Bonjour, lorsque j'attache l'indicateur au graphique, j'obtiens les résultats suivants

Violation d'accès en lecture à 0x00000000000001 dans 'C:{Program Files{Alpari NZ MT5{MQL5{Indicators{indicators.ex5''.

comment faire ? construire 770 64bit OS 7


Документация по MQL5: Операции с графиками / ChartIndicatorAdd
Документация по MQL5: Операции с графиками / ChartIndicatorAdd
  • www.mql5.com
Операции с графиками / ChartIndicatorAdd - Документация по MQL5
 
kirill190982:

Bonjour, lorsque j'attache l'indicateur au graphique, j'obtiens les résultats suivants

Violation d'accès en lecture à 0x00000000000001 dans 'C:\Program Files\Alpari NZ MT5\MQL5\Indicators\indicators.ex5'.

Comment puis-je résoudre ce problème ? build 770 64bit OS 7


Après-midi .

Écrivez à Servicedesk et joignez l'indicateur, s'il vous plaît. Merci.

 

Bonjour.

Disons qu'il existe une classe qui contient plusieurs groupes de boutons :

class CMyApp : public CAppDialog {
private:
   CButton m_digits[BUTTONS_QTY];
   CButton m_letters[BUTTONS_QTY];
   
public:
   CMyApp() {}
   ~CMyApp() {} 
   virtual bool Create(const long chart, const string name, const int subwin, 
                        const int x1, const int y1, const int x2, const int y2);
   virtual bool OnEvent(const int id, const long &lparam, const double &dparam, const string &sparam);
   bool CreateDigitButtons();
   bool CreateLetterButtons();
   void OnClickButton();
   void OnClickDigit(string text);
   void OnClickLetter(string text);
   
private:
   bool CreateButton(CButton &button, string name, string text, int x1, int y1, int x2, int y2);
};

Les boutons sont regroupés, car lorsque vous cliquez dessus, certaines actions similaires sont effectuées. La tâche consiste à détecter à quel groupe de boutons il appartient et à l'"envoyer" à la méthode appropriée qui exécutera certaines actions en fonction du texte figurant sur le bouton. Pour simplifier les choses à l'extrême, supposons que nous ayons simplement besoin d'afficher un nom et un texte de groupe sur un bouton. Et c'est là que ça devient déroutant - comment obtenir le texte du bouton ?

Pour l'instant, le nom du bouton comporte un nom commun pour un groupe particulier + du texte sur le bouton lui-même. En d'autres termes : 1) par une sous-chaîne dans le nom, je détermine le groupe auquel le bouton appartient, 2) je passe dans la méthode "next" le nom à nouveau, à partir duquel je "récupère" le texte. Mais ce n'est pas une solution optimale, c'est le moins que l'on puisse dire. Plus précisément, le problème ici :

//---
bool CMyApp::OnEvent(const int id,const long &lparam,const double &dparam,const string &sparam) {
   if ( id == CHARTEVENT_CUSTOM ) {
      if ( StringFind(sparam, "Digit") >= 0 ) {
         // string text = ? (как получить текст на кнопке?)
         OnClickDigit(sparam); // вместо sparam надо бы передавать text
         return(true);
      } else if ( StringFind(sparam, "Letter") >= 0 ) {
         OnClickLetter(sparam); // аналогично случю выше - вместо sparam надо бы передавать text
         return(true);
      }
   }

   return(CAppDialog::OnEvent(id, lparam, dparam, sparam));  
}

Veuillez me conseiller sur la manière de résoudre ce problème.

PS. Juste au cas où, je joins le code, pour que vous puissiez, si nécessaire, regarder "l'ensemble".

Dossiers :
 

Bonjour à tous !

Le code simple dans le testeur de stratégie, en mode visualisation, au lieu de Zig_Zag vous obtenez un miracle dans l'image (ci-jointe).

A condition que dans CopyClose(_Symbol,PERIOD_H1... la période dans cette fonction ne soit pas égale à la période sélectionnée dans la fenêtre du testeur de stratégie (si elle est égale, alors tout va bien, quel est le lien ?))

C'est un bug ? Et si c'est le cas, à qui s'adresser au service d'assistance par le biais d'un message privé (ou ici le message est suffisant) ?


input int      ExtDepth=13;
input int      ExtDeviation=5;
input int      ExtBackstep=3;

int zzHandle;      // хэндл индикатора ZigZag
//+------------------------------------------------------------------+
int OnInit()
  {
//--- Получить хэндл индикатора ZigZag
   zzHandle=iCustom(NULL,0,"ZigZag",ExtDepth,ExtDeviation,ExtBackstep);  //Расчет индикатора ZigZag
//--- Нужно проверить, не были ли возвращены значения Invalid Handle
   if(zzHandle<0)
     {
      Alert("Ошибка при создании индикаторов - номер ошибки: ",GetLastError(),"!!");
     }
   return(0);
  }
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   double Last_Price_Close[];
   CopyClose(_Symbol,PERIOD_H1,0,1,Last_Price_Close);
  }
//+------------------------------------------------------------------+
Dossiers :
uvsf6r.jpg  406 kb
 
Fia:

Bonjour à tous !

Le code simple dans le testeur de stratégie, en mode visualisation, au lieu de Zig_Zag vous obtenez un miracle dans l'image (ci-jointe).

A condition que dans CopyClose(_Symbol,PERIOD_H1... la période dans cette fonction ne soit pas égale à la période sélectionnée dans la fenêtre du testeur de stratégie (si elle est égale, alors tout va bien, quel est le lien ?))

C'est un bug ? Et si c'est le cas, à qui s'adresser au service d'assistance par le biais d'un message privé (ou ici le message est suffisant) ?

...
Le service d'assistance a déjà reçu un message similaire. Mais écrivez aussi.
 
tol64:
Il y a déjà un message similaire dans Service Desk. Mais écrivez aussi.
Merci, je viens de le faire, peut-être qu'ils vont le réparer plus tôt...
 
Comment supprimer une capture d'écran téléchargée sur le mur de manière anonyme, elle montre mes comptes...
 
vadynik:
Comment supprimer une capture d'écran téléchargée sur le mur de manière anonyme, elle montre mes comptes...

Il suffit de déplacer votre souris sur le graphique souhaité et vous verrez apparaître la commande "Supprimer".


 
Rone:

Bonjour.


Ça donne quelque chose comme ça.
Dossiers :