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

 

Bonjour à tous. Les gars, aidez-moi à combiner 2 indicateurs. Cela fait 3 jours que je suis assis et rien ne fonctionne.

Le premier indicateur montre la tendance et le second me donne une alerte et me montre le point d'entrée avec une flèche. Je dois faire en sorte que le second indicateur ne donne des signaux que pour la tendance.

J'essaie de faire en sorte qu'ils soient un seul indicateur, ou qu'ils me disent ce que j'ai fait de mal.

Dossiers :
 
jarikn:

Bonjour à tous. Les gars, aidez-moi à combiner 2 indicateurs. Cela fait 3 jours que je suis assis et rien ne fonctionne.

Le premier indicateur montre la tendance et le second me donne une alerte et me montre le point d'entrée avec une flèche. Je dois faire en sorte que le second indicateur ne donne des signaux que pour la tendance.

Aidez-moi à en faire un tout ou dites-moi ce que j'ai fait de mal.

Attrapez

Dossiers :
 

Mais de quoi parlez-vous ? Personne ne lit la documentation ?

Bars

Demander le nombre de barres sur un intervalle donné

int  Bars( 
   string           symbol_name,     // имя символа 
   ENUM_TIMEFRAMES  timeframe,       // период 
   datetime         start_time,      // с какой даты 
   datetime         stop_time        // по какую дату 
   );

Valeur retournée

Si les paramètres start_time et stop_time sont donnés, la fonction renvoie le nombre de barres dans une plage de dates. Si ces paramètres ne sont pas donnés, la fonction renvoie le nombre total de barres.

Bars - Доступ к таймсериям и индикаторам - Справочник MQL4
Bars - Доступ к таймсериям и индикаторам - Справочник MQL4
  • docs.mql4.com
Bars - Доступ к таймсериям и индикаторам - Справочник MQL4
 

Dites-moi ce que je fais de mal ou comment le faire correctement.


void Lvls(datetime data, double OPEN, double avg)
  {

   double hi = OPEN + avg;

   double lo = OPEN - avg;
   
   Print("ХАЙ РАВЕН :", hi," ЛОУ РАВЕН :", lo, "ЦЕНА ОТКРЫТИЯ : ", OPEN);
   
   string up = "LVL_UP_" + TimeToString(data);
   string low = "LVL_LOW_" + TimeToString(data);

//Хай
   ObjectCreate(NULL,up,OBJ_TREND,0,data,hi,data,hi,clrBlue,STYLE_SOLID,2,true,true,false,true,false,1);

//Лоу
  ObjectCreate(NULL,low,OBJ_TREND,0,data,lo,data,lo,clrRed,STYLE_SOLID,2,true,true,false,true,false,1);
  }
  


En général, premièrement, les objets sont créés sur le graphique, mais pas affichés, et deuxièmement, bien que je mette une ligne de couleur différente, les propriétés de la ligne ont leur nom correct, mais leur couleur dans les deux cas est rouge, dans le troisième je ne peux pas comprendre quelle date pour spécifier une liaison à 2 points si je veux que la ligne a été poursuivie vers la droite, mais n'était pas un rayon ?

 
MakarFX:

La fonction fonctionne correctement.

Essayez comme ceci

et ajouter la mise à jour du solde à la fonction de clôture de l'ordre

Je vais essayer pendant la journée, merci

 
Alexey Viktorov:

Je suis déjà perdu dans vos souhaits et conseils pour vous... Alors peut-être que mon conseil est complètement hors sujet, mais désolé...

Je comprends que vous devez fixer le solde au début de la journée et compter les profits/pertes au cours de la journée, en fonction desquels vous devez prendre une décision sur la poursuite du trading ...

Voici donc la décision

Si le Conseiller Expert doit être relancé en cours de journée, vous devez envisager le calcul des profits/pertes des ordres du jour en tenant compte des swaps et des commissions et calculer le solde du début de journée dans OnInit().

Je crois en les capacités de Makar, il peut montrer tout cela déjà dans le code...

Je vais essayer pendant la journée, merci.

 
MakarFX:

Attrapez

C'est tout ? Je me suis creusé les méninges pendant trois jours. ))))). Merci beaucoup.
 
MakarFX:

Attrapez

J'ai regardé l'historique, ce n'est toujours pas le même. quand la tendance est à l'achat, il peut donner un signal de vente et vice versa. pouvez-vous me dire quelle ligne changer ? tout va bien. merci beaucoup.
 
jarikn:
j'ai regardé l'historique, ce n'est toujours pas le même. quand la tendance est à l'achat, il peut donner un signal de vente et vice versa. pouvez-vous me dire quelle ligne changer ? sinon tout est super. merci beaucoup
Je viens de les fusionner.
 
Алексей КоКоКо:

S'il vous plaît dites-moi ce que je fais mal) ou quelle est la bonne façon En général, le premier objet est créé sur le graphique, mais n'apparaissent pas, dans le deuxième bien que je mets des lignes de couleur différente dans les propriétés ont leurs propres noms, mais leur couleur dans les deux cas est rouge, dans le troisième je ne peux pas comprendre quelle date de spécifier une ancre de 2 points si je veux que la ligne à continuer vers la droite, mais n'était pas un rayon ?

void Lvls(datetime data, double OPEN, double avg)
  {

   double hi = OPEN + avg;
   double lo = OPEN - avg;
   
   int shift = Period()*60*5;
   
   Print("ХАЙ РАВЕН :", hi," ЛОУ РАВЕН :", lo, "ЦЕНА ОТКРЫТИЯ : ", OPEN);
   
   string up = "LVL_UP_" + TimeToString(data);
   string low = "LVL_LOW_" + TimeToString(data);

//Хай
   ObjectCreate(NULL,up,OBJ_TREND,0,data,hi,data+shift,hi,clrBlue,STYLE_SOLID,2,true,true,false,true,false,1);

//Лоу
  ObjectCreate(NULL,low,OBJ_TREND,0,data,lo,data+shift,lo,clrRed,STYLE_SOLID,2,true,true,false,true,false,1);
  }
Raison: