[ARCHIVE !] Toute question de débutant, pour ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 4. - page 419

 

ilunga J'ai besoin de plus d'aide. Quelque chose ne va pas. Imprime uniquement la nouvelle heure, mais il n'y a pas de nouveau ZigZag.

2012.10.08 12:23:49 2012.09.14 05:12 MTF PRINT EURUSD,M1 : newTime1000001 2012.09.14 05:11
2012.10.08 12:23:49 2012.09.14 05:11 MTF PRINT EURUSD,M1 : newTime1000001 2012.09.14 05:10
2012.10.08 12:23:49 2012.09.14 05:10 MTF PRINT EURUSD,M1 : newTime100005 2012.09.14 05:05
2012.10.08 12:23:49 2012.09.14 05:10 MTF PRINT EURUSD,M1 : newTime1000001 2012.09.14 05:09
2012.10.08 12:23:48 2012.09.14 05:09 MTF PRINT EURUSD,M1 : newTime1000001 2012.09.14 05:08
2012.10.08 12:23:4814 05:08 MTF PRINT EURUSD,M1 : newTime1000001 2012.09.14 05:07
2012.10.08 12:23:48 2012.09.14 05:07 MTF PRINT EURUSD,M1 : newTime1000001 2012.09.14 05:06
2012.10.08 12:23:48 2012.09.14 05:06 MTF PRINT EURUSD,M1 : newTime100005 2012.09.14 05:00
2012.10.08 2012 12:23:48 2012.09.14 05:06 MTF PRINT EURUSD,M1 : newTime1000001 2012.09.14 05:03
2012.10.08 12:23:48 2012.09.14 05:03 MTF PRINT EURUSD,M1 : newTime1000001 2012.09.14 05:02
2012.10.08 12:23:48 2012.09.14 05:02 MTF PRINT EURUSD,M1 : newTime1000001 2012.09.14 05:01
2012.10.08 12:23:48 2012.09.14 05:01 MTF PRINT EURUSD,M1 : newTime1000001 2012.09.14 05:00
2012.10.08 12:23:48 2012.09.14 05:00 MTF PRINT EURUSD,M1 : newTime1000060 2012.09.14 04:00
2012.10.08 12:23:48 2012.09.14 05:00 MTF PRINT EURUSD,M1 : newTime1000030 2012.09.14 04:30
2012.10.08 12:23:48 2012.09.14 05:00 MTF PRINT EURUSD,M1 : newTime1000015 2012.09.14 04:45
2012.10.08 12:23:48 2012.09.14 05:00 MTF PRINT EURUSD,M1 : newTime1000005 2012.09.14 04:55
2012.10.08 12:23:4814 05:00 MTF PRINT EURUSD,M1 : newTime1000001 2012.09.14 04:59
2012.10.08 12:23:48 2012.09.14 04:59 MTF PRINT EURUSD,M1 : newTime1000001 2012.09.14 04:58
2012.10.08 12:23:48 2012.09.14 04:58 MTF PRINT EURUSD,M1 : newTime1000001 2012.09.14 04:55
2012.10.08 2012 12:23:48 2012.09.14 04:55 MTF PRINT EURUSD,M1 : newTime1000005 2012.09.14 04:50
2012.10.08 12:23:48 2012.09.14 04:55 MTF PRINT EURUSD,M1 : newTime1000001 2012.09.14 04:54
2012.10.08 12:23:48 2012.09.14 04:54 MTF PRINT EURUSD,M1 : newTime1000001 2012.09.14 04:53

Code complet.

//Код непоместился. Слишком длинный. Он в прицепе.
Dossiers :
mtfeprint.mq4  19 kb
 
hronik1967:
Si le charabia ci-dessus est écrit par des débutants ! !!, alors je dois être un embryon de trader. Il a posé une simple question et l'a totalement ignorée. Je ne suis probablement pas digne d'être ici. Je n'en suis pas digne. Peut-être que quelqu'un fera attention. Je demande à nouveau, j'ai téléchargé et mis en place un Conseiller Expert Forex Cieaner pour EURUSD, j'ai tradé sur un intervalle de 30 min, mais je ne vois pas de trades. J'ai mis Ilan 1.6 sur GBRUSD avant cela, tout y est normal. Ce que je n'ai pas fait ? SI QUELQU'UN EST LÀ, DITES-LE MOI ! !!

Beaucoup de gens ne connaissent pas un tel conseiller. Ils ne veulent pas le chercher et le télécharger. Il y a plus de questions sur le code.
 
hronik1967:
Si ce charabia ci-dessus est écrit par des débutants ! !!, alors je dois être le germe d'un trader. Il a posé une simple question et l'a totalement ignorée. Je ne suis probablement pas digne d'être ici. Je n'en suis pas digne. Peut-être que quelqu'un fera attention. Je demande à nouveau, j'ai téléchargé et mis en place un Conseiller Expert Forex Cieaner pour EURUSD, j'ai tradé sur un intervalle de 30 min, mais je ne vois pas de trades. J'ai mis Ilan 1.6 sur GBRUSD avant cela, tout y est normal. Ce que je n'ai pas fait ? SI QUELQU'UN EST LÀ, DITES-LE MOI ! !!
La voiture est sur la route, ne va pas. Les gars, aidez-moi, qu'est-ce qui ne va pas avec ça ? C'est à peu près la taille de votre question sur l'EA.
Vous n'obtenez pas de réponse parce qu'il y a au moins deux douzaines de raisons de la nature la plus variée. Le conseiller expert de quelqu'un d'autre sur le terminal de quelqu'un d'autre, par un trader aux qualifications inconnues.
 

Aide.

Je voulais dire (deux posts plus haut) dans le journal s'imprime ou ne s'imprime pas.

Print("newZZ_240=",Curr_zz240) ne s'imprime pas ;

Print("newTime",mn240, ",TimeToStr(CurrTime240)) imprime ;

Cela signifie que quelque chose ne va pas avec NewZigZag H4 . Je ne comprends pas comment ni quoi. Il semble que ce soit le cas, mais il n'y a pas d'empreinte.

J'ai fait de nombreuses études différentes sur ZZ. J'ai obtenu des résultats différents sur différents TF. Maintenant, je veux tout rassembler. J'ai beaucoup de calculs et si je les fais par ticks ou par nouvelles barres, cela va fortement charger mon ordinateur. Il suffit de traiter les données lorsqu'un nouvel extrema ZZ apparaît.

Dossiers :
mtfqprint.mq4  19 kb
 
Merci à gince et granit77 pour les réponses. Ils semblent suggérer qu'un spécialiste devrait être appelé à la maison... C'est en gros ce que je pensais, ça ne va pas être expliqué sur les doigts.
 
FAQ:

Une caractéristique - une petite incohérence, qui, cependant, ne gêne pas, et qui offre même parfois des possibilités non documentées, comme OrderClosePrice() - si vous fermez un ordre avec ce paramètre dans le prix de clôture, il se fermera, sans qu'il soit nécessaire de s'embêter à déterminer le prix par type d'ordre.

Bug - bogue dans le programme (caractéristique incorrigible)

Servidec - un endroit où les utilisateurs écrivent des lettres avec les bogues détectés. Il se trouve dans le cinquième forum de votre profil (une inscription supplémentaire est requise).

Grosse danke schoen))))
 

Bon après-midi. Ma question est la suivante. Dans le livre MQL4 que l'on peut trouver à l'adresse MQL4.community, dans la section "Fonctions standard" du chapitre "Fonctions de chaîne et fonctions de conversion de données", l'exemple suivant du conseiller expert strings.mq4 est donné (repris intégralement du livre)

//--------------------------------------------------------------------
// strings.mq4
// Предназначен для использования в качестве примера в учебнике MQL4.
//--------------------------------------------------------------- 1 --
extern int Quant_Bars=100;             // Количество баров
datetime   Time_On;
string     Prefix    ="Paint_";
//--------------------------------------------------------------- 2 --
int init()                             // Спец. функция init()
  {
   int Ind_Bar;                        // Индекс бара
   Time_On=Time [Quant_Bars];          // Время первого раскрашенного
   for(Ind_Bar=Quant_Bars-1; Ind_Bar>=0; Ind_Bar--)// Цикл по барам
     {
      Create(Ind_Bar,1);               // Нарисуем тонкую линию
      Create(Ind_Bar,2);               // Нарисуем толстую линию
     }
   WindowRedraw();                     // Перерисовка изображения 
   return;                             // Выход из init()
  }
//--------------------------------------------------------------- 3 --
int start()                            // Спец. функция start
  {
   datetime T1, T2;                    // 1 и 2 координаты времени
   int Error,Ind_Bar;                  // Код ошибки и индекс бара
   double P1, P2;                      // 1 и 2 координата цены
   color Col;                          // Цвет созданного объекта
//--------------------------------------------------------------- 4 --
   for(int Line=1; Line<=2; Line++)    // Цикл по видам линий
     {
      string Nom_Lin =Line + "_";      // Строка с номером линии
      //    string Nom_Lin  = DoubleToStr(Line,0)+"_";// Можно и так
      for(Ind_Bar=0; ;Ind_Bar++)       // Цикл по барам
        {
//--------------------------------------------------------------- 5 --
         datetime T_Bar= Time[Ind_Bar];// Время открытия бара
         if (T_Bar < Time_On) break;   // Заграничные не раскрашиваем
         string Str_Time=TimeToStr(T_Bar);       // Строка со временем
         string His_Name=Prefix+Nom_Lin+Str_Time;// Имя объекта
//--------------------------------------------------------------- 6 --
         T1=ObjectGet(His_Name,OBJPROP_TIME1);// Запрос коорд. t1
         Error=GetLastError();         // Получение кода ошибки
         if (Error==4202)              // Если объекта нет :(
           {
            Create(Ind_Bar,Line);      // Вызов ф-ии создания объекта
            continue;                  // На следующую итерацию
           }
//--------------------------------------------------------------- 7 --
         T2 =ObjectGet(His_Name,OBJPROP_TIME2); // Запрос коорд. t2
         P1 =ObjectGet(His_Name,OBJPROP_PRICE1);// Запрос коорд. p1
         P2 =ObjectGet(His_Name,OBJPROP_PRICE2);// Запрос коорд. p1
         Col=ObjectGet(His_Name,OBJPROP_COLOR); // Запрос цвета
         if(T1!=T_Bar || T2!=T_Bar || // Не те координаты или цвет:
            (Line==1 && (P1!=High[Ind_Bar] || P2!=  Low[Ind_Bar])) ||
            (Line==2 && (P1!=Open[Ind_Bar] || P2!=Close[Ind_Bar])) ||
            (Open[Ind_Bar] Close[Ind_Bar] && Col!=Red)  ||
            (Open[Ind_Bar]==Close[Ind_Bar] && Col!=Green)  )
           {
            ObjectDelete(His_Name);    // Удаляем объект
            Create(Ind_Bar,Line);      // Создаём правильный объект
           }
//--------------------------------------------------------------- 8 --
        }
     }
   WindowRedraw();                     // Перерисовка изображения 
   return;                             // Выход из start()
  }
//--------------------------------------------------------------- 9 --
int deinit()                           // Спец. функция deinit()
  {
   string Name_Del[1];                 // Объявление массива
   int Quant_Del=0;                    // Количество удаляемых объектов
   int Quant_Objects=ObjectsTotal();   // Cтолько всего ВСЕХ объектов
   ArrayResize(Name_Del,Quant_Objects);// Необходимый размер массива
   for(int k=0; k<=Quant_Del; i++)     // Удаляем объекты с именами,.. 
      ObjectDelete(Name_Del[i]);       // .. имеющимися в массиве
   return;                             // Выход из deinit()
  }
//-------------------------------------------------------------- 10 --
int Create(int Ind_Bar, int Line)      // Пользовательская функция..
  {                                    // ..создания объекта
   color Color;                        // Цвет объекта
   datetime T_Bar=Time [Ind_Bar];      // Время открытия бара
   double   O_Bar=Open [Ind_Bar];      // Цена открытия бара
   double   C_Bar=Close[Ind_Bar];      // Цена закрытия бара
   double   H_Bar=High [Ind_Bar];      // Максимальная цена бара
   double   L_Bar=Low  [Ind_Bar];      // Минимальная цена бара
 
   string Nom_Lin =Line + "_";         // Строка - номер линии
   // string Nom_Lin  = DoubleToStr(Line,0)+"_";// Можно и так
   string Str_Time=TimeToStr(T_Bar);   // Строка - время откр.     
   string His_Name=Prefix+Nom_Lin+Str_Time;// Имя созаваемого объект
   if (O_Bar < C_Bar) Color=Blue;      // Выбор цвета в зависимости..
   if (O_Bar >C_Bar) Color=Red;        // .. от характеристик бара
   if (O_Bar ==C_Bar) Color=Green;
 
   switch(Line)                        // Тонкая или толстая линия
     {
      case 1:                          // Тонкая линия
         ObjectCreate(His_Name,OBJ_TREND,0,T_Bar,H_Bar,T_Bar,L_Bar);
         break;                        // Выход из switch
      case 2:                          // Толстая линия
         ObjectCreate(His_Name,OBJ_TREND,0,T_Bar,O_Bar,T_Bar,C_Bar);
         ObjectSet(   His_Name, OBJPROP_WIDTH, 3);// Стиль     
     }
   ObjectSet(    His_Name, OBJPROP_COLOR, Color); // Цвет
   ObjectSet(    His_Name, OBJPROP_RAY,   false); // Луч
   ObjectSetText(His_Name,"Объект создан экспертом",10);// Описание
   return;                             // Выход из польз. ф-ии
  }
//-------------------------------------------------------------- 11 –
 

... suite...

À la fin de la sous-section StringSubstr Function, entre parenthèses, se trouve la phrase suivante : "séparément, nous devons noter que dans la première boucle for (ma note : ce doit être deinit() car il n'y a pas d'autre moyen de supprimer des objets) , nous ne pouvons pas supprimer d'objets car après chaque suppression, le nombre total d'objets et leur numérotation changeront et certains noms d'objets seront ignorés". Mais dans l'EA citée, il n'y a pas du tout de deuxième boucle for . De plus, la variable Quant_Del définie dans la fonction deinit() avant la boucle for est initialisée avec zéro, alors que la variable i n'a été définie nulle part avant la boucle for.

   for(int k=0; k<=Quant_Del; i++)     // Удаляем объекты с именами,.. 
         ObjectDelete(Name_Del[i]);       // .. имеющимися в массиве

il s'avère que l'expert ci-dessus a juste trivialement omis plusieurs lignes de programme.

La 1ère question est donc la suivante : s'agissait-il vraiment d'une omission anodine de plusieurs lignes ou s'agit-il d'un programme si délicat qu'un novice ne peut en saisir le sens sans aide extérieure ?

De plus... Dans le même chapitre de la même section, il y a un lien vers le même conseiller expert (dans le fichier joint) avant le texte cité qui, lorsqu'on clique dessus, ouvre le même conseiller expert dans MetaElitor. Mais le texte de ce conseiller expert est différent: la fonction deinit() ressemble à ceci

//--------------------------------------------------------------- 9 --
int deinit()                           // Спец. функция deinit()
  {
   string Name_Del[1];                 // Объявление массива
   int Quant_Del=0;                    // Количество удаляемых объекто
   int Quant_Objects=ObjectsTotal();   // Cтолько всего ВСЕХ объектов
   ArrayResize(Name_Del,Quant_Objects);// Необходимый размер массива
   for(int k=0; k<Quant_Objects; k++)  // По количеству объектов 
     {
      string Obj_Name=ObjectName(k);   // Запрашиваем имя объекта
      string Head=StringSubstr(Obj_Name,0,6);// Извлекаем первые 6 сим
      if (Head==Prefix)                // Найден объект, ..
        {                              // .. начинающийся с Paint_
         Quant_Del=Quant_Del+1;        // Колич имён к удалению
         Name_Del[Quant_Del-1]=Obj_Name;//Запоминаем имя удаляемого
        }
     }
   for(int i=0; i<=Quant_Del; i++)     // Удаляем объекты с именами,.. 
      ObjectDelete(Name_Del[i]);       // .. имеющимися в массиве
   return;                             // Выход из deinit()
  }
//-------------------------------------------------------------- 10 --

Alors, si "combiner" la phrase "Par ailleurs, veuillez noter que vous ne pouvez pas supprimer des objets dans la première boucle for, car dans ce cas, le nombre total d'objets et leur numérotation changeront après chaque suppression, et certains noms d'objets seront ignorés en conséquence" ET texte fonction deinit() de la dernière variante, j'ai la 2ème question :

Question. Pourquoi ne puis-je pas supprimer des objets dans la première boucle for en plaçant la fonction ObjectDelete(Obj_Name) à l'intérieur de l'instruction if... ? Quelque chose comme :

int deinit()                           // Спец. функция deinit()
  {
   int Quant_Objects=ObjectsTotal();   // Cтолько всего ВСЕХ объектов
   for(int k=0; k<Quant_Objects; k++)  // По количеству объектов 
     {
      string Obj_Name=ObjectName(k);   // Запрашиваем имя объекта
      string Head=StringSubstr(Obj_Name,0,6);// Извлекаем первые 6 сим
      if (Head==Prefix)                // Если найден объект, …
        {                              // ... начинающийся с Paint_,
         ObjectDelete(Obj_Name);       // … то его и удаляем
        }                              //конец if
     }                                 //конец for
   return;                             // Выход из deinit()
  }                                    //конец deinit
//-------------------------------------------------------------- 10 --

Pourquoi après chaque suppression "... Le nombre total d'objets va changer"... ? Parce que dans ce cas, la variable Quant_Objects, qui détermine le nombre total d'objets, obtient sa valeur égale à ObjectsTotal(), FORWARD la boucle for?

P.S. Merci d'avance pour la réponse, afin de ne pas encombrer le forum.



Dossiers :
strings.mq4  7 kb
 

Les gars, c'est un peu hors sujet, mais quand même...

Est-il possible d'être "ami" avec des ordinateurs/portables avec Win7 32 et 64 bits sur le réseau local ?
J'ai trois ordinateurs portables et un ordinateur de bureau (tous à la maison) sur deux ordinateurs portables Win7(64-bit) et ils ne sont pas vus du tout sur le bureau 32-bit Win7 Ultimate du réseau. Et à partir de là, je voudrais gérer toute la foule...

Des options ?

 
moskitman:

Les gars, c'est un peu hors sujet, mais quand même...

Est-il possible d'être "ami" avec des ordinateurs/portables avec Win7 32 et 64 bits sur le réseau local ?
J'ai trois ordinateurs portables et un ordinateur de bureau (tous à la maison) sur deux ordinateurs portables Win7(64-bit) et ils ne sont pas vus du tout sur le bureau 32-bit Win7 Ultimate du réseau. Et à partir de là, je voudrais gérer toute la foule...

Des options ?

Sur un réseau, la taille de l'ordinateur ou du système n'a pas d'importance. Il y a un problème avec les paramètres.