错误、漏洞、问题 - 页 1545

 
Alexey Volchanskiy:
Youtube接受所有avi格式的文件,只要没有暴力广告,没有色情,而且如果不是在高级模式下,大小<15 mb。此外,不应该有广告,包括在你的签名中。
在PM中给你发了电子邮件。这对我来说是行不通的。
 
Karputov Vladimir:

这是一个技术论坛,每个评论都必须得到确认。

  • 终端和操作系统信息(重启终端后的日志标签的前三行)。
  • 编码
  • 详细描述你做了什么和得到了什么。

对我观察到的情况进行了相当详细的描述。开发商不欠我什么,我也不欠他们什么。如果他们感兴趣,我们会在服务台与他们交谈。

空指标的代码是显而易见的。

 
comp:

录制了一段视频,说明指标(在标准模式下--不是调试模式)如何更新,但没有绘制新的条形图。只要你把指标从图表上拿下来,新的条形图 就会立即出现。

主机不接受该视频文件。如果需要,我可以把它按原样寄给Servicedesk。

把它捆绑成一个档案并发送。支持Zip文件。
 
请告诉我如何在MetaTrader 5中以编程方式 启用/禁用 "精确时间刻度"。我找不到它。
通过 CHART_SHOW_DATE_SCALE - 这不是它,我的理解

通过以下路径手动激活感兴趣的时间。

终端->服务->设置->图形->精确的时间线


我在下面附上测试代码。如果在交易终端中手动启用了 "精确时间刻度",该测试指标会 两个柱状体之间 画出带有连接点的垂直线段。如果不启用,则不在条形图之间。

下面的截图显示了当 "精确时间刻度 "被启用时,测试代码在条形图之间创建的垂直线段。



我马上就告诉你我感兴趣的第二件事。

如果我在测试器中运行这段代码,线条没有 在条形之间 画上锚点。它们不是像上面的截图那样被创建,而是像下面的截图那样被创建。

MetaTrader 5 版本: 5.00 build 1295

我不知道如何在这里提出更精确的问题,因为我对第一个问题没有答案。



P./S.。

我做了一些澄清。

  • 增加了屏幕截图。
  • 替换了测试代码,删除了这里没有使用的变量,并显示了一个单独的窗口。
  • 我们对深蓝色字体的文本所做的澄清。
附加的文件:
 

我怎样才能让终端在MT5中调用OnCalculate?ChartRedraw并没有帮助。DLL的变体不适合。

换句话说,我需要创建一个计算事件:https://www.mql5.com/ru/docs/runtime/event_fire#calculate

Документация по MQL5: Программы MQL5 / События клиентского терминала
Документация по MQL5: Программы MQL5 / События клиентского терминала
  • www.mql5.com
Программы MQL5 / События клиентского терминала - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

从搜索结果中我得出的结论是,在MQL5帮助中似乎没有任何功能可以用来以编程方式 启用/禁用MetaTrader 5的 "精确时间刻度"。

出于某种原因,我的印象是最近一段时间在这方面有一些变化。当然,我肯定是错的。

如果是这样,我将重申我上面的第一个问题

是否会有一个功能来以编程方式启用/禁用 "精确时间刻度"?


而在这两种情况下(会或不会被引入):你如何在测试器中做这个开关?

 
comp:

我怎样才能让终端在MT5中调用OnCalculate?ChartRedraw并没有帮助。DLL-版本不起作用。

如果你找到了,也请告诉我)。

目前就我所知,答案是 "不可能"。

 
Комбинатор:

如果你找到了,也请告诉我)。

目前就我所知,答案是 "不可能"。

如果我是一个顾问,是这样的

#define  PERIOD_NULL -1

void CallOnCalculates( void )
{
  const string Name = __FUNCTION__;

  if (GlobalVariableCheck(Name))
  {
    const int Value = (int)GlobalVariableGet(Name);

    if (Value == PERIOD_NULL)
    {
      GlobalVariableDel(Name);

      ExpertRemove();
    }
    else if (ChartSetSymbolPeriod(0, Symbol(), (ENUM_TIMEFRAMES)Value))
      GlobalVariableSet(Name, PERIOD_NULL);
  }
  else
  {
    const ENUM_TIMEFRAMES period = Period();

    if (ChartSetSymbolPeriod(0, Symbol(), (period == PERIOD_MN1) ? PERIOD_W1 : PERIOD_MN1))
    {
      GlobalVariableTemp(Name);

      GlobalVariableSet(Name, period);
    }
  }

  return;
}

void OnInit( void )
{
  CallOnCalculates();

  return;
}

但我需要 它做别的事情,它不适合我。

 
comp:

如果通过专家顾问,那么像这样

如果是脚本,那么我们可以(实现方式完全不同--在不改变TF的情况下)为图表上的某个特定指标或所有指标一次性调用OnCalculate

但我需要 它来做别的事情,这个变体不适合。

但是,如果指标应该让终端调用自己的OnCalculate(MT5),这种(脚本)变体也不适合。

 
有了一个指标,我需要一个指标。