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

 
Bonjour à tous, quelqu'un a-t-il un fichier .exe pour metatrader 4 ? Exactement de la part des développeurs, non lié à aucun dc
 
a.lxrn:
Bonjour à tous, quelqu'un a-t-il un fichier .exe pour metatrader 4 ? Exactement de la part des développeurs, non lié à aucun dc

le fichier n'est pas lié, prenez metatrader.exe et metaeditorium.exe de n'importe quel dtz et exécutez-les depuis un dossier séparé et configurez le compte. Il n'y a pas d'installateur 4ka sur le site web. Mais à quoi ça sert ?

 
Igor Makanu:

Déposez un indicateur fractal et un conseiller expert de test avec cette fonction sur le graphique.

et réimprimer les valeurs trouvées en les passant à ma fonctionMODE_UPPER et MODE_LOWER.

Vous devez vous souvenir de l'heure de la barre, à l'apparition d'une nouvelle barre, la numérotation changera, et l'heure d'ouverture de la barre est toujours constante.

Par exemple, lorsque vous exécutez mon code, mémorisez l'heure de la barre où la fractale a été détectée, puis exécutez-le à nouveau, trouvez la barre et comparez l'heure de la barre avec celle mémorisée - si l'heure est différente, cela signifie qu'il s'agit d'une nouvelle fractale.

Je l'ai fait comme ça :

if((Hour()>=9 && Minute()==15) && Hour()<23)
   {
    Fun_New_Bar();
    if(New_Bar)      
     {
     barfrup_1 = GetLastFractals(1,MODE_UPPER);Alert("barfrup_1 = ",barfrup_1);
     barfrup_2 = GetLastFractals(barfrup_1+1,MODE_UPPER);Alert("barfrup_2 = ",barfrup_2);
     if(barfrup_1==3)
     {
      secondtime1=iTime(NULL,0,barfrup_1);;Alert("secondtime1 = ",secondtime1);
      secondprice1=iHigh(NULL,0,barfrup_1);Alert("secondprice1 = ",secondprice1);
      firsttime1=iTime(NULL,0,barfrup_2);Alert("firsttime1 = ",firsttime1);
      firstprice1=iHigh(NULL,0,barfrup_2);Alert("firstprice1 = ",firstprice1);
      //рисуем трендовую линию High
      ObjectCreate("HighLine",OBJ_TREND,0,firsttime1,firstprice1,secondtime1,secondprice1);
     }}}

Dessine une ligne. Si j'ajoute :

if(barfrup_1>3)  ObjectsDeleteAll();

Il efface cette ligne et c'est tout. Qu'est-ce qui ne va pas ?

 
novichok2018:

Je l'ai fait comme ça :

Dessine une ligne. Si j'ajoute :

il efface cette ligne et c'est tout. Qu'est-ce qu'il y a ?

Dans l'un de vos précédents messages, vous vous êtes plaint de ne pas avoir reçu de réponse. Rappelez-vous combien de fois on vous a dit de lire la documentation et que les questions élémentaires disparaîtraient d'elles-mêmes. Cette question fait à nouveau partie de la série "fumez la documentation", fumez soigneusement sans manquer un mot ou même une phrase.

Pensez-vous avoir un homonyme complet ? Complétez donc que votre année et votre date de naissance correspondent, sans oublier votre nom, votre prénom et votre patronyme.

ObjectCreate - Графические объекты - Справочник MQL4
ObjectCreate - Графические объекты - Справочник MQL4
  • docs.mql4.com
[in]  Индекс окна, в которое будет добавлен объект. Окно должно существовать (индекс окна должен быть большим или равным 0 и меньшим, чем WindowsTotal()), иначе функция возвратит false. При использовании функции на собственном графике осуществляется прямой доступ к графику (как это всегда было в MQL4) и возврат true означает успешное создание...
 
novichok2018:

Je l'ai fait comme ça :

Dessine une ligne. Si j'ajoute :

il efface cette ligne et c'est tout. Qu'est-ce qu'il y a ?

lisez mon premier message, qui va donner un autre nom à la ligne ? ou la déplacer ?

esquissé, rapidement, il dessine quelque chose, je ne comprends pas, essayez d'utiliser ce code pour faire votre travail

//+------------------------------------------------------------------+
//|                                                 FractalTrend.mq4 |
//|                                                            IgorM |
//|                              https://www.mql5.com/ru/users/igorm |
//+------------------------------------------------------------------+
#property copyright "IgorM"
#property link      "https://www.mql5.com/ru/users/igorm"
#property version   "1.00"
#property strict
#include <ChartObjects\ChartObjectsLines.mqh>
CChartObjectTrend *UPLine, *DNLine;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
{
   return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
   delete UPLine;
   delete DNLine;
}
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
{
   static datetime bar1 = 0;
   if(bar1 != Time[1])
   {
      delete UPLine;
      delete DNLine;
      int last_fractal = GetLastFractals(0, MODE_UPPER);
      int prev_fractal = GetLastFractals(last_fractal + 1, MODE_UPPER);
      UPLine = DrawTrendLine(MODE_UPPER, "UPLineFractal", prev_fractal, last_fractal, clrRed);
  
      last_fractal = GetLastFractals(0, MODE_LOWER);
      prev_fractal = GetLastFractals(last_fractal + 1, MODE_LOWER);
      DNLine = DrawTrendLine(MODE_LOWER, "DNLineFractal", prev_fractal, last_fractal, clrYellowGreen);
      bar1 = Time[1];
   }

}
//_______________________________________________________________________
CChartObjectTrend* DrawTrendLine(const int MODE, const string obj_name, const int bar2, const int bar1, const color clr)
{
   CChartObjectTrend *obj = new CChartObjectTrend;
   obj.Create(0, obj_name, 0, Time[bar2], MODE == MODE_UPPER ? High[bar2] : Low[bar2], Time[bar1], MODE == MODE_UPPER ? High[bar1] : Low[bar1]);
   obj.Color(clr);
   return obj;
}
//_______________________________________________________________________
int GetLastFractals(int bar, int mode) // bar - с какого бара начинать поиск, mode = MODE_UPPER или MODE_LOWER , результат № бара где найден фрактал
{
   int i = bar;
   while(i < Bars && iFractals(NULL, 0, mode, i) < _Point) i++;
   return(i);
}
//_______________________________________________________________________
 
Alexey Viktorov:

Dans l'un de vos précédents messages, vous vous êtes plaint de ne pas obtenir de réponse. Rappelez-vous combien de fois on vous a envoyé lire de la documentation et les questions élémentaires disparaîtront d'elles-mêmes. Cette question fait à nouveau partie de la série "fumer la documentation". Fumez soigneusement sans sauter de mots et encore plus sans sauter de phrases.

Pensez-vous avoir un homonyme complet ? Tellement complet que votre année et votre date de naissance sont les mêmes, sans parler de votre nom, prénom et patronyme.

Oui, j'ai compris depuis longtemps, depuis votre premier "conseil" à mes questions, que vous êtes le plus dur ici, et que s'abaisser à expliquer ce qui vous semble élémentaire est "déplacé" pour vous. Mais tu ne peux pas t'empêcher de gonfler ta queue. Où d'autre que dans le fil de discussion des nouveaux arrivants ?

 
Igor Makanu:

lisez mon premier message, qui va donner un autre nom à la ligne ? ou la déplacer ?

esquissé, à la hâte, quelque chose dessine, n'a pas compris, essayer ce code à faire pour votre tâche

Merci ! Je vais continuer à creuser.

 
novichok2018:

Depuis votre premier "conseil" à mes questions, j'ai compris depuis longtemps que vous êtes le plus dur ici, et qu'il est "déplacé" pour vous de vous abaisser à expliquer ce qui vous semble élémentaire. Mais tu ne peux pas t'empêcher de gonfler ta queue. Où d'autre que dans un fil pour les nouveaux arrivants !

Ecoute, tu ne peux pas être si ignorant que même ces mots

Nom unique de l'objet.

dans la documentation ne peuvent pas voir ou comprendre. C'est exactement ce que j'ai essayé de te dire. Mais, apparemment, en vain. La prochaine fois, je ferai de mon mieux pour dire tout ce que je pense de toi dans un murmure. Certains débutants restent débutants pour toujours. Cela doit être votre destin. Saw, Shura, saw...

 

Messieurs les camarades@novichok2018 et@Alexey Viktorov, ne soyez pas trop émus ! Elles sont préjudiciables à un dialogue constructif ! ....

)))))))))))

 
Igor Makanu:

lisez mon premier message, qui va donner un autre nom à la ligne ? ou la déplacer ?

esquissé, rapidement, quelque chose dessine, n'a pas compris, essayez ce code pour faire votre tâche

C'est fait :

Fun_New_Bar();
    if(New_Bar)      
     {
     barfrup_1 = GetLastFractals(1,MODE_UPPER);Alert("barfrup_1 = ",barfrup_1);
     barfrup_2 = GetLastFractals(barfrup_1+1,MODE_UPPER);Alert("barfrup_2 = ",barfrup_2);
     if(barfrup_1==3)
     {
      secondtime1=iTime(NULL,0,barfrup_1);
      secondprice1=iHigh(NULL,0,barfrup_1);
      firsttime1=iTime(NULL,0,barfrup_2);
      firstprice1=iHigh(NULL,0,barfrup_2);
      //рисуем трендовую линию High
      ObjectCreate("HighLine",OBJ_TREND,0,firsttime1,firstprice1,secondtime1,secondprice1);
     }
      if(barfrup_1>3)  ObjectsDeleteAll();
      if(TimeCurrent()>secondtime1)
      {
      datetime Nsecondtime1=iTime(NULL,0,barfrup_1);
      double  Nsecondprice1=iHigh(NULL,0,barfrup_1);
      datetime Nfirsttime1=iTime(NULL,0,barfrup_2);
      double  Nfirstprice1=iHigh(NULL,0,barfrup_2);
      //рисуем новую трендовую линию High
      ObjectCreate("HighLine",OBJ_TREND,0,Nfirsttime1,Nfirstprice1,Nsecondtime1,Nsecondprice1);
      }
      }
 

À mon avis, c'est plus simple. Il fonctionne bien sur l'historique. Je vais vérifier en ligne sur la démo, je pense que ça va marcher aussi. Cela fonctionnera-t-il pour de vrai depuis votre expérience ?

Raison: