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

 
rriaz #:
Il y a d'autres points. Papa dit même qu'il ne connaît pas le mot de passe ! ( Je serai chez lui demain, je peux faire des captures d'écran ou autre. Le logiciel est uniquement installé sur le téléphone

Je suis désolé, il est plus probable que ce soit des escrocs et vous devez vous adresser aux forces de l'ordre.

 
Alexey Viktorov #:

Est-ce que cela pourrait être le problème? Essayez de supprimer périodiquement la ressource

mais il faudrait alors le créer dynamiquement.

C'est-à-dire qu'il faut d'abord supprimer la ressource, puis la recréer. Le seul problème est que je ne sais pas comment cela pourrait fonctionner. Ou si ça va marcher du tout. Je vais devoir essayer...

Ça n'a pas marché. ResourceCreate ne crée un nouveau fichier que pour les images, il ne voit donc pas l'indicateur. Je comprends qu'il faut juste vider la mémoire périodiquement. Je vais essayer quelque chose avec ZeroMemory.

 

Bonjour à tous. Le script permettant de définir le bon modèle sur tous les graphiques s'est avéré être l'histoire suivante.

J'ai ouvert 8 graphiques, tous différents sur n1 avec un modèle de scalping ci-dessous.

8 GRAPHIQUES OUVERTS AVEC MOTIF SCALPING

J'ai ajouté un script au graphique le plus à gauche(AUD/USD) pour traduire tous les graphiques en d1 et un modèle à moyen terme, le code ci-dessous.

string tplName = "FIBOmAGIC СРЕДНЕСРОК.tpl";//ИМЯ ПОДГРУЖАЕМОГО ШАБЛОНА
void OnStart()
 {
  long prevChart = ChartFirst();
  while(prevChart >= 0)
   {
    if(ChartPeriod(prevChart) != PERIOD_D1)// ЕСЛИ ПЕРИОД ГРАФИКА НЕ Д1
      ChartSetSymbolPeriod(prevChart, ChartSymbol(prevChart), PERIOD_D1); // УСТАНАВЛИВАЕМ ПЕРИОД ГРАФИКА КАК Д1
      ChartApplyTemplate(prevChart, tplName); // И УСТАНАВЛИВАЕМ НА ГРАФИК ШАБЛОН СРЕДНЕСРОКА
    prevChart = ChartNext(prevChart);
   }
 }/******************************************************************/
/*****************************End program****************************/


J'ai modifié le modèle de mi-parcours pour tous les graphiques, sauf le graphique de gauche auquel j'ai ajouté le script.

Puis je mets le script sur le graphique de gauche pour traduire le graphique sur n1 et le modèle scalping. Le code du script est le suivant

+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
string tplName = "FIBOmAGIC СКАЛЬПИНГ.tpl";
void OnStart()
 {
  long prevChart = ChartFirst();
  while(prevChart >= 0 && IsStopped())
   {
    if(ChartPeriod(prevChart) != PERIOD_H1)
      ChartSetSymbolPeriod(prevChart, ChartSymbol(prevChart), PERIOD_H1);
      ChartApplyTemplate(prevChart, tplName);
    prevChart = ChartNext(prevChart);
   }
 }/******************************************************************/
/*****************************End program****************************/

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

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


Il semble que tout soit correct, le modèle scalping est appliqué à tous les graphiques. Mais il y a un problème : si j'attache deux fois le même script au graphique le plus à gauche, 5 des 8 graphiques deviennent un outil aud/usd.

APRÈS DEUX UTILISATIONS SUCCESSIVES DU MÊME SCRIPT, UNE PARTIE DES GRAPHIQUES DEVIENT DU MÊME OUTIL

Pourquoi cela se produit-il et comment l'éviter autrement que par 2 passages successifs du même script ?

 
DanilaMactep #:

Bonjour à tous. Le script permettant de définir le bon modèle sur tous les graphiques s'est avéré être l'histoire suivante.

J'ai ouvert 8 graphiques, tous différents sur n1 avec un modèle de scalping ci-dessous.

J'ai ajouté un script au graphique le plus à gauche(AUD/USD) pour traduire tous les graphiques en d1 et un modèle à moyen terme, le code ci-dessous.


J'ai modifié le modèle de mi-parcours pour tous les graphiques, sauf le graphique de gauche auquel j'ai ajouté le script.

Puis je mets le script sur le graphique de gauche pour traduire le graphique sur n1 et le modèle scalping. Le code du script est le suivant


Il semble que tout soit correct, le modèle scalping est appliqué à tous les graphiques. Mais il y a un problème : si j'attache deux fois le même script au graphique le plus à gauche, 5 des 8 graphiques deviennent un outil aud/usd.

Pourquoi cela se produit-il et comment l'éviter autrement que par 2 passages successifs du même script ?

Essayez comme ceci

void OnStart()
 {
  long prevChart = ChartFirst();
  while(prevChart >= 0 && IsStopped())
   {
    //if(ChartPeriod(prevChart) != PERIOD_H1)
      ChartSetSymbolPeriod(prevChart, ChartSymbol(prevChart), PERIOD_H1);// или PERIOD_D1
      ChartApplyTemplate(prevChart, tplName);
    prevChart = ChartNext(prevChart);
   }
 }/******************************************************************/
/*****************************End program****************************/
 
Alexey Viktorov #:

Essayez ceci

cette option ne fait rien du tout - je lance le script sur le graphique et rien ne se passe.
 
DanilaMactep #:
Cette option ne fait rien du tout - je lance le script sur le graphique et rien ne se passe.

Est-ce que la déclaration de la variable

string tplName = "FIBOmAGIC СРЕДНЕСРОК.tpl";//ИМЯ ПОДГРУЖАЕМОГО ШАБЛОНА

n'aurait-elle pas été supprimée par hasard ?

 
Alexey Viktorov #:

Est-ce que la déclaration de la variable

n'aurait-elle pas été supprimée par hasard ?

Si je l'avais fait, le compilateur aurait crié "variable non identifiée". Mais maintenant, je vais essayer à nouveau...
 
Alexey Viktorov #:

Est-ce que la déclaration de la variable

n'aurait-elle pas été supprimée par hasard ?

J'ai vérifié deux fois. La variable n'est pas supprimée. Je compile et le script ne fait rien.
 
DanilaMactep #:
Cette option ne fait rien du tout - je lance le script sur le graphique et rien ne se passe.

ça ne marche pas pour vous ?

//+------------------------------------------------------------------+
//|                                           ChartApplyTemplate.mq5 |
//|                                  Copyright 2022, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
//--- покажем окно входных параметров при запуске скрипта
#property script_show_inputs
//----
sinput string Template           = "ADX";          // Имя шаблона(without '.tpl')
sinput ENUM_TIMEFRAMES TimeFrame = PERIOD_CURRENT; // Период
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   long currChart, prevChart = ChartFirst();
   int i = 0, limit = 100;
   bool errTemplate;
   while(i < limit)
     {
      currChart = ChartNext(prevChart);
      if(TimeFrame != PERIOD_CURRENT)
        {
         ChartSetSymbolPeriod(prevChart, ChartSymbol(prevChart), TimeFrame);
        }
      errTemplate = ChartApplyTemplate(prevChart, Template + ".tpl");
      if(!errTemplate)
        {
         Print("Error ", ChartSymbol(prevChart), "-> ", GetLastError());
        }
      if(currChart < 0)
         break;
      Print(i, ChartSymbol(currChart), " ID =", currChart);
      prevChart = currChart;
      i++;
     }
  }
//+------------------------------------------------------------------+
 
137 Matrix #:

ça ne marche pas pour vous ?

Si je ne me trompe pas, c'est ici que tout a commencé - cela n'a pas marché si je me souviens bien ;-) Et je ne sais pas non plus où mettre le nom du modèle dans le code. En bref, c'est un peu le bordel...
Raison: