[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. - 页 227

 
Neo333:
你好,问题是这样的:EA设置了待定的限价订单,然后价格变动,订单变成了市场订单。一切正常,但在某些订单上有一个绝对不清楚的故障,因为所有的订单都是通过某个固定的常数 "K "设置的,它们之间的距离应该总是一个常数(Rn+1=Rn+"K")。然而,我们没有运气;订单是开放的,价格是显示的,一切都被检查了,但从上一个订单到下一个订单的距离不等于 "K"。 如果我们检查与价格的算术运算结果,即如果我们只是减去并检查结果,它等于 "K";然而逻辑比较==仍然显示错误,这导致EA不断在该价格打开订单,从而 "认为 "那里没有订单。如果太长,我很抱歉,我只是想更详细地解释。说实话,我真的不明白该怎么做 :(
如果你通过==比较,那么使用NormalizeDouble,一般来说,MathAbs(Price1-Price2)<delta更好。
 
VladimirR:

非常感谢! 但有这样的情况 2011.09.30 21:26:49 TestGenerator: unmatched data error (volume limit 13634 at 2011.07.19 20:00 exceeded)

据我了解,这条信息与专家顾问无关,但我还是想知道如何理解它?



时间框架的故事不一致。https://www.mql5.com/ru/forum/108760
 
sergeev:

帮助修复该功能


73
Eugene1 30.09.2011 16:19

我想写一个函数,确定最后一笔订单的收盘价(按与当前时间最接近的时间)。

我是这样写的。


但是

围绕PriceCloseLastPos(string smb = "", int cmd = -1, int mMin = -1, int mMax = -1) {
int ticketDateTime=0。
int orderTicket=-1;
double closePrice = 0;
int ordTotal = OrdersTotal();
如果(smb == "0")smb = Symbol()。
for (int i = 0; i < ordTotal; i++) {
如果(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)){
如果(OrderSymbol() == smb || smb == "" ){
如果(OrderType() == OP_BUY || OrderType() == OP_SELL) {
如果(cmd < OP_BUY || OrderType() == cmd){
如果(mMin < 0 || (OrderMagicNumber() >= mMin && OrderMagicNumber() <= mMax)){
如果(ticketDateTime < OrderCloseTime()){
ticketDateTime = OrderCloseTime();
orderTicket = OrderTicket()。
closePrice = OrderClosePrice()。
}
}
}
}
}
}
}
if(orderTicket > -1) OrderSelect(orderTicket, SELECT_BY_TICKET, MODE_HISTORY)。
return(closePrice)。
}

但由于某些原因,该函数返回在测试器中打开的第一个订单的数据。

事实上,这是我的中间目标。我想写一个函数,可以给出部分订单的最后收盘价(不是针对整批交易量)。 但我不知道该如何困扰...

int ordTotal = OrdersTotal();

而不是......。

int ordTotal = OrdersHistoryTotal();

...下一页 ...

if(orderTicket > -1) OrderSelect(orderTicket, SELECT_BY_TICKET, MODE_HISTORY );

在这里,我看到你的知识不是很好。当按票据选择订单时, 游泳池 参数被忽略。也就是说,写MODE_HISTORY是没有用的--这个参数只涉及索引选择。

如果一个订单已经被票据选中,您需要检查关闭时间,以确保它已经从关闭的订单列表中被选中。它必须大于零--只有关闭的位置才有这个参数>0。

 
在MT4交易终端 的5分钟时间框架上,不显示历史记录。这能解决吗?
 
rosman:
在MT4交易终端的5分钟时间框架上,不显示历史记录。这能解决吗?
我为这个愚蠢的问题道歉。我是说2010年11月之前的历史没有显示 :)
 
rosman:
我对这个直率的问题表示歉意。我是说2010年11月之前的历史没有显示 :)

所以它不在那里。你也可以澄清一下。尝试在MT4设置中在图表上制作更多的条形图。

通过下载或购买更长的历史记录来解决这个问题。

 
Zhunko:

那么她就不存在。你也可以澄清一下。尝试在MT4设置中在图表上制作更多的条形图。

这可以通过下载或购买更长的历史来解决。

服务">"设置">"图表 "选项卡">"窗口中的最大条数是65000--> 改为100000或更多,仍然只有2010年11月是最新的。这个工具和时间框架的报价档案已经完全加载--一直到1999年11月。
 
故事中最多 有多少个小节?也许这个故事已经被修剪过了。
 
Zhunko:
故事中最多有多少个小节?也许这个故事已经被修剪过了。
是价值10,000,000。
 
上传档案。我去看看我的。