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

 

Grâce à WinAPI, vous pouvez le faire, si cela vous convient.

il y a une fonction dans kernel32.dll

BOOL GetFileTime(
  HANDLE     hFile,
  LPFILETIME lpCreationTime,
  LPFILETIME lpLastAccessTime,
  LPFILETIME lpLastWriteTime
);

https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-getfiletime

GetFileTime function (fileapi.h) - Win32 apps
GetFileTime function (fileapi.h) - Win32 apps
  • 2018.12.05
  • mikben
  • docs.microsoft.com
Retrieves the date and time that a file or directory was created, last accessed, and last modified.
 

Il y a quelque chose ici

https://www.mql5.com/ru/articles/1540

Файловые операции через WinAPI
Файловые операции через WinAPI
  • www.mql5.com
Исполнительная среда MQL4 основана на концепции безопасной "песочницы": чтение и запись средствами языка разрешены только в определенных папках. Это защищает пользователя MetaTrader 4 от потенциальной опасности испортить важные данные на жестком диске компьютера. Но иногда все же бывает необходимость покинуть безопасную зону. Как это сделать легко и правильно - об этом статья.
 
Aleksei Stepanenko:

Il y a quelque chose ici

https://www.mql5.com/ru/articles/1540

Merci !

Il n'y a aucun moyen de le faire avec les outils standards.

 
On dirait bien, mais je ne connais pas le chemin local. GetFileTime doit également transmettre le handle du noyau.
 
Artyom Trishkin:
Qu'est-ce qui ne va pas avec ChartIndicatorAdd()?
Cette merveilleuse fonction nécessite indicator_handle
.

J'ai trouvé comment obtenir ce paramètre pour les indicateurs techniques, à savoir :
. Chaque indicateur technique a sa propre fonction, par exemple pour le MACD :

indicator_handle=iMACD(symbol,period,fast_ema_period,slow_ema_period,signal_period,apr);

Ma question porte sur un indicateur personnalisé.
Je n'ai pas trouvé dans l'aide comment obtenirindicator_handle de mes indicateurs, surtout au moment où ils ne sont pas encore dans la fenêtre.

Il est possible que je ne cherchais pas assez.
Je serais extrêmement reconnaissant d'avoir un lien.

 
User_mt5:
Cette excellente fonction nécessite indicator_handle
.

J'ai trouvé comment obtenir ce paramètre pour les indicateurs techniques, à savoir :
. Chaque indicateur technique a sa propre fonction, par exemple pour le MACD :

Ma question porte sur un indicateur personnalisé.
Je n'ai pas trouvé dans l'aide comment obtenirindicator_handle de mes indicateurs, surtout au moment où ils ne sont pas encore dans la fenêtre.

Il est possible que je ne cherchais pas assez.
Je serais extrêmement reconnaissant d'avoir un lien.

iCustom()
Документация по MQL5: Технические индикаторы / iCustom
Документация по MQL5: Технические индикаторы / iCustom
  • www.mql5.com
iCustom - Технические индикаторы - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Artyom Trishkin:
iCustom()
Merci beaucoup ! Vous m'avez vraiment aidé !

Et bien sûr, où cette fonction devrait-elle se trouver sinon au milieu de la liste des indicateurs techniques...).
 
serg_V777:
Salutations.
J'ai un problème avec les lignes horizontales dans MQL5.
Une ligne horizontale créée manuellement dans le graphique GAZP est également affichée dans le graphique SBER puisque leurs prix sont similaires. Veuillez m'indiquer comment sauvegarder la ligne et l'afficher à l'endroit où elle a été créée.
***
ni dans la première ni dans la deuxième variante ne veut travailler...
Veuillezinsérer le codecorrectement : lorsque vous modifiez un message, cliquez sur Code et collez votre code dans la fenêtre popup.
MQL5.community - Памятка пользователя
MQL5.community - Памятка пользователя
  • www.mql5.com
Вы недавно зарегистрировались и у вас возникли вопросы: Как вставить картинку в сообщение на форуме, как красиво оформить исходный код MQL5, где находятся ваши Личные сообщения? В этой статье мы подготовили для вас несколько практических советов, которые помогут быстрее освоиться на сайте MQL5.community и позволят в полной мере воспользоваться доступными функциональными возможностями.
 

J'ai un problème avec leslignes horizontales dans MQL5.
Une ligne horizontale créée manuellement dans le graphique GAZP est également affichée dans le graphique SBER puisque leurs prix sont similaires. Veuillez m'indiquer comment sauvegarder la ligne et l'afficher à l'endroit où elle a été créée.
ne veut pas travailler avec la première ou la deuxième option...

preff=ChartSymbol( NULL);
price=SymbolInfoDouble(Symbol(),SYMBOL_BIDLOW);
ObjectCreate(0,preff+"hhh",OBJ_HLINE,0,0,price) ;
/////////////////////////////////////////////////////////////
if(preff+"hhh" != ChartSymbol(0) ){
ObjectSetInteger(0,preff+"hhh",OBJPROP_COLOR,clrNONE); }
///////////////////////////////////////////////////////////
if(preff != ChartSymbol(NULL) ) {
ObjectSetInteger(0,preff+"hhh",OBJPROP_COLOR,clrNONE); }



Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Типы объектов
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Типы объектов
  • www.mql5.com
Типы объектов - Константы объектов - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
serg_V777:

J'ai un problème avec leslignes horizontales dans MQL5.
Une ligne horizontale créée manuellement dans le graphique GAZP est également affichée dans le graphique SBER puisque leurs prix sont similaires. Veuillez me conseiller sur la façon de sauvegarder la ligne et de l'afficher à l'endroit où elle a été créée.
ni la première ni la deuxième version ne veulent fonctionner...



Voir les erreurs :

1. Toujours spécifier explicitement un symbole graphique (oui, vous pouvez vous fier à la documentation, mais il est préférable de TOUJOURS le spécifier explicitement)

   preff=ChartSymbol(Symbol());
   price=SymbolInfoDouble(Symbol(),SYMBOL_BIDLOW);
   ObjectCreate(0,preff+"hhh",OBJ_HLINE,0,0,price) ;
//---
   if(preff+"hhh" != ChartSymbol(Symbol()))
     {
      ObjectSetInteger(0,preff+"hhh",OBJPROP_COLOR,clrNONE);
     }
//---
   if(preff != ChartSymbol(Symbol()))
     {
      ObjectSetInteger(0,preff+"hhh",OBJPROP_COLOR,clrNONE);
     }

2. La chaîne n'a aucun sens - car preff+"hhh" ne sera jamais égal à Symbol()


Ajouté : c'est mieux d'avoir cette approche - toujours une ligne sur le graphique, il suffit de changer le prix de la ligne quand on change de graphique.