第6号错误 - 页 5 123456789101112...32 新评论 Forex Trader 2005.08.11 12:37 #41 现在我通过终端查看 - 我昨天遇到了一些问题。<br / translate="no">。2005.08.11 11:15:00 ****l EURUSD,H1: OrderSend failed with error #139 2005.08.11 11:07:12 TradeDispatcher: 所有的交易环境都在忙。 我已经拔掉了这个EA的电源,将看看接下来会发生什么。 在这里,它是。这就是它。在这里,我们走了。139已被锁定。由谁,为什么--不清楚。然后会有2,6,等等。 最令人失望的是,这个EA中没有任何东西能让它与其他产品区分开来。因此,要么我看不到这个 "东西",要么任何专家顾问都可能有故障,只是可能不是每小时都触发,因此,不是每个人都注意到了。 因此,我向大家提出一个问题--你们的日志中是否有这样的条目? Rosh,你用Alpari吗?如果是这样,请问Alpari - 你的服务器是否正常工作? 我今晚发现了什么 :( 1.专家顾问自己工作,一个,要么不出错,要么很少出错,以至于一夜之间不够用。 2.结合其他几个专家顾问(更准确地说,是一个,六种货币),错误重现,虽然不是在一个小时内,而是在4小时内。 由此可见什么? 1.MT(或我的专家顾问,但它是如此简单,不太可能)有一些错误,有时不允许我打开交易。顺便说一句,也要关闭它们。 当然,你可以绕过它。 while(nResult == -1) { nResult = OrderSend(...); } 我不必告诉你这是一种非常糟糕的编程风格,它可能会冒犯经纪人...... 2.我现在重写了专家顾问,使其更加简单,同时也造成了一个错误。我将在接下来的几个小时内公布。如果出现错误将需要两个专家顾问,我能做什么,我将发布两个 :) Forex Trader 2005.08.11 12:41 #42 2.我目前正在重写专家顾问,以使其更加简单,同时也是为了引起错误。我将在接下来的几个小时内公布。如果结果是错误需要两个专家顾问,你能做什么,我将发布两个:)<br / translate="no">。 并且我们将检查 Forex Trader 2005.08.11 13:07 #43 夸克,我已经做出了诊断,这是你的EA的错。一旦你的EA发出警报(我根本不使用它们)--我立即得到 2005.08.11 13:01:19 TradeDispatcher:所有交易背景都很忙 警报和阻断时间是一样的。我根本没有看过EA的代码。 Forex Trader 2005.08.11 13:12 #44 好吧。这里是新的超级专家,他正在单枪匹马地制造错误。到目前为止,我的进展还没有超过错误139,所以我将继续测试。 如何使用:为每种货币(EURUSD, EURJPY, USDCHF, GBPUSD, GBPJPY, GBPCHF, USDJPY, AUDUSD, EURGBP, USDCAD, EURCHF, EURAUD)打开一个小时图。 每个图表都有一个专家顾问。他们没有互动,因为他们都有不同的图表。 仓位 将被立即打开,每张图表一个。在下一个小时开始的时候,这些位置将不得不颠倒过来,以此类推。 我有过一次弹出2个错误的经历,所以原则上有可能要等待2小时。 如果你与交易服务器有特殊关系,可能最好使用一个普通账户进行测试。我使用Alpari。 还要注意(我想这是一个独立的bug),位置开放箭头的位置。从理论上讲,由于该仓位是在一个新条形上打开的,所以箭头应该是在同一个条形上。 最后,如果你不想等一个小时,就打开分钟图。这个错误是可以重复的。 我们再一次谈到了错误139。同时,我还没有设法用这种方法得到错误2和6。而且他们以前大多都是这样。所以我想,会有更多的帖子。 。 double dStopLoss; int nHoursToHold; datetime timePrev = 0; int nSlip = 5; double dLotSize = 0.1; int nMagic = 0; ////////////////// int init () { timePrev = 0; dStopLoss = 110 * Point; nHoursToHold = 1; if(Symbol() == "EURUSD") nMagic = 1; else if(Symbol() == "EURJPY") nMagic = 2; else if(Symbol() == "USDCHF") nMagic = 3; else if(Symbol() == "GBPUSD") nMagic = 4; else if(Symbol() == "GBPJPY") nMagic = 5; else if(Symbol() == "GBPCHF") nMagic = 6; else if(Symbol() == "USDJPY") nMagic = 7; else if(Symbol() == "AUDUSD") nMagic = 8; else if(Symbol() == "EURGBP") nMagic = 9; else if(Symbol() == "USDCAD") nMagic = 10; else if(Symbol() == "EURCHF") nMagic = 11; else if(Symbol() == "EURAUD") nMagic = 12; return(0); } // ------ int deinit() { return(0); } // ------ int start() { if(Bars < 5) return(0); // The previous bar just closed bool bIsBarEnd = false; if(timePrev != Time[0]) bIsBarEnd = true; timePrev = Time[0]; if(!bIsBarEnd) return(0); // ------ int nSignal = GetSignal(); if(nSignal == OP_BUY) Buy(); else if(nSignal == OP_SELL) Sell(); for(int nCnt = 0; nCnt < OrdersTotal(); nCnt++) { OrderSelect(nCnt, SELECT_BY_POS, MODE_TRADES); if(OrderMagicNumber() == nMagic) { if(CurTime() - OrderOpenTime() > (nHoursToHold - 1) * 60 * 60) { if(OrderType() == OP_BUY) OrderClose(OrderTicket(), OrderLots(), Bid, nSlip, Aqua); else if(OrderType() == OP_SELL) OrderClose(OrderTicket(), OrderLots(), Ask, nSlip, OrangeRed); } } } return(0); } // ------ void Sell() { if(AccountFreeMargin() < 500) return; dLotSize = GetLotSize(); int nResult = OrderSend(Symbol(), OP_SELL, dLotSize, Bid, nSlip, Bid + dStopLoss, 0, "Friday", nMagic, 0, OrangeRed); if(nResult == -1) { int nError = GetLastError(); Alert(nError); } } // ------ void Buy() { if(AccountFreeMargin() < 500) return; dLotSize = GetLotSize(); int nResult = OrderSend(Symbol(), OP_BUY, dLotSize, Ask, nSlip, Ask - dStopLoss, 0, "Friday", nMagic, 0, Aqua); if(nResult == -1) { int nError = GetLastError(); Alert(nError); } } // ------ double GetLotSize() { double dLot = 0.1; return(dLot); } // ------ int GetSignal() { int nSignal; if(MathMod(Hour(), 2) == 0) nSignal = OP_BUY; else nSignal = OP_SELL; return(nSignal); } // ------ Forex Trader 2005.08.11 13:14 #45 夸克,我已经做出了诊断,这是你的EA的错。当Alert从你的EA中出来时(我根本不使用它们)--我得到了<br/ translate="no">2005.08.11 13:01:19 TradeDispatcher:所有的交易环境都很繁忙。 警报和阻断时间是一样的。我根本没有看过EA的代码。 这很好,但我在注意到交易没有被执行后引入了警报。另外,警报是在OrderSend 之后的代码中。现在我打算尝试转为打印,但我怀疑......。 Forex Trader 2005.08.11 13:26 #46 顺便说一句,这很有趣。当重新编译EA时,我用来计算bIsBarEnd的变量被重置。相应地,如果我在编辑器中按下F5,所有的EA都应该关闭旧的头寸并打开新的头寸。我按下了F5。有12种货币(和专家顾问)。有3项更新。嗯? 用Print代替Alert来检查Rosh的假设。唉,整个区别在于,现在错误信息 139出现在日志中,而不是屏幕上。 Forex Trader 2005.08.11 13:51 #47 我不知道,我看了一下代码;没有什么可以找茬的。我会用Bars来决定这个地方,而不是开业的时间。 bool bIsBarEnd = false; if(timePrev != Time[0]) bIsBarEnd = true; timePrev = Time[0]; 而这件事是不清楚的。 2005.08.11 13:08:12 '18708' : 平仓单#680413 在1.2385买入0.10 EURUSD sl: 0.0000 tp: 0.0000 at price 1.2408 然后 2005.08.11 13:08:13 '18708': 订单#680413在1.2385买入0.10 EURUSD sl: 1.2275 tp: 0.0000 在价格1.2408关闭 换句话说,起初订单没有任何止损和止盈,然后突然在订单中出现了一个止损。 Error number 6 [档案!] 外汇 - 趋势、预测和后果(第12集:2012年2月) [档案!] 外汇 - 趋势、预测和后果(第10集:2011年12月) Forex Trader 2005.08.11 14:03 #48 我不知道,我看了一下代码;没有什么可以找茬的。我将通过Bars决定这个地方,而不是通过开盘时间<br / translate="no">bool bIsBarEnd = false; if(timePrev != Time[0]) bIsBarEnd = true; timePrev = Time[0]; 而这件事是不清楚的。 2005.08.11 13:08:12 '18708' : 平仓单#680413 在1.2385买入0.10 EURUSD sl: 0.0000 tp: 0.0000 at price 1.2408 然后 2005.08.11 13:08:13 '18708': 订单#680413在1.2385买入0.10 EURUSD sl: 1.2275 tp: 0.0000 在价格1.2408关闭 换句话说,起初订单没有任何止损和止盈,然后突然在订单中出现了一个止损。 如果你有经过测试的代码,我很想看看 "via Bars" :) 至于零点止损--我已经在init中指定了它,而且我在其他地方也没有改变它。虫子,我猜。伙计,自从我放弃了C++后,我以为我不会再做昆虫学了。 事实上,好一个专家,好吧。但它是如此简单,以至于出现了一个问题:难道不存在其他EA以同样方式行事的危险?考虑到这个错误只在有很多专家顾问的时候出现,此外,它还会产生不同的错误。 例如,我有一个使用MACD + ADX + Stochastic的专家顾问。在用测试器测试后(根据定义没有服务器错误),程序员会不会只是坐在那里检查 "这里所有条件都满足,但交易没有关闭 "的问题?可能不会...危险的错误。 Forex Trader 2005.08.11 14:44 #49 <br / translate="no"> 如果你有经过测试的代码,我很想看看 "via Bars" :) 例如,像这样。 int start() { int total,ticket,totalExpert; //---- SetTrace(); if (Bars>b) { b=Bars; Forex Trader 2005.08.11 14:50 #50 不错,但本质上是一样的 :) 什么是SetTrace? 123456789101112...32 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
2005.08.11 11:07:12 TradeDispatcher: 所有的交易环境都在忙。
我已经拔掉了这个EA的电源,将看看接下来会发生什么。
在这里,它是。这就是它。在这里,我们走了。139已被锁定。由谁,为什么--不清楚。然后会有2,6,等等。
最令人失望的是,这个EA中没有任何东西能让它与其他产品区分开来。因此,要么我看不到这个 "东西",要么任何专家顾问都可能有故障,只是可能不是每小时都触发,因此,不是每个人都注意到了。
因此,我向大家提出一个问题--你们的日志中是否有这样的条目?
Rosh,你用Alpari吗?如果是这样,请问Alpari - 你的服务器是否正常工作?
我今晚发现了什么 :(
1.专家顾问自己工作,一个,要么不出错,要么很少出错,以至于一夜之间不够用。
2.结合其他几个专家顾问(更准确地说,是一个,六种货币),错误重现,虽然不是在一个小时内,而是在4小时内。
由此可见什么?
1.MT(或我的专家顾问,但它是如此简单,不太可能)有一些错误,有时不允许我打开交易。顺便说一句,也要关闭它们。
当然,你可以绕过它。
我不必告诉你这是一种非常糟糕的编程风格,它可能会冒犯经纪人......
2.我现在重写了专家顾问,使其更加简单,同时也造成了一个错误。我将在接下来的几个小时内公布。如果出现错误将需要两个专家顾问,我能做什么,我将发布两个 :)
并且我们将检查
警报和阻断时间是一样的。我根本没有看过EA的代码。
如何使用:为每种货币(EURUSD, EURJPY, USDCHF, GBPUSD, GBPJPY,
GBPCHF, USDJPY, AUDUSD, EURGBP, USDCAD, EURCHF, EURAUD)打开一个小时图。
每个图表都有一个专家顾问。他们没有互动,因为他们都有不同的图表。
仓位 将被立即打开,每张图表一个。在下一个小时开始的时候,这些位置将不得不颠倒过来,以此类推。
我有过一次弹出2个错误的经历,所以原则上有可能要等待2小时。
如果你与交易服务器有特殊关系,可能最好使用一个普通账户进行测试。我使用Alpari。
还要注意(我想这是一个独立的bug),位置开放箭头的位置。从理论上讲,由于该仓位是在一个新条形上打开的,所以箭头应该是在同一个条形上。
最后,如果你不想等一个小时,就打开分钟图。这个错误是可以重复的。
我们再一次谈到了错误139。同时,我还没有设法用这种方法得到错误2和6。而且他们以前大多都是这样。所以我想,会有更多的帖子。
。
警报和阻断时间是一样的。我根本没有看过EA的代码。
这很好,但我在注意到交易没有被执行后引入了警报。另外,警报是在OrderSend 之后的代码中。现在我打算尝试转为打印,但我怀疑......。
用Print代替Alert来检查Rosh的假设。唉,整个区别在于,现在错误信息 139出现在日志中,而不是屏幕上。
而这件事是不清楚的。
2005.08.11 13:08:12 '18708' : 平仓单#680413 在1.2385买入0.10 EURUSD sl: 0.0000 tp: 0.0000 at price 1.2408
然后
2005.08.11 13:08:13 '18708': 订单#680413在1.2385买入0.10 EURUSD sl: 1.2275 tp: 0.0000 在价格1.2408关闭
换句话说,起初订单没有任何止损和止盈,然后突然在订单中出现了一个止损。
而这件事是不清楚的。
2005.08.11 13:08:12 '18708' : 平仓单#680413 在1.2385买入0.10 EURUSD sl: 0.0000 tp: 0.0000 at price 1.2408
然后
2005.08.11 13:08:13 '18708': 订单#680413在1.2385买入0.10 EURUSD sl: 1.2275 tp: 0.0000 在价格1.2408关闭
换句话说,起初订单没有任何止损和止盈,然后突然在订单中出现了一个止损。
如果你有经过测试的代码,我很想看看 "via Bars" :)
至于零点止损--我已经在init中指定了它,而且我在其他地方也没有改变它。虫子,我猜。伙计,自从我放弃了C++后,我以为我不会再做昆虫学了。
事实上,好一个专家,好吧。但它是如此简单,以至于出现了一个问题:难道不存在其他EA以同样方式行事的危险?考虑到这个错误只在有很多专家顾问的时候出现,此外,它还会产生不同的错误。
例如,我有一个使用MACD + ADX + Stochastic的专家顾问。在用测试器测试后(根据定义没有服务器错误),程序员会不会只是坐在那里检查 "这里所有条件都满足,但交易没有关闭 "的问题?可能不会...危险的错误。
如果你有经过测试的代码,我很想看看 "via Bars" :)
例如,像这样。
什么是SetTrace?