Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1241

 
igrok333:
il a pris le prix avant quand la demande était encore ancienne,
et ensuite seulement les rafraîchissements ont changé la demande, n'est-ce pas ?

oui

la logique d'exécution du code est linéaire - une commande est exécutée, des modifications sont apportées, puis la commande suivante est exécutée

donc c'est la même chose dans votre code, vous avez fait une assignation, et la mise à jour du prix est déjà sous le code

faire un calcul de cena dans la boucle et mettre à jour quotes.... avant le calcul n'oubliez pas de normaliser la cena s'il s'agit d'un calcul, sinon votre prochaine question sera de savoir pourquoi cela ne fonctionne pas maintenant ;)))

 
Igor Makanu:

oui

la logique d'exécution du code est linéaire - une commande est exécutée, des modifications sont apportées, puis la commande suivante est exécutée

donc c'est la même chose dans votre code, vous avez fait une assignation, et la mise à jour du prix est déjà sous le code

faire un calcul de cena dans la boucle et mettre à jour quotes.... avant le calcul n'oubliez pas de normaliser la cena s'il s'agit d'un calcul, sinon votre prochaine question sera de savoir pourquoi cela ne fonctionne pas maintenant ;)))


maintenant c'est clair comment vérifier.

double cena=Ask;

for (int i=0; i<=10; i++)
   {
   RefreshRates();   
   Alert(cena);
   Sleep(3000);
   }

et

for (int i=0; i<=10; i++)
   {   
   RefreshRates();   
   double cena=Ask;
   Alert(cena);
   Sleep(3000);
   }
 
Bonjour. Il existe un dossier WinApi dans la bibliothèque standard. Il serait bon que la référence MQL5 apparaisse avec la description de son contenu. En attendant, pourriez-vous suggérer une méthode pour lire et écrire le champ de la date de début de l'optimisation prospective dans le testeur ? Ou peut-être même ajouter une nouvelle proportion comme 1/5 ?
 
Good Beer:
Bonjour. Il existe un dossier WinApi dans la bibliothèque standard. Il serait bon que la référence MQL5 comporte la description de son contenu. En attendant, pourriez-vous suggérer une méthode pour lire et écrire le champ de la date de début de l'optimisation prospective dans le testeur ? Ou peut-être même ajouter une nouvelle proportion comme 1/5 ?

Cela n'a rien à voir avec mql.

https://docs.microsoft.com/en-us/windows/win32/apiindex/windows-api-list

Bonne chance.

Windows API index - Win32 apps
  • 2018.05.31
  • GrantMeStrength
  • docs.microsoft.com
A list of the reference content for the Windows API.
 
Good Beer:
n'existe-t-il pas une méthode permettant de lire et d'écrire le champ de la date de début de l'avancement dans le testeur ?

Je ne dirai pas comment c'est dans un cinq, c'est comme ça dans un quatre :

extern datetime dtDateBegin   = D'2008.12.01';
extern datetime dtDateEnd     = D'2009.01.01';

#import "user32.dll"
   int SendMessageA(int hWnd, int Msg, int wParam, int lParam[]);
   int GetAncestor(int hWnd, int gaFlags);
   int GetDlgItem(int hDlg, int nIDDlgItem);
   int FindWindowExA(int hWndParent, int hWndChildAfter, string lpszClass, string lpszWindow);
#import

#define  DTM_SETSYSTEMTIME      0x1002

void start()
{
   int hTerminalWnd, hTesterWnd, hDateTimeBegin, rglSysTime[4];
   
// определяем системный дескриптор окна тестера
   
   hTerminalWnd = GetAncestor(WindowHandle(Symbol(), Period()) ,2);
   hTesterWnd = GetDlgItem(hTerminalWnd, 0xE81E);
   hTesterWnd = GetDlgItem(hTesterWnd, 0x53);
   hTesterWnd = GetDlgItem(hTesterWnd, 0x81BF);

// устанавливаем дату начала  оптимизации\тестирования

   hDateTimeBegin = FindWindowExA(hTesterWnd, GetDlgItem(hTesterWnd, 0x3FF), "SysDateTimePick32", "");
   ArrayInitialize(rglSysTime, 0);
   
   rglSysTime[0] = (TimeMonth(dtDateBegin) << 16) | TimeYear(dtDateBegin);
   rglSysTime[1] = (TimeDay(dtDateBegin)   << 16) | TimeDayOfWeek(dtDateBegin);
   
   SendMessageA(hDateTimeBegin, DTM_SETSYSTEMTIME, 0, rglSysTime);
}
 

Pourquoi aucun des exemples fournis de code prêt du tutoriel mql4 ne compile ?

J'ai essayé d'écrire quelque chose et j'ai été confronté au fait que la fonction OnTick passe à la fonction .mqh, mais d'autres fonctions .mqh sont appelées depuis cette fonction et le compilateur ne les voit pas et je ne comprends pas comment faire. J'ai téléchargé les codes prêts utilisés dans le tutoriel et même eux ne fonctionnent pas. J'ai eu peur que mon programme non non non oui apparaît 5-7 erreurs, mais quand je exécute le téléchargé de la bibliothèque officielle alors il ya un enfer de beaucoup ... Erreurs de 60-80-90. Compilé sans erreurs seulement le fichier Variables.mqh, tout le reste brûle brillamment. Où se trouve le matériel réel sur cette langue ? Tous ces tutoriels vidéo, de quand datent-ils ? Ça ne marche pas, c'est juste ce qui est écrit - faites-le et vous obtiendrez des résultats.

Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
В языке MQL5 предусмотрена обработка некоторых предопределенных событий. Функции для обработки этих событий должны быть определены в программе MQL5: имя функции, тип возвращаемого значения, состав параметров (если они есть) и их типы должны строго соответствовать описанию функции-обработчика события. Именно по типу возвращаемого значения и по...
 
Denis Diakonov:

Pourquoi aucun des exemples fournis de code prêt du tutoriel mql4 ne compile ?

J'ai essayé d'écrire quelque chose et j'ai été confronté au fait que la fonction OnTick passe à la fonction .mqh, mais d'autres fonctions .mqh sont appelées depuis cette fonction et le compilateur ne les voit pas et je ne comprends pas comment faire. J'ai téléchargé les codes prêts utilisés dans le tutoriel et même eux ne fonctionnent pas. J'ai eu peur que mon programme non non non oui apparaît 5-7 erreurs, mais quand je exécute le téléchargé de la bibliothèque officielle alors il ya un enfer de beaucoup ... Erreurs de 60-80-90. Compilé sans erreurs seulement le fichier Variables.mqh, tout le reste brûle brillamment. Où se trouve le matériel réel sur cette langue ? Tous ces tutoriels vidéo datent de quand ? Ça ne marche pas, c'est juste ce que ça dit - fais-le et tu auras des résultats.

Honnêtement, c'est un flux de conscience :)

Et pas de détails.

 
comment se connecter
 
Artyom Trishkin:

Un flux de conscience pour être honnête :)

Et pas de détails.

Une copie d'un autre fil de discussion.


Veuillez me conseiller. J'ai des fonctions personnalisées dans des fichiers .mqh séparés et je les ai écrites via #include. Je les appelle dans le démarrage, une fonction à la fois, mais lorsque le démarrage va vers une fonction, le programme doit appeler un autre fichier .mqh (par exemple, pour obtenir une valeur de volume de commande) et cela ne fonctionne pas. Si j'écris tout dans une feuille, cela fonctionne ou si j'écris la formule pour calculer le lot directement dans les paramètres d'ouverture de l'ordre. J'ai parcouru les leçons de MQL4 et lu la documentation du programme mais je n'ai rien trouvé. Je ne comprends pas vraiment pourquoi une fonction .mqh ne peut pas interagir avec une autre fonction .mqh dans les calculs. Ou bien, devrions-nous faire en sorte que le programme revienne au début si nous étions confrontés à une telle nécessité - il renverrait le résultat au début et ensuite, avec ce calcul, reviendrait à la fonction ouvrant un ordre .mqh ? C'est n'importe quoi... Ou peut-être devrions-nous déclarer toutes les fonctions existantes d'une manière différente afin qu'elles interagissent ensemble ? Merci

 
Artyom Trishkin:

Un flux de conscience pour être honnête :)

Et pas de détails.

Ce n'est pas un ruisseau, c'est un drain.