错误、漏洞、问题 - 页 1700

 
fxsaber:

这就是不可拆卸指标背后的想法。

它是关于组织一个与 "本身 "的联系吗?所以不是 "得到了",是你把指标写得如此离谱。

如果你对指标的这种行为感到困惑,就不要做了。

在哪里添加,以及它至少在理论上如何帮助。这是终端的一个错误。这是一个严重的错误。我很幸运--我在日志中看到,该指标是有效的。然而,有很多指标在终端工作,却没有任何相关信息。 但话题来了,为什么我的CPU在一个空的终端上会有如此大的负荷?

有相当多的方法可以 "射中自己的脚"。该指标可以被琐碎化。而且,意外地做到这一点比意外地写出你的设计要容易得多。这也是一个 "终端错误 "吗?

 
Anton:

这是关于组织对 "自己 "的参考吗?所以不是 "得到了",是你把指标写得如此离谱。

如果你对指标的这种行为感到困惑,就不要这样做。

有相当多的方法可以 "射中自己的脚"。该指标可以被琐碎化。而且,意外地做到这一点比意外地写出你的设计要容易得多。这也是一个 "终端错误 "吗?

当有可能在一个完全空的(没有打开的图表)终端上不知不觉地执行一个重型指标时,这是一个终端错误。然后还有一些问题,为什么你的终端会在一个平坦的地方加载CPU?这是一个bug!没有内部任务管理器,没有控制。
 
Anton:

这是关于组织对 "自己 "的参考吗?因此,不是 "得到了",是你把指标写得如此离谱。

这不是异国情调,而是试图在指标中进行自我认同。试图以更文明的方式来做,结果是无奈之举。
#property indicator_separate_window
#property indicator_buffers 0
#property indicator_plots   0

bool WhereIAm( long &Chart_ID, int &Sub_Window )
{
  const string PrevShortName = MQLInfoString(MQL_PROGRAM_NAME);  
  
  MathSrand((int)TimeCurrent());
  const string ShortName = (string)MathRand();
    
  IndicatorSetString(INDICATOR_SHORTNAME, ShortName);    
  
  Chart_ID = ChartFirst();

  Print(Chart_ID);
  
  while (Chart_ID > 0)
  {
    const int Total = (int)ChartGetInteger(Chart_ID, CHART_WINDOWS_TOTAL);
    
    for (Sub_Window = 0; Sub_Window < Total; Sub_Window++)
    {
      const int TotalIndicators = ChartIndicatorsTotal(Chart_ID, Sub_Window);
      
      for (int i = 0; i < TotalIndicators; i++)
        if (ShortName == ChartIndicatorName(Chart_ID, Sub_Window, i))
        {
          IndicatorSetString(INDICATOR_SHORTNAME, PrevShortName);
          
          return(true);
        }
    }
    
    Chart_ID = ChartNext(Chart_ID);
  }

  IndicatorSetString(INDICATOR_SHORTNAME, PrevShortName);
  
  return(false);
}


#define  TOSTRING(A) #A + " = " + (string)A + " "

void OnInit( void )
{
  long Chart_ID;
  int Sub_Window;
  
  if (WhereIAm(Chart_ID, Sub_Window))
    Print(TOSTRING(Chart_ID) + TOSTRING(Sub_Window));
    
  return;
}
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[] )
{
  return(rates_total);
}
所以这很无奈,因为服务台被误导了,说句 不好听的。
[删除]  
fxsaber:
我已经很久没有用MQL5写作了,我不是一个程序员。我知道MQL4,现在我对MQL5有一点了解。我几乎每天都会遇到MT5的bug,这是什么原因?事实上,几乎每天都有一个人在街上意外地发现了虫子!这到底是怎么回事,为什么这么生猛?根本就没有测试人员?如果说MT开始变得令人讨厌,我不会撒谎。而更恼人的是,我 意识到我不能用其他东西编程

真的吗?很难相信 :)

尝试

 
pako:

真的吗?很难相信 :)

尝试

我只需要用于交易。如果我建立一个终端,测试器和其他东西,我不会得到任何高。我的生命不是用几百年来衡量的。
 
fxsaber:
这不是异国情调,而是试图在一个指标中进行自我认同。试图以更文明的方式来做这件事是很无奈的,这是因为Servicedesk被误导了,说句 不好听的。

请注意第2点。

https://www.mql5.com/ru/docs/chart_operations/chartwindowfind

关于服务台的答案--所有的人有时都会犯错。

Документация по MQL5: Операции с графиками / ChartWindowFind
Документация по MQL5: Операции с графиками / ChartWindowFind
  • www.mql5.com
Операции с графиками / ChartWindowFind - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
[删除]  
fxsaber:
我只需要一个用于交易。我不会因为建立一个终端、一个测试器等而感到兴奋。我的生命不是用几百年来衡量的。
我们从MT公司取来日期,把它们加工成一个Dll。
 
pako:
从山地取来的枣子,在Dll中处理。
语言上没有问题,可视化(指标)和日期(抄写)上有问题。在DLL上写这个是浪费时间。
 
Anton:

请注意第2点。

https://www.mql5.com/ru/docs/chart_operations/chartwindowfind

关于服务台的答案--所有的人有时都会犯错误。

谢谢你,唯一要做的是解决ShortName的歧义。
[删除]  
fxsaber:
语言上没有问题,可视化(指标)和日期(抄写)上有问题。在DLL上写这些是很无奈的。
虱子里有鱼吗?