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

 
Integer:

Créez un objet graphique sur le graphique. S'il existe un objet avec un certain nom, alors il faut sortir au début de OnStart(). Pour le déverrouiller, supprimez l'objet manuellement.

Merci !

Et, comment sortir ? return(0) ; me montre une erreur.

 
abeiks:

Merci !

Et, comment sortir ? return(0) ; me montre une erreur.

Selon le type de fonction. Ce n'est pas start() mais OnTick(), c'est void, donc juste return ;

return;
 
r772ra:
Pour des commentaires sur l'impression. si cela n'est pas nécessaire pendant le travail.

Merci ! Pouvez-vous me dire comment mettre une limite de temps sur le travail de l'EA dans les paramètres externes.

J'ai ajouté ceci


int start()
{
  if(!isTradeTimeInt(21, 30, 01, 00)) return;
а в конце кода вот это
//+------------------------------------------------------------------+
//|  Описание : Возвращает флаг разрешения торговли по времени.                |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    hb - часы времени начала торговли                                       |
//|    mb - минуты времени начала торговли                                     |
//|    he - часы времени окончания торговли                                    |
//|    me - минуты времени окончания торговли                                  |
//+----------------------------------------------------------------------------+
bool isTradeTimeInt(int hb=0, int mb=0, int he=0, int me=0) {
  datetime db, de;           // Время начала и окончания работы
  int      hc;               // Часы текущего времени торгового сервера

  db=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+hb+":"+mb);
  de=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+he+":"+me);
  hc=TimeHour(TimeCurrent());
  if (db>=de) {
    if (hc>=he) de+=24*60*60; else db-=24*60*60;
  }

  if (TimeCurrent()>=db && TimeCurrent()<=de) return(True);
  else return(False);
}
 
Integer:

Selon le type de fonction. Maintenant ce n'est pas start() mais OnTick(), c'est void, donc juste return ;


Merci !
 
tatianati:

Merci ! Pouvez-vous me dire comment mettre une limite de temps sur les paramètres externes de l'EA ?

Ajouté ce

extern int   StartHour     = 21;      // Время закрытия, часы
extern int   StartMinute   = 30;      // Время закрытия, минуты
extern int   CloseHour     = 01;      // Время закрытия, часы
extern int   CloseMinute   = 0;      // Время закрытия, минуты
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   if(isTradeTimeInt(StartHour,StartMinute,CloseHour,CloseMinute))
     {
     //Здесь то,,,,
     //что работает, в этом диапозоне времени
     }
  }
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//|  Описание : Возвращает флаг разрешения торговли по времени.                |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    hb - часы времени начала торговли                                       |
//|    mb - минуты времени начала торговли                                     |
//|    he - часы времени окончания торговли                                    |
//|    me - минуты времени окончания торговли                                  |
//+----------------------------------------------------------------------------+
bool isTradeTimeInt(int hb=0, int mb=0, int he=0, int me=0) {
  datetime db, de;           // Время начала и окончания работы
  int      hc;               // Часы текущего времени торгового сервера

  db=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+(string)hb+":"+(string)mb);
  de=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+(string)he+":"+(string)me);
  hc=TimeHour(TimeCurrent());
  if (db>=de) {
    if (hc>=he) de+=24*60*60; else db-=24*60*60;
  }

  if (TimeCurrent()>=db && TimeCurrent()<=de) return(True);
  else return(False);
}
 

Un EA peut-il afficher un indicateur ? Alternative à ChartIndicatorAdd dans MQL5.


Et où puis-je trouver un exemple d'une EA qui effectue des calculs sur la base d'un indicateur personnalisé ?

 
Pouvez-vous me dire s'il est possible de prescrire l'angle de pente de la moyenne mobile ou l'intersection du prix avec la moyenne mobile à un certain angle ?
 
Profitov:
Pouvez-vous me dire s'il est possible de prescrire l'angle de pente de la moyenne mobile ou l'intersection du prix avec la moyenne mobile à un certain angle ?
.
Maintenant, ils vont commencer à vous expliquer que l'angle dépend de l'échelle de la carte et qu'il est impossible de faire cela...
Mais si vous ne prenez pas l'angle, mais seulement la tangente de cet angle, vous pouvez faire ce que vous voulez.
 
Veuillez me conseiller si quelqu'un le sait.

Mon Expert Advisor, dans int init(), teste d'abord un historique de 1000 barres, puis start(). Dans le testeur, ce processus prend 3-4 secondes, mais dans la réalité, il prend environ 8 minutes.
A quoi peut-il être lié ? Comment faire pour que les tests prennent autant de temps que le testeur ?
 
agvozdezkiy:

Un EA peut-il afficher un indicateur ? Alternative à ChartIndicatorAdd dans MQL5.


Et où puis-je trouver un exemple d'une EA qui effectue des calculs sur la base d'un indicateur personnalisé ?

https://book.mql4.com/ru/samples/icustom
Raison: