[存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. - 页 190

 
DhP:

它是一样的,但它更容易(更熟悉)阅读代码。

我太懒了,想不出来,但有人会很容易地发现你的代码中的错误,不用费劲。等着吧。

那里没有错误。所有东西单独使用都很好,但我想把所有东西合并到一个专家顾问中。至少结合Expert Advisors与线,声音信号也可以作为一个脚本单独运行。
 

有时,日志中会出现一条信息。

OrderSend函数 的无效价格1.37197000

这可能是什么原因呢?它出现在达到止损后。

 

错误的价格是1.37197000。

正确的价格是1.37197或1.3719,取决于哪个DNS。

要设置小数点后的数字,可使用NormalizeDouble()。

 

我怎样才能在int start()中跟踪一个新条形的开口?

我需要代码不是在每个tick 被触发,而是在一个新的bar被打开后才被触发。

 

如果酒吧的时间不一样,说明酒吧已经改变了。

如果不相等,说明酒吧已经改变了--做你需要做的事,记住时间。

 

谁使用过isCloseLastPosByStop()或isCloseLastPosByTake()?告诉我你是如何做到的。

 

你能告诉我如何以编程方式在图表上加载指标吗?

一个函数 bool ServiceLoadCustomIndicator(int hwndChart, ...);//hwndChart- 图表窗口的系统描述符,指标在此被加载

我不知道如何知道图表窗口的描述符。

我只需要在指标开始后的第一个刻度上记住GetTickCount,但下面的代码不起作用--终端挂起。 也许在init()中RefreshRates根本不起作用...?

 while(true){
  if(RefreshRates()) { tik=GetTickCount(); break; }
  Sleep(1); }
 
doon:

谁使用过isCloseLastPosByStop()或isCloseLastPosByTake()?告诉我你是如何做到的。

这再简单不过了。

if (isCloseLastPosByStop(OP_BUY, Magic)) {
// код если последняя поза Бай с магиком Magic закрылась по стоп-приказу
}
if (isCloseLastPosByTake(OP_SELL, Magic)) {
// код если последняя поза Селл с магиком Magic закрылась по тейку
}

将函数本身放在函数start()之外,你甚至可以在整个代码的最后。

 
todem:

因此,至少有一点现场视频会增加未来程序员在这里的经验
你的解释并不令人满意。一个带有经纪人愚蠢广告的 "现场视频",除了为经纪人做广告外,什么都没有。
你的帖子被删除了,你已经被警告了。
 
artmedia70:

这是最简单不过的了。
将函数本身放在start()函数之外,或者放在整个代码的最末尾。

我应该补充的是,在同一个链接 中,也就是doon 获取函数代码的地方,有一个test_isCloseLastPosByStop.mq4 脚本的例子,其中一切都按Artem说的做。你应该在问之前看一看。