Erreurs, bugs, questions - page 1401

 
Alexandr Bryzgalov:
Oui, j'ai vérifié après.
Pourquoi ne pas publier la version pour MT5 ? ) Je ne sais pas à quoi il sert dans MT4, mais dans MT5 il serait d'une réelle utilité - au vu du caractère désespéré de la situation que j'ai écrite ci-dessus.
 
Ilya Malev:
Pouvez-vous afficher la version pour MT5 ? ) Je ne sais pas à quoi il sert dans MT4, mais dans MT5 il sera d'une réelle utilité - compte tenu du caractère désespéré de la situation que j'ai écrite ci-dessus.

En gros, c'est pour MT5, mais je ne suis pas sûr (ou plutôt je suis sûr que ce n'est pas le bon) que le code de commande(

PostMessageA(hwnd,WM_COMMAND,33324,0);

) est correcte.

Compilation sans erreurs, exécution sans erreurs.

//+------------------------------------------------------------------+
//|                                                 ChartRefresh.mq5 |
//|                                                      sanyooooook |
//|                                                 http://sn-bot.ru |
//+------------------------------------------------------------------+
#property copyright "sanyooooook"
#property link      "http://sn-bot.ru"
#property version   "1.00"
#property strict
#include <WinUser32.mqh>
int      hwnd=0,cnt=0;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   datetime last_time=TimeCurrent()-5;
   while(!IsStopped())
     {
      datetime cur_time=TimeCurrent();
      if(hwnd==0)
        {
         hwnd=WindowHandleMQL4(Symbol(),Period());
         if(hwnd!=0)
            Print("Chart window detected");
        }
      //--- refresh window not frequently than 1 time in 2 seconds
      if(hwnd!=0 && cur_time-last_time>=2)
        {
         //PostMessageA(hwnd,WM_COMMAND,33324,0); 
         PostMessageW(hwnd,WM_COMMAND,33324,0);//так наверное правильней
         last_time=cur_time;
        }
      Sleep(100);
     }
  }
//+--------------------------------
int WindowHandleMQL4(string symbol,
                     int tf)
  {
   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
   long currChart,prevChart=ChartFirst();
   int i=0,limit=100;
   while(i<limit)
     {
      currChart=ChartNext(prevChart);
      if(currChart<0) break;
      if(ChartSymbol(currChart)==symbol
         && ChartPeriod(currChart)==timeframe)
         return((int)currChart);
      prevChart=currChart;
      i++;
     }
   return(0);
  }
  ENUM_TIMEFRAMES TFMigrate(int tf)
  {
   switch(tf)
     {
      case 0: return(PERIOD_CURRENT);
      case 1: return(PERIOD_M1);
      case 5: return(PERIOD_M5);
      case 15: return(PERIOD_M15);
      case 30: return(PERIOD_M30);
      case 60: return(PERIOD_H1);
      case 240: return(PERIOD_H4);
      case 1440: return(PERIOD_D1);
      case 10080: return(PERIOD_W1);
      case 43200: return(PERIOD_MN1);
      
      case 2: return(PERIOD_M2);
      case 3: return(PERIOD_M3);
      case 4: return(PERIOD_M4);      
      case 6: return(PERIOD_M6);
      case 10: return(PERIOD_M10);
      case 12: return(PERIOD_M12);
      case 16385: return(PERIOD_H1);
      case 16386: return(PERIOD_H2);
      case 16387: return(PERIOD_H3);
      case 16388: return(PERIOD_H4);
      case 16390: return(PERIOD_H6);
      case 16392: return(PERIOD_H8);
      case 16396: return(PERIOD_H12);
      case 16408: return(PERIOD_D1);
      case 32769: return(PERIOD_W1);
      case 49153: return(PERIOD_MN1);      
      default: return(PERIOD_CURRENT);
     }
  }
 

les commandes de la souris fonctionnent bien)

#define  MOUSEEVENTF_MOVE              0x0001 // mouse move
#define  MOUSEEVENTF_LEFTDOWN          0x0002 // left button down
#define  MOUSEEVENTF_LEFTUP            0x0004 // left button up
#define  MOUSEEVENTF_RIGHTDOWN         0x0008 // right button down
#define  MOUSEEVENTF_RIGHTUP           0x0010 // right button up
#define  MOUSEEVENTF_MIDDLEDOWN        0x0020 // middle button down
#define  MOUSEEVENTF_MIDDLEUP          0x0040 // middle button up
#define  MOUSEEVENTF_WHEEL             0x0800 // wheel button rolled
#define  MOUSEEVENTF_ABSOLUTE          0x8000 // absolute move
              mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE,25000,35000, 0, 0); 
              Sleep(50);
              mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_RIGHTDOWN,25000,35000, 0, 0); 
              Sleep(50);
              mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_RIGHTUP,25000,35000, 0, 0); 
              Sleep(500);     
 
Alexandr Bryzgalov:

En gros, c'est pour MT5, mais je ne suis pas sûr (ou plutôt je suis sûr que ce n'est pas le bon) que le code de commande(

) est correcte.

Compilation sans erreurs, exécution sans erreurs.

Pour une raison quelconque, ça ne fonctionne pas. Si vous le souhaitez, vous pouvez continuer la discussion dans votre branche de script.

 
Ilya Malev:

Pour une raison quelconque, ça ne fonctionne pas. Si vous le souhaitez, vous pouvez continuer la discussion dans votre branche de script.

Oui, cela ne fonctionne pas, le code (33324) n'est pas adapté à MT5.

Je vais en rester là pour le moment, occupé par d'autres choses.

ZS : il ne reste plus qu'à trouver le bon code de commande. )

 

Dans quel but le testeursupprime-t-il les fichiers du dossier tester\Agent\MQL5\Files avant de tester l'indicateur ?

 

Que signifie l'erreur dans le testeur 2015.10.15 19:22:44.860 1999.05.26 00:00:00 debug version of 'SomeIndicator.ex5', please recompile it ?

P.S. Après avoir recompilé, il semble charger, mais je veux comprendre ce qui n'allait pas.

 
Erreur de compilation : 'const' - nom attendu
struct S { int i; }
      s1 = { 1 }, //нормально
      s2 = { 2 }, //нормально
сonst s3 = { 3 }; //'const' - name expected
rares, mais rencontrés
 
Ilya Malev:

Que signifie l'erreur dans le testeur 2015.10.15 19:22:44.860 1999.05.26 00:00:00 debug version of 'SomeIndicator.ex5', please recompile it ?

P.S. Après avoir recompilé, il semble charger, mais je veux comprendre ce qui n'allait pas.

L'EX5 transmis au testeur de stratégie a été préparé pour le débogage (version de débogage), veuillez le recompiler.
 

CHART_SHOW_OBJECT_DESCR

Descriptions contextuelles des objets graphiques

bool


Ne fonctionne pas dans mt4, doit être soit corrigé ou supprimé de l'aide .