Théorie de l'accélération de l'EA lors de l'utilisation d'un indicateur personnalisé (fonction - iCustom) - page 7

 
Dennis Kirichenko:

Non. Il y a une fonction magique qui va mélanger toutes les tentatives :

Ce mécanisme est intégré dans le terminal de langue lui-même. Bien que l'idée soit intéressante...

Malheureusement... On va continuer à réfléchir.

Dennis Kirichenko:

Comment ça, c'est fini ? :-)

Cela signifie que l'indicateur a commencé à renvoyer des zéros au lieu de chiffres.

Dennis Kirichenko, Karputov Vladimir - merci pour les informations sur les fonctions !

Seulement je ne comprends pas, quelle est la différence entre TERMINAL_MEMORY_TOTAL et TERMINAL_MEMORY_AVAILABLE ?

TERMINAL_MEMORY_TOTAL est la mémoire maximale disponible, et TERMINAL_MEMORY_AVAILABLE est la mémoire restante, n'est-ce pas ?

 
-Aleks-:

Vous ne comprenez pas la différence entre TERMINAL_MEMORY_TOTAL et TERMINAL_MEMORY_AVAILABLE ?

TERMINAL_MEMORY_TOTAL est la mémoire maximale disponible, et TERMINAL_MEMORY_AVAILABLE est la mémoire restante, n'est-ce pas ?

Voici la meilleure façon de le vérifier vous-même : ouvrez le terminal ; ouvrez le Gestionnaire des tâches ; exécutez un script qui imprime les valeurs de TERMINAL_MEMOIRE_TOTAL, TERMINAL_MEMOIRE_DISPONIBLE et comparez avec les lectures dans le Gestionnaire des tâches.
 
Dans quatre ans, nous ajouterons une suppression automatique plus agressive de ces copies d'indicateurs.
 
-Aleks-:
J'ai essayé manuellement, en changeant le modèle avec beaucoup d'indicateurs à presque vide - l'effet est là (mais le cache reste - je pense que ce n'est pas critique). Mais comment faire l'ouverture et la fermeture par un script de modèle - je ne sais pas. J'ai compris que le doute est que tant que le script est en cours d'exécution, la mémoire ne sera pas effacée... Andrei, s'il te plaît, aide à l'expérience.

Qu'est-ce qui ne marche pas ? Qu'est-ce qui peut aider ? Où est l'essai ? Où est le code ?

ChartOpen pour ouvrir le graphique. Puis sur le ChartApplyTemplate avec le nom d'un modèle pré-conçu (il sera toujours le même, il n'est pas nécessaire de l'écrire). Puis ChartClose.

Mesurer la mémoire grâce à la fonction proposée. Ou vous pouvez télécharger mon indicateur iMemory gratuit, il a été spécialement créé dans ce but.

 
Renat Fatkhullin:
Dans quatre ans, nous ajouterons une suppression automatique plus agressive de ces copies d'indicateurs.

Hourra ! Comme c'est agréable quand ceux qui sont au pouvoir vous entendent !

Et les "copies d'indicateurs" sont-elles celles provoquées par le premier lorsqu'il y a un manque de mémoire pour le second, ou autre chose ?

 
Andrey Khatimlianskii:

Qu'est-ce qui ne marche pas ? Qu'est-ce qui peut aider ? Où est l'essai ? Où est le code ?

ChartOpen pour ouvrir le graphique. Puis sur le ChartApplyTemplate avec le nom d'un modèle pré-conçu (il sera toujours le même, il n'est pas nécessaire de l'écrire). Puis ChartClose.

Mesurer la mémoire grâce à la fonction proposée. Ou vous pouvez télécharger mon indicateur iMemory gratuit, il a été spécialement créé dans ce but.

Quel genre de programmeur suis-je ? C'est ici que j'ai commencé à écrire le script - la première commande pour ouvrir le graphique ne donne aucun résultat. Qu'est-ce qu'il y a ?

//+------------------------------------------------------------------+

//|                                                      Scripts.mq4 |

//|                      Copyright © 2008, MetaQuotes Software Corp. |

//|                                             https://www.mql5.com |

//+------------------------------------------------------------------+

#property copyright "Copyright © 2008, MetaQuotes Software Corp."

#property link      "https://www.mql5.com"

#property version   "1.00"

#property strict

#property script_show_inputs

//--- input parameters

input int      Input1=0;

//+------------------------------------------------------------------+

//| Script program start function                                    |

//+------------------------------------------------------------------+



long  ChartOpen(string GBPUSD, ENUM_TIMEFRAMES  PERIOD_H1);

   

void OnStart()

  {

  }

//+------------------------------------------------------------------+

Автоматический трейдинг и тестирование торговых стратегий
Автоматический трейдинг и тестирование торговых стратегий
  • www.mql5.com
MQL5: язык торговых стратегий для MetaTrader 5, позволяет писать собственные торговые роботы, технические индикаторы, скрипты и библиотеки функций
 
-Aleks-:

Quel genre de programmeur suis-je ? .... J'ai commencé à écrire le script - la première commande pour ouvrir le graphique ne donne pas de résultats. Qu'est-ce qu'il y a ?

Donc tu voulais dire "fais-le pour moi", pas "aide-moi" ? C'est ce que vous dites.

Pas du tout - presque tout : la fonction ChartOpen doit être appelée depuis le corps de la fonction OnStart. Le premier paramètre - chaîne de caractères, doit être entre guillemets. Il n'est pas nécessaire de spécifier le type de données (chaîne et ENUM_TIMEFRAMES) lors de l'appel).

Commencez par chercher des exemples d'utilisation de la fonction ou de la documentation (il y a des exemples là aussi).

 
Andrey Khatimlianskii:

Donc tu voulais dire "fais-le pour moi", pas "aide-moi" ? C'est ce que vous dites.

Non, à peu près tout : la fonction ChartOpen doit être appelée depuis le corps de la fonction OnStart. Le premier paramètre - chaîne de caractères, doit être entre guillemets. Il n'est pas nécessaire de spécifier le type de données (chaîne et ENUM_TIMEFRAMES) lors de l'appel).

Commencez par chercher des exemples d'utilisation de la fonction ou de la documentation (il y a des exemples là aussi).

C'est ça le problème, il n'y a pas d'exemple approprié dans l'aide.

D'après vos commentaires, je l'ai refaite :

 //+------------------------------------------------------------------+

//|                                                      Scripts.mq4 |

//|                      Copyright © 2008, MetaQuotes Software Corp. |

//|                                             https://www.mql5.com |

//+------------------------------------------------------------------+

#property copyright "Copyright © 2008, MetaQuotes Software Corp."

#property link      "https://www.mql5.com"

#property version   "1.00"

#property strict

#property script_show_inputs

//--- input parameters

input int      Input1=0;

//+------------------------------------------------------------------+

//| Script program start function                                    |

//+------------------------------------------------------------------+



   

void OnStart()

  {

   long  ChartOpen("GBPUSD",   PERIOD_H1);

  }

//+------------------------------------------------------------------+


J'obtiens des erreurs lorsque je clique, quel est le problème ?

Scripts.mq4' Scripts.mq4 1 1

ChartOpen" - la fonction ne peut être déclarée que dans la portée globale Scripts.mq4 21 10

GBPUSD' - déclaration sans type Scripts.mq4 21 20

GBPUSD' - virgule attendue Scripts.mq4 21 20

PERIOD_H1' - déclaration sans type Scripts.mq4 21 32

4 erreur(s), 0 avertissement(s) 5 1

Автоматический трейдинг и тестирование торговых стратегий
Автоматический трейдинг и тестирование торговых стратегий
  • www.mql5.com
MQL5: язык торговых стратегий для MetaTrader 5, позволяет писать собственные торговые роботы, технические индикаторы, скрипты и библиотеки функций
 
-Aleks-:

C'est le problème, il n'y a pas de bon exemple dans l'aide.

Je l'ai refait en fonction de vos commentaires :

 //+------------------------------------------------------------------+

//|                                                      Scripts.mq4 |

//|                      Copyright © 2008, MetaQuotes Software Corp. |

//|                                             https://www.mql5.com |

//+------------------------------------------------------------------+

#property copyright "Copyright © 2008, MetaQuotes Software Corp."

#property link      "https://www.mql5.com"

#property version   "1.00"

#property strict

#property script_show_inputs

//--- input parameters

input int      Input1=0;

//+------------------------------------------------------------------+

//| Script program start function                                    |

//+------------------------------------------------------------------+



   

void OnStart()

  {

   long  ChartOpen("GBPUSD",   PERIOD_H1);

  }

//+------------------------------------------------------------------+


J'obtiens des erreurs lors du clampage, qu'est-ce qui ne va pas ?

Scripts.mq4' Scripts.mq4 1 1

ChartOpen' - la fonction ne peut être déclarée que dans la portée globale Scripts.mq4 21 10

GBPUSD' - déclaration sans type Scripts.mq4 21 20

GBPUSD' - virgule attendue Scripts.mq4 21 20

PERIOD_H1' - déclaration sans type Scripts.mq4 21 32

4 erreur(s), 0 avertissement(s) 5 1

C'est trop long d'expliquer ce qui ne va pas :)

void OnStart()

  {

   ChartOpen("GBPUSD",   PERIOD_H1);

  }
 
-Aleks-:

C'est là le problème : il n'y a pas d'exemple approprié dans le service d'assistance.

Outre le service d'assistance téléphonique, il existe une base de données et un forum. Travaux de recherche.

ps : ugh, l'insertion du lien dans le post est cassé =(

https://www.mql5.com/ru/search#!keyword=ChartOpen&page=2