Questions des débutants MQL4 MT4 MetaTrader 4 - page 99

 

Je veux faire un poussin pour compter le profit après chaque 5 ordres. Il semble compter, mais il y a une erreur "4051 Invalid value of function parameter" pourquoi ?


input int input_step=5;
int step=input_step;

void start()
{
int h, history=OrdersHistoryTotal();
double orderProfit=0;
 if(history==step)
  {
   for(h=history; h<=history; h--)
    {
    if(OrderSelect(h,SELECT_BY_POS,MODE_HISTORY)==true)
      {
      orderProfit=orderProfit+OrderProfit();
      Print("profit=",orderProfit);
      } 
    }
    step=step+input_step;
  }
  return;
}



 

Bonjour Cher Gourou ...

Défilement des données dans la fenêtre du terminal > Historique ...

... ... et j'ai déplacé l'emplacement de la fenêtre du terminal au-dessus des fenêtres du tableau...

... Quelqu'un peut-il suggérer comment ramener la fenêtre du terminal en dessous des fenêtres du graphique ?


Je serais très reconnaissant.

 
Yaroslav Nykula:

Bonjour Cher Gourou ...

Défilement des données dans la fenêtre du terminal > Historique ...

... ... et j'ai déplacé l'emplacement de la fenêtre du terminal au-dessus des fenêtres du tableau...

... Quelqu'un peut-il suggérer comment ramener la fenêtre du terminal en dessous des fenêtres du graphique ?


Je serais très reconnaissant.


Saisissez la barre sous la croix avec votre souris et faites-la glisser où vous voulez.

 

Bonjour, pourriez-vous me dire comment faire pour qu'un EA arrête de trader après trois pertes (avec le même nombre magique) ? Après une perte de cette façon

int flag==0 ;

for(int pos_buy=OrdersHistoryTotal()-1 ; pos_buy>=0 ; pos_buy--)

{

if(OrderSelect(pos_buy,SELECT_BY_POS,MODE_HISTORY) && OrderType()==OP_BUY)

{

if(OrderSymbol() == Symbol() && (OrderMagicNumber() == Magic_buy )&&(OrderProfit()>0))

flag=1 ; }}


Qu'en est-il de trois pertes... ?

 
Alekseu Fedotov:

Saisissez la barre sous la croix avec votre souris et faites-la glisser où vous voulez.


Merci... J'ai double-cliqué dessus et je l'ai fait glisser vers le bas... Je n'y ai pas pensé moi-même.

 
defailer7:

Bonjour, pourriez-vous me dire comment faire pour qu'un EA arrête de trader après trois pertes (avec le même nombre magique) ? Après une perte de cette façon

int flag==0 ;

for(int pos_buy=OrdersHistoryTotal()-1 ; pos_buy>=0 ; pos_buy--)

{

if(OrderSelect(pos_buy,SELECT_BY_POS,MODE_HISTORY) && OrderType()==OP_BUY)

{

if(OrderSymbol() == Symbol() && (OrderMagicNumber() == Magic_buy )&&(OrderProfit()>0))

flag=1 ; }}


Et si on perdait trois fois ?

Je suis moi-même un débutant. Peut-être que cela peut être fait de cette façon.

for(int pos_buy=OrdersHistoryTotal()-1; pos_buy>=0; pos_buy--) 
           {
            if(OrderSelect(pos_buy,SELECT_BY_POS,MODE_HISTORY) && OrderType()==OP_BUY) 
             {
             if (OrderSymbol() == Symbol() && (OrderMagicNumber() == Magic_buy )&&(OrderProfit()>0))
             flag=1; }
            if(OrderSelect(pos_buy-1,SELECT_BY_POS,MODE_HISTORY) && OrderType()==OP_BUY) 
             {
             if (OrderSymbol() == Symbol() && (OrderMagicNumber() == Magic_buy )&&(OrderProfit()>0))
             flag2=1; }
            if(OrderSelect(pos_buy-2,SELECT_BY_POS,MODE_HISTORY) && OrderType()==OP_BUY) 
             {
             if (OrderSymbol() == Symbol() && (OrderMagicNumber() == Magic_buy )&&(OrderProfit()>0))
             flag3=1; }
           }
  if(flag==1 && flag2==1 && flag3==1)bool flag_trex=true;
 
Baruandreas:

Je suis moi-même un débutant. Ça pourrait probablement être fait comme ceci


Merci beaucoup, tout s'est arrangé.

 

Salut.
Pouvez-vous me dire comment limiter le trading de l'EA par le temps.
J'ai essayé beaucoup de méthodes du forum, mais rien n'a marché, je ne comprends rien à l'écriture.
Ce serait bien si tu pouvais juste pointer du doigt ce qu'il faut mettre dedans.

 
defailer7:

Bonjour, pourriez-vous me dire comment faire pour qu'un EA arrête de trader après trois pertes (avec le même nombre magique) ? Après une perte de cette façon

int flag==0 ;

for(int pos_buy=OrdersHistoryTotal()-1 ; pos_buy>=0 ; pos_buy--)

{

if(OrderSelect(pos_buy,SELECT_BY_POS,MODE_HISTORY) && OrderType()==OP_BUY)

{

if(OrderSymbol() == Symbol() && (OrderMagicNumber() == Magic_buy )&&(OrderProfit()>0))

flag=1 ; }}


Que diriez-vous de trois pertes... ?


Je suis en train d'apprendre aussi !!! Drapeau++, si (drapeau==3)exit ;

Et la perte est inférieure à zéro.
 
kuzhakov:

Salut.
Pouvez-vous s'il vous plaît me conseiller sur la façon d'établir un calendrier pour l'EA.
J'ai essayé beaucoup de méthodes du forum, mais rien ne fonctionne.
Ce serait bien si je pouvais simplement pointer du doigt l'endroit où insérer le message.


Je ne peux pas vous envoyer le code fini, je navigue depuis mon téléphone.

Il existe une fonction qui renvoie l'heure d'ouverture du bar

Essayez d'ajouter un nombre à la fonction qui retournera l'heure d'ouverture de la barre avec la période d'un jour.

Renvoie la valeur de l'heure d'ouverture de la barre (spécifiée par le paramètre shift) pour le graphique correspondant.

datetimeiTime(
chaîne de caractèressymbole,// symbole
inttimeframe,// période
intshift//shift
) ;


Jour de la période

Décalage 0

iTime(euro, day, today is zero)+1= Time 00-00-01

Il y a 60 secondes dans une minute

iTime(euro, jour, aujourd'hui est zéro)+60= temps 00-01-00-00 et ainsi de suite.

Par exemple, nous voulons que notre EA commence à travailler le 01-00-00

si((iTime(Symbol(),PERIOD D1,0)+3600)<TimeCurent() travail

C'est tout ce que je peux faire pour vous aider au téléphone.

Vous pouvez également renvoyer les heures minutes actuelles et les comparer, bonne chance !