Erreurs, bugs, questions - page 2603

 

En 2204, le profil avec EAs est chargé sans eux.

La lenteur du chargement des EA n'a pas été corrigée non plus. C'est vrai, maintenant le terminal ne se bloque pas, c'est juste que l'EA est absent pendant un long moment.

 
J'ai besoin d'aide ici. J'ai besoin de la combinaison de touches CTRL+C et CTRL+V dans la fenêtre inactive du testeur dans l'onglet Options. Je n'ai trouvé que les éléments suivants

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading

Pouvez-vous me dire comment lancer le script de manière programmatique lorsque les terminaux changent de TF ou s'ouvrent ?

Egor, 2008.11.16 09:28

Le script peut être exécuté en mettant à jour la "table des états d'entrée du clavier" dans le fil d'exécution requis.

Je dois l'essayer dans MQL, peut-être pouvez-vous m'aider :

    if ( h != NULL)
    {
        HWND child = :: FindWindowEx( h,NULL,"Edit", NULL);

        UINT lparam_Ctrl1 = :: MapVirtualKey( VK_CONTROL, 0) << 16 | 1 ;
        UINT lparam_A1 = :: MapVirtualKey((int)'A', 0) << 16 | 1 ;

        UINT lparam_A2 = 1 << 31 | 1 << 30 | :: MapVirtualKey((int)'A', 0) << 16 | 1 ;
        UINT lparam_Ctrl2 = 1 << 31 | 1 << 30 | :: MapVirtualKey( VK_CONTROL, 0) << 16 | 1 ;

        DWORD pid;
        DWORD tid = GetWindowThreadProcessId( child, & pid);
        HANDLE hProc = OpenProcess( PROCESS_QUERY_INFORMATION | SYNCHRONIZE, FALSE, pid);
        //Ctrl + A

        AttachThreadInput( GetCurrentThreadId(), tid, TRUE);

        LRESULT pl1_Ctrl = :: PostMessage( child, WM_KEYDOWN, VK_CONTROL, lparam_Ctrl1 );
        WaitForInputIdle( hProc, INFINITE);

        BYTE state[256];
        GetKeyboardState( state);
        state[ VK_CONTROL] = 0x80;
        SetKeyboardState( state);

        LRESULT pl1_A = :: PostMessage( child, WM_KEYDOWN, (int)'A', lparam_A1 );
        WaitForInputIdle( hProc, INFINITE);

        LRESULT pl2_A = :: PostMessage( child, WM_KEYUP, (int)'A', lparam_A2);
        WaitForInputIdle( hProc, INFINITE);

        LRESULT pl2_Ctrl = :: PostMessage( child, WM_KEYUP, VK_CONTROL, lparam_Ctrl2);        
        WaitForInputIdle( hProc, INFINITE);
/*
        GetKeyboardState(state);
        state[VK_CONTROL] = 0x0;
        SetKeyboardState(state);
*/

        AttachThreadInput( GetCurrentThreadId(), tid, FALSE);

    }

Je n'ai pas été en mesure de le mettre en œuvre. J'en ai vraiment besoin pour un multi-test.

 
fxsaber:
Aidez-moi, s'il vous plaît. J'ai besoin d'envoyer des combinaisons de touches CTRL+C et CTRL+V dans la fenêtre inactive du Testeur dans l'onglet Paramètres. Je n'ai trouvé que les éléments suivants

Il n'a pas été possible de le mettre en œuvre. Besoin urgent d'un multitester.

Vous ne pouvez pas envoyer une commande de copier-coller à une fenêtre inactive. Tout d'abord, ouvrez la fenêtre du testeur et activez l'onglet "Paramètres".
 

Il y a un problème avec les pourboires. Fichier EA :

Alt+G envoie ici :


Rédacteur 2200

 
Slava:
Il est impossible d'envoyer une commande de copier-coller à une fenêtre inactive. Tout d'abord, vous devez ouvrir la fenêtre du testeur et activer l'onglet "Paramètres".

Toutes les actions visant à automatiser le testeur peuvent être effectuées via PostMessage, ce qui est très pratique. Comme le testeur peut être minimisé, etc.

Mais l'obtention et l'importation de paramètres constituent une exception à cette commodité. Est-il possible d'organiser un mécanisme permettant d'automatiser le travail avec les paramètres de votre côté ?

 

Pouvez-vous me dire comment arrêter le testeur ou l'optimiseur de code ?

Par exemple, le testeur doit charger un fichier externe. Si le fichier n'est pas trouvé, afficher un message indiquant qu'ils ont oublié le fichier et empêcher le testeur ou l'optimiseur de fonctionner à vide.

 
Igor Makanu: MT4 build 1220 était très probablement la dernière mise à jour de MT4, qui plus tôt des admins a écrit que ME pour les terminaux 4/5 sont les mêmes, ce qui signifie qu'il n'y aura pas plus de nouveaux 32 bit ME

Et si de nouveaux bogues sont découverts, resteront-ils ainsi ?

 
. ... Rick D. ... .:

Et si de nouveaux bogues sont découverts, resteront-ils ainsi ?

La correction des bugs et le développement sont des choses différentes.
 
. ... Rick D. ... .:

Des conseils sur la façon d'arrêter le testeur ou l'optimiseur du code ?

Par exemple, le conseiller expert doit télécharger un fichier externe. Si le fichier n'est pas trouvé, le testeur ou l'optimiseur sera informé qu'il a oublié le fichier et cessera de fonctionner au ralenti.

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie

Caractéristiques du langage mql5, subtilités et astuces

fxsaber, 2019.11.06 16:57

Parfois, dans l'optimisation génétique, les quelques milliers de premiers passages suffisent pour comprendre déjà plus ou moins le résultat.

Lorsque vous exécutez automatiquement un grand nombre d'optimisations, vous voulez que tout fonctionne plus rapidement. C'est pourquoi nous aurons besoin d'un mécanisme pour interrompre l'optimisation.

#include <fxsaber\MultiTester\MTTester.mqh>  // https://www.mql5.com/ru/code/26132

// Выключает Оптимизацию ( и одиночный проход)
bool OptimizationStop( void )
{
  return(!MTTESTER::IsReady() && MTTESTER::ClickStart(false));
}


Application.

// Демонстрация прерывания Оптимизации.

sinput int inAmountPasses = 20; // Через сколько проходов закончить
input int Range = 0; // 0..10000

double OnTester()
{
  int Data[];
  
  return(FrameAdd(NULL, 0, 0, Data)); // Сгенерировали TesterPass
}

void OnTesterPass()
{
  static int Amount = 0;
  
  ulong Pass;
  string Name;
  long ID;
  double Value;
  int Data[];

  while (FrameNext(Pass, Name, ID, Value, Data))
    if (++Amount > inAmountPasses)
    {
      OptimizationStop(); // Как достигли нужного количества проходов, выключили оптимизатор.
      
      break;
    }
}
 

Quelqu'un a-t-il déjà eu le problème que MetaTrader ne peut pas se mettre à jour ? J'utilise la version 2190 x32. Il télécharge la mise à jour, l'insère, et après le redémarrage, la version est la même. Il télécharge à nouveau la mise à jour et l'insère à nouveau. Encore la même version. Il semble que le serveur de mise à jour ait téléchargé une ancienne version par erreur.

Mise à jour des journaux :

FP    0    23:04:58.274    Terminal    MetaTrader 5 build 2190 started (MetaQuotes Software Corp.)
CE    0    23:04:58.281    Terminal    Windows 10 (build 18362) x64, IE 11, UAC, Intel Core i5-8400  @ 2.80 GHz, Memory: 28851 / 32713 Mb, Disk: 307 / 465 Gb, GMT+3
PD    0    23:04:58.281    Terminal    C:\MT5\MT5_1_x32
JN    3    23:04:58.348    Terminal    You are using 32-bit version of the program, please switch to 64-bit for best performance
HR    0    23:04:59.481    LiveUpdate    new version build 2204 (IDE: 2204, Tester: 2204) is available
MI    0    23:04:59.562    Network    '15171546': authorized on MetaQuotes-Demo through Access Point EU 3 (ping: 41.49 ms)
IK    0    23:04:59.562    Network    '15171546': previous successful authorization performed from xx.xx.xx.xx on 2019.11.12 19:10:04
PI    0    23:04:59.613    Network    '15171546': terminal synchronized with MetaQuotes Software Corp.
IF    0    23:04:59.613    Network    '15171546': trading has been enabled - hedging mode
QO    0    23:05:00.945    Network    '15171546': scanning network for access points
MI    0    23:05:08.763    Network    '15171546': scanning network finished
NP    0    23:05:28.165    LiveUpdate    'mt5clw' downloaded (19170 kb)
EI    0    23:05:57.985    LiveUpdate    'mt5clwide' downloaded (14934 kb)
KS    0    23:06:11.036    LiveUpdate    'mt5clwtst' downloaded (7793 kb)
LI    0    23:06:11.280    LiveUpdate    downloaded successfully
KP    0    23:06:15.311    Terminal    exit with code 0
FR    0    23:06:15.316    Network    '15171546': disconnected from MetaQuotes-Demo
NL    0    23:06:15.354    Terminal    stopped
JO    0    23:06:16.566    LiveUpdate    updating...
MG    0    23:06:16.884    LiveUpdate    'C:\MT5\MT5_1_x32\terminal.exe' updated
IQ    0    23:06:17.195    LiveUpdate    'C:\MT5\MT5_1_x32\metaeditor.exe' updated
MK    0    23:06:18.666    LiveUpdate    'C:\MT5\MT5_1_x32\metatester.exe' updated
PF    0    23:06:18.681    LiveUpdate    updated successfully
MP    0    23:06:21.527    Terminal    MetaTrader 5 build 2190 started (MetaQuotes Software Corp.)