任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 530

 
Integer:

在图表上创建一个图形对象。如果有一个具有某个名字的对象,那么就在OnStart()的开头退出。要解锁它,请手动删除该对象。

谢谢你!

而且,我们如何退出?return(0); 给我看了一个错误。

 
abeiks:

谢谢你!

而且,我们如何退出?return(0); 给我看了一个错误。

取决于功能类型。不是start(),而是OnTick(),它是无效的,所以只是返回。

return;
 
r772ra:
关于打印的评论,如果工作时不需要的话。

谢谢你!你能告诉我如何在外部设置中为EA的工作设置一个时间限制吗?

我已经添加了这个


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:

取决于功能类型。现在不是start(),而是OnTick(),它是无效的,所以只是返回。


谢谢你!
 
tatianati:

谢谢你!你能告诉我如何在EA的外部设置上设置一个时间限制吗?

添加了这个

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);
}
 

EA可以显示一个指标吗?在MQL5中是ChartIndicatorAdd 的替代品。


还有,我在哪里可以找到一个根据自定义指标进行计算的EA例子?

 
请告诉我是否可以规定移动平均线的 斜率角度或价格与移动平均线相交的某一角度?
 
Profitov:
请告诉我是否可以规定移动平均线的斜率角度或价格与移动平均线相交的某一角度?
现在他们会开始向你解释,角度取决于图表比例,不可能做到这一点......
但如果你不取角度,而只取该角度的切线,你就可以做你想做的事。
 
如果有人知道,请告知。

我的专家顾问,在int init()中,首先测试1000条历史,然后start()。在测试器中,这个过程需要3-4秒,但在现实生活中,它需要大约8分钟。
它能与什么有关?如何才能使测试的时间与测试器中的时间一样多?
 
agvozdezkiy:

EA可以显示一个指标吗?在MQL5中是ChartIndicatorAdd的替代品。


还有,我在哪里可以找到一个根据自定义指标进行计算的EA例子?

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