Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 1050

 
rapid_minus:
Bonjour ! La question que j'ai posée à la page 1048 est-elle si compliquée que les pros ne connaissent pas la réponse ? Ou est-ce que c'est simplement ignorer (eh bien, certaines personnes ne m'aiment pas !)?
Ce qui est la question, est la réponse. Lisez la note relative à la fonction Sleep() Ceci est une réponse à votre première question.
 
Ekburg:

Bon après-midi.

Je travaille sur le code d'un expert et je n'arrive pas à comprendre une ligne :

D'après le nom de la variable, je comprends ce que le programmeur voulait réaliser.

Mais à mon niveau de programmation amateur, je ne comprends rien à partMarketInfo(Symbol(),MODE_MINLOT).

Expliquer pour quoi faire, où et à quelle sauce)

Tu comprends ce qu'est un logarithme ?

Bien que ce code ne soit pas très clair. On ne voit pas pourquoi le logarithme d'une valeur devrait être divisé par logarithme(10) si log(10) sera toujours égal à 1.

 
kocunyc89 dans l'indicateur qui s'affiche dans le coin de l'écran.
#property indicator_chart_window  //Вывод информации в окно графика
#property strict
int Число=25;

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime& time[],
                const double& open[],
                const double& high[],
                const double& low[],
                const double& close[],
                const long& tick_volume[],
                const long& volume[],
                const int& spread[])
{
  // Проверка наличия метки для вывода информации
  if(ObjectFind("Итог")<0)
  {
    ObjectCreate("Итог", OBJ_LABEL, 0, 0, 0);   // Создание
    ObjectSet("Итог", OBJPROP_CORNER, 1);  // Правый верхний угол
    ObjectSet("Итог", OBJPROP_XDISTANCE, 10); //X   
    ObjectSet("Итог", OBJPROP_YDISTANCE, 10);       //Y
  }
  ObjectSetText("Итог", string(Число), 14,"Arial",Yellow);
  return(0);
}

void OnDeinit(const int reason)
{
  ObjectDelete("Итог");
}
 
AlexeyVik

log(10) sera toujours égal à 1.

Alert(log(10)); log(10)=2.302585092994046. MathLog est unlogarithme naturel, tout comme Logsimple .Il n'y a pas de journal décimal dans MQL. Je voulais le logarithme décimal et, à travers lui, le nombre de chiffres dans la partie entière du nombre, ce qu'on appelle l'ordre des nombres. Le logarithme décimal LG(X) peut être obtenu par tout autre logarithme. Ici LG(X)=Log(X)/Log(10)
 
Je ne comprends pas où se trouve la réponse là-dedans. Tu veux dire ça : "La fonction comporte une vérification intégrée de l'état du drapeau d'arrêt de l'EA toutes les 0,1 secondes" ? Si c'est le cas, comment peut-on supprimer ce drapeau ?
 
LRA:

Désolé, je ne suis pas très bon en programmation, pouvez-vous m'aider à mettre tout cela dans un indicateur ?
#property indicator_chart_window  //Вывод информации в окно графика
#property strict
int Число=25;

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime& time[],
                const double& open[],
                const double& high[],
                const double& low[],
                const double& close[],
                const long& tick_volume[],
                const long& volume[],
                const int& spread[])
{
  // Проверка наличия метки для вывода информации
  if(ObjectFind("Итог")<0)
  {
    ObjectCreate("Итог", OBJ_LABEL, 0, 0, 0);   // Создание
    ObjectSet("Итог", OBJPROP_CORNER, 1);  // Правый верхний угол
    ObjectSet("Итог", OBJPROP_XDISTANCE, 10); //X   
    ObjectSet("Итог", OBJPROP_YDISTANCE, 10);       //Y
  }
  ObjectSetText("Итог", string(Число), 14,"Arial",Yellow);
  return(0);
}

void OnDeinit(const int reason)
{
  ObjectDelete("Итог");
}
Dossiers :
j_1.mq4  6 kb
 
rapid_minus:
poz = OrderSend(Symbol(),OP_SELL,lot,Bid,slip,0,0,NULL,magic,Red) ;
Sleep(10000) ;
poz = OrderSend(Symbol(),OP_SELL,lot,Bid,slip,0,0,NULL,magic,Red) ;
Sleep(10000) ;
poz = OrderSend(Symbol(),OP_SELL,lot,Bid,slip,0,0,NULL,magic,Red) ;
Sleep(10000) ;
poz = OrderSend(Symbol(),OP_SELL,lot,Bid,slip,0,0,NULL,magic,Red) ;
Sleep(10000) ;
poz = OrderSend(Symbol(),OP_SELL,lot,Bid,slip,0,0,NULL,magic,Red) ;
Une des raisons : après 10 secondes de glissement, Bid devient vieux et il y aura une erreur. Vérifiez les journaux. Vous pouvez augmenter le glissement ou les RefreshRates(). Dans le testeur, on glisse des gants et tout est OK.
 
kocunyc89:   bâton ... dans l'indicateur

D'abord, mettez ceci à la fin de l'indicateur. Lorsque vous voyez la marque sur l'écran, trouvez comment y mettre ce dont vous avez besoin. Ici, vous recevez des conseils, mais vous devez le faire vous-même.

  int Число=25;

  if(ObjectFind("Итог")<0)        // Проверка наличия метки для вывода информации
  {
    ObjectCreate("Итог", OBJ_LABEL, 0, 0, 0);   // Создание
    ObjectSet("Итог", OBJPROP_CORNER, 1);       // Правый верхний угол
    ObjectSet("Итог", OBJPROP_XDISTANCE, 10);   //X   
    ObjectSet("Итог", OBJPROP_YDISTANCE, 10);   //Y
  }
  ObjectSetText("Итог", string(Число), 14,"Arial",Yellow);   // Вывод в метку
 
rapid_minus: La fonction comporte une vérification intégrée de l'état du drapeau d'arrêt de l'EA toutes les 0,1 secondes. Comment puis-je supprimer ce drapeau ?
Le drapeau lève le terminal pour informer le conseiller expert qu'il sera réduit au silence dans trois secondes. En voyant le drapeau, la fiche s'allume et n'empêche pas l'expert de collecter des jouets avant de s'échapper.
 
LRA:
Alert(log(10)); log(10)=2.302585092994046. MathLog, comme simplement Log, est un logarithme naturel. Il n'y a pas de journal décimal dans MQL. Je voulais le logarithme décimal et, à travers lui, le nombre de chiffres dans la partie entière du nombre, ce qu'on appelle l'ordre des nombres. Le logarithme décimal LG(X) peut être obtenu par tout autre logarithme. Ici LG(X)=Log(X)/Log(10)

log(10) n'est vraiment pas 1, mais le fait que mql n'ait pas de logarithme décimal m'a surpris...

Qu'est-ce que c'est alors ? https://docs.mql4.com/ru/math/mathlog10 bien qu'il y ait une erreur dans le texte.

La question est résolue d'une manière beaucoup plus simple.

(int)MathAbs(MathLog10(MarketInfo(_Symbol, MODE_LOTSTEP)));