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

 

Bonne journée à tous. Question sur la fonction WebRequest, lorsque j'envoie une requête POST, elle n'envoie pas de tableau de données. Côté serveur, j'obtiens " <WSGIRequest : POST '/'> ". Voici le code :

string headers=NULL;
   char   data[],result[];
   string result_headers;
   string url="http://127.0.0.1:8000";

   ResetLastError();
   string params = "email=app@exemple.com&account=56781234";
   StringToCharArray(params, data, 0, StringLen(params));
   //ArrayResize(data,StringToCharArray(params,data,0,WHOLE_ARRAY,CP_UTF8));
   Print("data: ", CharArrayToString(data));
   int res=WebRequest("GET", url, headers, 0, data, result, result_headers);

   if(res!=200)
     {
      Print("Ошибка передачи файла на сервер #"+(string)res+", LastError="+(string)GetLastError());
     }
   else
     {
      Print(ArraySize(result));
     }
 
Alexander Mikryukov:

Bonne journée à tous. Question sur la fonction WebRequest, lorsque j'envoie une requête POST, elle n'envoie pas de tableau de données. Côté serveur, j'obtiens " <WSGIRequest : POST '/'> ". Voici le code :

Donc vous avez un GET, n'est-ce pas ? Ici, j'envoie un json (MQL5). Tout fonctionne.

   char data[]; 
   ArrayResize(data, StringToCharArray(jv.Serialize(), data/*, 0, WHOLE_ARRAY*/)-1);
   
   
   char res_data[];
   string res_headers=NULL;
   int r=WebRequest("POST",m_uri, "Content-Type: application/json\r\n", 5000, data, res_data, res_headers);
   Print(__FUNCTION__+": web server response code: ",(string)r);
   if(r!=-1)
     {
      Print(__FUNCTION__+": JSON message sent: "+CharArrayToString(data));
      if(save_to_file)
        {
         string file_name=file_name_prefix+"_"+m_symbol+"_"+(string)m_magic_number+".csv";
         int file_handle=FileOpen(file_name,FILE_READ|FILE_WRITE|FILE_CSV);
         if(file_handle!=INVALID_HANDLE)
           {
            FileSeek(file_handle,0,SEEK_END);
            FileWriteString(file_handle,"\n"+CharArrayToString(data));
            FileClose(file_handle);
           }
        }
     }

p.s. C'est quoi cette stupide expression "bonne journée" ? Voici, par exemple, un article sur ce sujet. Désolé pour l'inondation :)

 

En référence :

datetime  iTime( 
   const string        symbol,          // символ 
   ENUM_TIMEFRAMES     timeframe,       // период 
   int                 shift            // сдвиг 
   );
Dans ce code, le décalage est considéré comme le NOMBRE de barres par rapport au temps actuel.
L'exemple est le suivant :
 int bar_index=iBarShift(symbol,tf,time,exact); 
   
 datetime bar_time=iTime(symbol,tf,bar_index); 
L'aide précise que iBarShift renvoie l'indice de la barre.

Si j'ai bien compris, le nombre de barres et l'indice des barres sont des paramètres différents.

Je comprendrais que la numérotation des barres commence à partir de l'heure actuelle (actuelle = 0).
Mais OnCalculate() donne le numéro d'index de la barre depuis le début de l'historique de la fenêtre.

Pouvez-vous m'expliquer ce que j'ai fait de mal ?
Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
  • www.mql5.com
Bars - Доступ к таймсериям и индикаторам - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Je l'ai découvert par moi-même.

L'aide de l'iBarShift est écrite en hérésie.
La fonction renvoie non pas l'indice de la barre au sens de OnCalculate(),
, mais le décalage de la barre, c'est-à-dire le décalage.

Au temps de l'Inquisition, on l'aurait brûlé sur le bûcher :)
Документация по MQL5: Доступ к таймсериям и индикаторам / iBarShift
Документация по MQL5: Доступ к таймсериям и индикаторам / iBarShift
  • www.mql5.com
iBarShift - Доступ к таймсериям и индикаторам - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
User_mt5:
Je l'ai découvert par moi-même.

L'aide pour iBarShift est pleine d'hérésie.
La fonction renvoie non pas l'indice de la barre au sens de OnCalculate(),
mais le décalage de la barre, c'est-à-dire le décalage.

Au temps de l'Inquisition, on l'aurait brûlé sur le bûcher :)

Je ne suis pas un expert en la matière. .... Mais le tout premier candidat pour le feu de joie... c'est VOUS. Avant d'écrire "une telle hérésie", vous auriez dû lire vous-même la documentation... !

P.S. Et trouver quoi, où et comment...
 

Bonne santé à tous !

La question est simple et naïve. J'ai écrit un EA en Mql5. Je veux utiliser cet algorithme pour travailler avec les crypto-monnaies de la bourse, comme BitMex. Je n'arrive pas à comprendre comment réécrire l'EA pour cette bourse dans un autre langage, c'est mieux en C, car Mql5 semble être similaire au C.

 
Bon après-midi à tous. Pouvez-vous me dire si mon compte a été bloqué. Mon analyste, qui me dirigeait, m'a dit de trouver un courtier. Je ne connais pas de courtier. Que faire dans cette situation ? Le montant sur le compte était de 500 $.
 
Evgen1504:
Bon après-midi à tous. Pouvez-vous me dire si mon compte a été bloqué. Mon analyste, qui me dirigeait, m'a dit de trouver un courtier. Je ne connais pas le courtier. Que faire dans cette situation ? Le montant sur le compte était de 500 $.
Vous avez été arnaqué, pas 500.
 
Amon1953:

Bonne santé à tous !

La question est simple et naïve. J'ai écrit un EA en Mql5. Je veux utiliser cet algorithme pour travailler avec les crypto-monnaies de la bourse, comme BitMex. Je n'arrive pas à comprendre comment réécrire l'EA pour cet échange dans un autre langage, c'est mieux en C, car Mql5 semble être similaire au C.

Vous n'avez pas besoin de le réécrire. Vous pouvez rechercher un courtier qui permet de négocier des crypto-monnaies en MQL5.
Juste au cas où, regardez dans MT5 / View / Symbols

 
Rost17:
C'est une question pour les spécialistes de mql. Comment changer les marques de fermeture des positions dans les Expert Advisors ? Je veux avoir une flèche rouge à gauche sur une clôture de vente et une flèche bleue à gauche sur une clôture d'achat. Je verrais alors immédiatement que ce n'est pas l'ouverture inverse, mais exactement la fermeture. Je l'ai eu dans MT4 et n'ai pas connu de problème. Je voudrais le changer dans MT5. Merci d'avance.

Recherchez ou écrivez votre propre fonction pour afficher les transactions sur un graphique.