错误、漏洞、问题 - 页 2137 1...213021312132213321342135213621372138213921402141214221432144...3184 新评论 Sofiia Butenko 2018.02.20 23:51 #21361 阅读利润时出错(或者我已经误解了什么)。 EA内部有一个职能部门。 bool Fn_profit_summ(double &profit_summ, bool is_buy, ulong magic, bool prnt=false){ profit_summ = 0; string str=(is_buy?"B":"S")+" -> "; //----------------------------- int total = PositionsTotal(); for(int i=total-1; i>=0; i--){ const ulong tic= PositionGetTicket(i); if(tic<=0) return(false); //--- asinchr if(!PositionSelectByTicket(tic) ) return(false); //--- asinchr bool is_buy_ = (PositionGetInteger(POSITION_TYPE )==POSITION_TYPE_BUY); if( is_buy_ != is_buy) continue; if( PositionGetInteger(POSITION_MAGIC ) != magic ) continue; if( PositionGetSymbol (POSITION_SYMBOL) != _Symbol) continue; profit_summ += PositionGetDouble(POSITION_PROFIT)+PositionGetDouble(POSITION_SWAP); str+=IntegerToString(tic)+" - "+DoubleToString((PositionGetDouble(POSITION_PROFIT)+PositionGetDouble(POSITION_SWAP)), 2)+"/"; } //----------------------------- if( prnt) Print(str+" --> "+DoubleToString(profit_summ, 2)); return(true);} 我可以在日志中看到。 2018.02.21 01:44:04.315 2018.02.14 04:59:49 S -> 273 - -5.62/ --> -5.62 那是可以的,但这是一个买单的利润,而不是卖单 该票据正是卖出订单(273,与日志中一样)。 我想我在函数中检查了,同样的类型被认为是正确的,但利润真的不一样。如果这是真的,那么这就是天启--客户在达到指定的利润/亏损时分别关闭卖出和买入头寸,它不断地关闭卖出,因为它获得了买入利润。同样的方式,存款可能在不知不觉中被抽走 (如果我工作过度,已经在想象事情了--请纠正我。我真诚地希望这是真的,不存在这样一个关键的错误) Kirill Belousov 2018.02.21 04:38 #21362 Galina Bobro:阅读利润时出错(或者我已经误解了什么)。 EA内部有一个职能部门。 我可以在日志中看到。 那是可以的,但这是一个买单的利润,而不是卖单 该票据正是卖出订单(273,与日志中一样)。 我想我在函数中检查了,同样的类型被认为是正确的,但利润真的不一样。如果这是真的,那么这就是天启--客户在达到指定的利润/亏损时分别关闭卖出和买入头寸,它不断地关闭卖出,因为它获得了买入利润。同样的方式,存款可能在不知不觉中被抽走 (如果我工作过度,已经在想象了--请纠正我。我真诚地希望这是真的,不存在这样一个关键的错误) string str=(! is_buy?"B":"S")+" -> "; Sofiia Butenko 2018.02.21 07:03 #21363 Kirill Belousov: 这是什么情况?我为什么要 "如果再见撤回S"? fxsaber 2018.02.21 07:33 #21364 我经常使用自定义的字符。例如,我需要对其中的一个进行调试。这需要在这里输入其名称 但是,自定义字符的名称(不仅仅是自定义字符)可能很长/很复杂,这使得人们很难从键盘上输入它们。将符号的名称复制到缓冲区的机制无处可寻。因此,我建议在这个菜单项中增加 "复制符号名称"。 ZZY 请在测试器展示台上增加毫秒数。 Slava 2018.02.21 07:47 #21365 fxsaber:ZS 请在测试器展示台中增加毫秒数。添加 A100 2018.02.21 12:42 #21366 执行过程中出错 struct A { template<typename T> void Print( T t ) { ::Print( 2 ); } ~A() { Print( 1 ); } }; void OnStart() { A a; } 结果 : 1 预期 : 2 fxsaber 2018.02.21 12:55 #21367 A100:预期: void A::Print<int>(int):1这很可能是由于普通印刷品的狡猾性质。你也可以用同样的方式重载iCustom。我认为这将产生同样的结果。 打印、评论、警报、iCustom、...的命名空间。- 似乎有些特别。 A100 2018.02.21 13:04 #21368 fxsaber:最有可能的是与内部印刷的棘手性质有关。没有关系。 void Print2( int ) { Print( 1 ); } struct A { template<typename T> void Print2( T t ) { Print( 2 ); } ~A() { Print2( 1 ); } }; void OnStart() { A a; } 同样的结果。 fxsaber 2018.02.21 13:15 #21369 自定义符号 的SymbolInfoTick产生一个空的tick(当没有CustomTicksAdd时),即使在历史上有ticks。 我建议在终端方面,在任何CustomTicksReplace之后,历史中的最后一个tick(或只是它的时间)应该是一个SymbolInfoTick。 请就这个问题向开发者提出建议,这个动作在逻辑上应该挂在谁身上--终端还是用户? 我认为是终端,因为它可以使用户免受他的代码中偶尔出现的错误的影响(抓住了一个)。 现在,例如,最近要找到一个符号,就像这样 ulong GetOriginalLastTime( void ) const { MqlTick Tick[1] = {0}; ::SymbolInfoTick(this.Symb, Tick[0]); if (!Tick[0].time_msc) ::CopyTicks(this.Symb, Tick, COPY_TICKS_ALL, 0, 1); return(Tick[0].time_msc); } fxsaber 2018.02.21 13:17 #21370 A100:没有关系。 其结果是一样的是的,这是个错误。我从未遇到过这种情况,因为我总是把这归因于方法。 1...213021312132213321342135213621372138213921402141214221432144...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
阅读利润时出错(或者我已经误解了什么)。
EA内部有一个职能部门。
我可以在日志中看到。
2018.02.21 01:44:04.315 2018.02.14 04:59:49 S -> 273 - -5.62/ --> -5.62
那是可以的,但这是一个买单的利润,而不是卖单
该票据正是卖出订单(273,与日志中一样)。
我想我在函数中检查了,同样的类型被认为是正确的,但利润真的不一样。如果这是真的,那么这就是天启--客户在达到指定的利润/亏损时分别关闭卖出和买入头寸,它不断地关闭卖出,因为它获得了买入利润。同样的方式,存款可能在不知不觉中被抽走
(如果我工作过度,已经在想象事情了--请纠正我。我真诚地希望这是真的,不存在这样一个关键的错误)
阅读利润时出错(或者我已经误解了什么)。
EA内部有一个职能部门。
我可以在日志中看到。
那是可以的,但这是一个买单的利润,而不是卖单
该票据正是卖出订单(273,与日志中一样)。
我想我在函数中检查了,同样的类型被认为是正确的,但利润真的不一样。如果这是真的,那么这就是天启--客户在达到指定的利润/亏损时分别关闭卖出和买入头寸,它不断地关闭卖出,因为它获得了买入利润。同样的方式,存款可能在不知不觉中被抽走
(如果我工作过度,已经在想象了--请纠正我。我真诚地希望这是真的,不存在这样一个关键的错误)
我经常使用自定义的字符。例如,我需要对其中的一个进行调试。这需要在这里输入其名称
但是,自定义字符的名称(不仅仅是自定义字符)可能很长/很复杂,这使得人们很难从键盘上输入它们。将符号的名称复制到缓冲区的机制无处可寻。因此,我建议在这个菜单项中增加 "复制符号名称"。
ZZY 请在测试器展示台上增加毫秒数。
ZS 请在测试器展示台中增加毫秒数。
添加
执行过程中出错
结果 : 1
预期 : 2
预期: void A::Print<int>(int):1
这很可能是由于普通印刷品的狡猾性质。你也可以用同样的方式重载iCustom。我认为这将产生同样的结果。
打印、评论、警报、iCustom、...的命名空间。- 似乎有些特别。
最有可能的是与内部印刷的棘手性质有关。
没有关系。
同样的结果。
自定义符号 的SymbolInfoTick产生一个空的tick(当没有CustomTicksAdd时),即使在历史上有ticks。
我建议在终端方面,在任何CustomTicksReplace之后,历史中的最后一个tick(或只是它的时间)应该是一个SymbolInfoTick。
请就这个问题向开发者提出建议,这个动作在逻辑上应该挂在谁身上--终端还是用户?
我认为是终端,因为它可以使用户免受他的代码中偶尔出现的错误的影响(抓住了一个)。
现在,例如,最近要找到一个符号,就像这样
没有关系。
其结果是一样的
是的,这是个错误。我从未遇到过这种情况,因为我总是把这归因于方法。