错误、漏洞、问题 - 页 347 1...340341342343344345346347348349350351352353354...3184 新评论 Mykola Demko 2011.03.27 16:11 #3461 因此,这要么是终端的一个错误,要么是服务器历史的问题。但更有可能是终端,因为来自服务器历史的报告更有可能已经被恢复。 Yedelkin 2011.03.27 16:16 #3462 Urain: Так что это или баг терминала, или серверной истории. Но скорее терминала, тк отчёты на чемпе скорее с серверной истории восстанавливались. 这很有趣。我没有注意到。解释得很清楚。 Mykola Demko 2011.03.27 16:20 #3463 Yedelkin: 这很有趣。我没有注意到。解释得很清楚。 就是这样,谁有乐趣,谁就有两周的时间来捉弄人 :o) Mykola Demko 2011.03.27 16:43 #3464 找到了,它默认为按时间排序,需要按交易号排序。那就好办了。 Renat Fatkhullin 2011.03.27 18:08 #3465 Urain: 找到了,它默认为按时间排序,需要按交易号排序。那么一切就正确了。所以没有错误吗? 整个要点是按票号而不是按时间来计算/排序交易。我只是肤浅地审查报告,而不是计算位置状态。 Mykola Demko 2011.03.27 19:02 #3466 Renat:那么就没有bug了吗? 整个重点是按票据而不是按时间来计算/排序交易。我只是肤浅地审查报告,而不是计算位置状态。没错,只是当你保存一份报告时,这个过程没有自动化,需要仔细监控。我不认为每个用户都会注意到这一点,结果在解析报告时就会出现bug。ZS 我在解析报告后增加了排序。结果,它对我来说是有效的,但我预测,不止一个程序员会对这个功能感到棘手。 Vladimir Gomonov 2011.03.28 00:13 #3467 在优化过程中, 优化参数的 名称会显示在优化图的右上角。在观察优化时,这个铭文是令人讨厌的,因为新的最大值总是 隐藏在这个铭文后面。雷纳特,让我们把它移到左上角!或者右下角。或左下角...任何地方,只要把它从右上角拿出来,看在上帝的份上,请! :)// 或者至少让它变得苍白, 把它放在背景中,这样它就不会掩盖信息了。 [删除] 2011.03.28 09:15 #3468 MetaDriver:在优化过程中, 优化参数的 名称会显示在优化图的右上角。在观察优化时,这个铭文是令人讨厌的,因为新的最大值总是 隐藏在这个铭文后面。雷纳特,让我们把它移到左上角!或者移到右下角。或左下角...任何地方,只要把它从右上角拿出来,看在上帝的份上,请! :)// 或者至少让它变得苍白, 把它放在背景中,这样它就不会掩盖信息了。 左下角,并作为背景。 Sergey Molotkov 2011.03.28 12:26 #3469 请告诉我,我哪里错了。我想写一个简单的脚本,删除当前工具上的头寸和挂单。在这里。//+------------------------------------------------------------------+ //| clean.mq5 | //| Copyright 2011, MetaQuotes Software Corp. | //| http://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2011, MetaQuotes Software Corp." #property link "http://www.mql5.com" #property version "1.00" //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { MqlTick current_tick; MqlTradeRequest close_request; MqlTradeResult close_result; SymbolInfoTick(_Symbol,current_tick); int counter01; while(check_position()==true); { PositionSelect(_Symbol); close_request.action=TRADE_ACTION_DEAL; close_request.symbol=_Symbol; close_request.volume=PositionGetDouble(POSITION_VOLUME); close_request.type_filling=ORDER_FILLING_AON; if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY) { close_request.price=current_tick.bid; close_request.type=ORDER_TYPE_SELL; } else { close_request.price=current_tick.ask; close_request.type=ORDER_TYPE_BUY; } OrderSend(close_request,close_result); } do { for(counter01=1; counter01<=OrdersTotal(); counter01++) { close_request.order=OrderGetTicket(counter01-1); if(OrderGetString(ORDER_SYMBOL)==_Symbol) { close_request.action=TRADE_ACTION_REMOVE; OrderSend(close_request,close_result); } } } while(check_order()==true); if(GetLastError()!=0) Print("ошибка код ",GetLastError()," функция ",__FUNCTION__," строка ",__LINE__); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ bool check_position() // функция проверяет наличие позиции { int counter01; bool position_exsist=false; for(counter01=0; counter01<PositionsTotal(); counter01++) { if(PositionGetSymbol(counter01)==_Symbol) { position_exsist=true; break; } } return(position_exsist); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ bool check_order() // функция проверяет наличие ордеров { int counter01; bool order_exsist=false; for(counter01=0; counter01<OrdersTotal(); counter01++) { OrderGetTicket(counter01); if(OrderGetString(ORDER_SYMBOL)==_Symbol) { order_exsist=true; break; } } return(order_exsist); } //+------------------------------------------------------------------+ 当有一个位置时,脚本会挂起。调试时,我发现它在检查位置时冻结了。当循环条件 while(check_position()==true) 开始被检查时,控制权被传递给 check_position(),该函数第一次被正常执行时,返回 true。但是循环的主体没有被执行;它又开始检查条件,控制到了check_position(),在return(order_exsist)操作者 没有返回到循环的条件;它回到了check_position()函数的开头。请告诉我,我哪里做错了。 Документация по MQL5: Основы языка / Операторы / Оператор возврата return www.mql5.com Основы языка / Операторы / Оператор возврата return - Документация по MQL5 Rashid Umarov 2011.03.28 12:34 #3470 molotkovsm:请告诉我,我哪里错了。我想写一个简单的脚本,删除当前工具上的头寸和挂单。在这里,它是。 当有一个位置时,脚本会挂起。在调试的时候,我发现它在检查位置的时候冻结了。当循环条件 while(check_position()==true) 开始检查时,控制权被传递给 check_position() 函数,在函数第一次正常执行时,返回 true。但是循环的主体没有被执行;它又开始检查条件,控制到了check_position(),在return(order_exsist)操作者 没有返回到循环的条件;它回到了check_position()函数的开头。请告诉我,我一定是哪里搞错了。如果有一个位置,你会得到一个无限的循环,因为 while(check_order()==true); 等于while(check_order()==true) { // пустой оператор } 在代码中没有办法跳出循环,因为在操作者的身体中没有休息。 1...340341342343344345346347348349350351352353354...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
Urain:
Так что это или баг терминала, или серверной истории. Но скорее терминала, тк отчёты на чемпе скорее с серверной истории восстанавливались.
这很有趣。我没有注意到。解释得很清楚。
找到了,它默认为按时间排序,需要按交易号排序。那么一切就正确了。
所以没有错误吗? 整个要点是按票号而不是按时间来计算/排序交易。
我只是肤浅地审查报告,而不是计算位置状态。
那么就没有bug了吗? 整个重点是按票据而不是按时间来计算/排序交易。
我只是肤浅地审查报告,而不是计算位置状态。
没错,只是当你保存一份报告时,这个过程没有自动化,需要仔细监控。我不认为每个用户都会注意到这一点,结果在解析报告时就会出现bug。
ZS 我在解析报告后增加了排序。结果,它对我来说是有效的,但我预测,不止一个程序员会对这个功能感到棘手。
在优化过程中, 优化参数的 名称会显示在优化图的右上角。
在观察优化时,这个铭文是令人讨厌的,因为新的最大值总是 隐藏在这个铭文后面。
雷纳特,让我们把它移到左上角!或者右下角。或左下角...任何地方,只要把它从右上角拿出来,看在上帝的份上,请! :)
// 或者至少让它变得苍白, 把它放在背景中,这样它就不会掩盖信息了。
在优化过程中, 优化参数的 名称会显示在优化图的右上角。
在观察优化时,这个铭文是令人讨厌的,因为新的最大值总是 隐藏在这个铭文后面。
雷纳特,让我们把它移到左上角!或者移到右下角。或左下角...任何地方,只要把它从右上角拿出来,看在上帝的份上,请! :)
// 或者至少让它变得苍白, 把它放在背景中,这样它就不会掩盖信息了。
请告诉我,我哪里错了。我想写一个简单的脚本,删除当前工具上的头寸和挂单。在这里。
当有一个位置时,脚本会挂起。调试时,我发现它在检查位置时冻结了。当循环条件 while(check_position()==true) 开始被检查时,控制权被传递给 check_position(),该函数第一次被正常执行时,返回 true。但是循环的主体没有被执行;它又开始检查条件,控制到了check_position(),在return(order_exsist)操作者 没有返回到循环的条件;它回到了check_position()函数的开头。请告诉我,我哪里做错了。请告诉我,我哪里错了。我想写一个简单的脚本,删除当前工具上的头寸和挂单。在这里,它是。
当有一个位置时,脚本会挂起。在调试的时候,我发现它在检查位置的时候冻结了。当循环条件 while(check_position()==true) 开始检查时,控制权被传递给 check_position() 函数,在函数第一次正常执行时,返回 true。但是循环的主体没有被执行;它又开始检查条件,控制到了check_position(),在return(order_exsist)操作者 没有返回到循环的条件;它回到了check_position()函数的开头。请告诉我,我一定是哪里搞错了。如果有一个位置,你会得到一个无限的循环,因为
等于
在代码中没有办法跳出循环,因为在操作者的身体中没有休息。