错误、漏洞、问题 - 页 1018

 
A100:
在非交易时间不起作用。有什么妨碍?

你确定这些参数吗?

这两个例子看起来都不对。

ChartGetInteger( chart_ID, CHART_BRING_TO_TOP, 0, true )  - последний параметр должен быть long&, а не bool
ChartGetInteger( chart_ID, CHART_BRING_TO_TOP, true )     - последний параметр должен быть номер подокна, а не bool

看起来像是和ChartSetInteger 混淆了?

 
Renat:

你确定这些参数吗?

这两个例子看起来都不对。

它看起来像与ChartSetInteger混淆了?

是的,对不起,从我的代码中翻译错了 - 在非交易时间不工作
bool bringToTop = true;
ChartSetInteger( chart_ID, CHART_BRING_TO_TOP, 0, bringToTop ) 
ChartSetInteger( chart_ID, CHART_BRING_TO_TOP, true )
//этим хотел показать что пробовал оба варианта
ChartGetInteger 不应该工作,因为CHART_BRING_TO_TOP--只能写。 我将把应用程序 纠正为ServiceDesk
 

我正在对所有的图表进行回调(暂停时间为5000)。

a) (昨天)非交易日 - 没有反应 - 当卸载脚本 时,会进入第一个图表,即使脚本不是从该图表开始的。

b) 现在--一切工作正常

如果有必要--我将附上代码--一个简单的循环--GetLastError--没有错误

 

我不知道这有多重要,但

ChartSetInteger( chart_ID, CHART_BRING_TO_TOP, true )
ChartSetInteger( chart_ID, CHART_BRING_TO_TOP, false )
现在(在交易时间)以同样的方式工作--图表被置于其他图表之上。
 

关于交易、自动交易系统和交易策略测试的论坛

虫子,虫子,问题

雷纳特, 2013.07.22 09:22

你确定这些参数吗?

这两个例子看起来都不对。

ChartGetInteger( chart_ID, CHART_BRING_TO_TOP, 0, true )  - последний параметр должен быть long&, а не bool
ChartGetInteger( chart_ID, CHART_BRING_TO_TOP, true )     - последний параметр должен быть номер подокна, а не bool

看起来像是和ChartSetInteger混淆了?

如果我的错误被证实,并将进行修改--我还要求考虑让CHART_BRING_TO_TOP不仅只写,而且像你通过ChartGetInteger 写的那样读。在这种情况下,
long ChartID()
,因为后者严格来说并不返回当前的选择,而是脚本运行的那个选择
而在运行脚本的过程中,用户可以改变当前的脚本。
 
MetaDriver:

只有很多很多的.mqh和一个可执行的.mq5,没有其他。

让我补充一下。与相对的方法相比,绝对的、模块化的方法的优势在于,在
Print( __FUNCTION__, __FILE__ )

如果只有一个.ex5模块,就不清楚在众多的.mqh模块中寻找哪一个,考虑到代码的巨大规模,这就有很大的区别。

另外,请询问开发商。

是否有可能引入一个额外的预定义宏置__MODULE__,类似于__FILE__ - 只是没有扩展名.mq5

这是在编译以下形式的表达式时需要的。__MODULE__::f()

这在开发过程中经常被用来改变文件名和在模块间转移功能

 
A100:
我再补充一下。与相对方法相比,绝对模块方法的优势在于,当它从

如果只有一个.ex5,也不清楚在哪个.mqh中,当代码很大时,这就有很大的区别。

你真是神志不清,兄弟。

h1.mqh :

string GetH1()
{
  return  "Файл: "+__FILE__+"   Функция: "+__FUNCTION__;
}

h2.mqh :

string GetH2()
{
  return  "Файл: "+__FILE__+"   Функция: "+__FUNCTION__;
}

PrintTest, mq5 :

#include "h1.mqh"
#include "h2.mqh"

void OnStart()
  {
   Print( "Файл: "+__FILE__+"   Функция: "+__FUNCTION__);
   Print(GetH1());
   Print(GetH2());
  }
//+------------------------------------------------------------------+

结果。

2013.07.22 14:40:17 PrintTest (EURUSD,M1) File: h2.mqh Function: GetH2
2013.07.22 14:40:17 PrintTest (EURUSD,M1) File: h1.mqh Function: GetH1
2013.07.22 14:40:17 PrintTest (EURUSD,M1) File: PrintTest.mq5 Function: OnStart

---

请为自己做一个结论:"在你开发宏大的嵌套定义之前,最好先了解预处理器的实际工作原理"。

祝您好运!

附加的文件:
h1.mqh  1 kb
h2.mqh  1 kb
PrintTest.mq5  1 kb
 
MetaDriver:

请总结一下:"在设计宏大的、多嵌套的定义之前,最好先了解预处理器的实际工作情况。

在这方面投入一些时间和精力。 你需要更多地了解建筑场地和材料特性,以建造坚固和舒适的结构。

你的头脑是非常成熟和深思熟虑的,但如果把你自己的草率结论输入它的输入,你就注定经常会做出错误的决定。

 
MetaDriver:

你的头脑是非常成熟和深思熟虑的,但如果把你自己的草率结论喂给它,你注定会经常做出错误的决定。

我可以加入你的学徒吗?:)
 
TheXpert:
我可以加入你的学徒吗?:)

有钱吗? :)

--

但我们不要开玩笑。

很遗憾,这个论坛上几乎没有专门讨论程序合理结构的主题。 一个和谐的结构是大型系统无故障开发的关键。

如何鼓励人们讨论这种事情?