错误、漏洞、问题 - 页 2314 1...230723082309231023112312231323142315231623172318231923202321...3184 新评论 Vitaly Muzichenko 2018.10.28 08:45 #23131 开发者同志们! 在MT4中,点击选定的图形对象会触发事件"CHARTEVENT_OBJECT_DRAG"。这是一个真正的错误。 在mt5中,没有这样的问题。 void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam) { if(id==CHARTEVENT_OBJECT_DRAG) Print(id); // 2 } Baruban 2018.10.28 13:41 #23132 SuhanovDM94:大家下午好!对不起,我的问题很愚蠢。伙计们,你们能不能告诉我如何使按钮的Pressed属性在左键单击时为真,在左键单击时为假。现在的情况是这样的,按下它不会发生任何事情,而松开它按下的时候,它的值就会变成相反的。 我知道我需要覆盖CButton::OnMouseUp和CButton::OnMouseDown事件处理程序,但我不知道该在哪里做。请给我一个提示。提前感谢!如果有人能就同一主题提供帮助,将不胜感激。 Vitaly Muzichenko 2018.10.28 13:54 #23133 Baruban:如果有人能就同一主题提供帮助,将不胜感激。该事件只在鼠标按钮被按下时产生,但在以下情况下不产生 SuhanovDM94 2018.10.28 14:35 #23134 Vitaly Muzichenko:该事件只在鼠标按钮被按下时产生,而不是被点击时产生。但是有一个点击处理程序,不是吗?所以一定有一个点击事件。 Alexey Viktorov 2018.10.28 14:52 #23135 SuhanovDM94:但是有一个新闻处理者,不是吗?因此,也必须有一个新闻活动。你不感到困惑吗?有 CHARTEVENT_CLICK 事件 - 鼠标点击 图表;但没有点击... SuhanovDM94 2018.10.28 15:08 #23136 Alexey Viktorov:你不是在混淆视听吗?有一个 CHARTEVENT_CLICK 事件 -- 鼠标 在图表上的点击;但不是点击。有,这就对了。只是,CButton类有两个内部事件处理程序:OnMouseDown()和OnMouseUp()。所以我想,也许也有相应的事件? Alexey Viktorov 2018.10.28 15:13 #23137 SuhanovDM94:是的,这是正确的。只是,CButton类有两个内部事件处理程序:OnMouseDown()和OnMouseUp()。所以我想,也许也有相应的事件?我没有看SB,但显然那里有一个按OBJPROP_STATE == true,另一个OBJPROP_STATE == false。也可能是我错了。 Vitalii Sharov 2018.10.28 18:50 #23138 大家好,请帮助我,为什么在优化过程的最后,图表会下降? 附加的文件: Screenshot_1.png 23 kb Screenshot_3.png 30 kb Screenshot_4.png 20 kb Screenshot_5.png 26 kb Ilya Malev 2018.10.28 20:36 #23139 当把鼠标悬停在 "int i = func( 0, 1 ); "一行的 "func "上并选择 "转到定义 "选项(或按Alt+G)时,MT4和MT5编辑器都会崩溃。MQL4 build 1910MQL5 build 1931template<typename type> type func( type a, type b = 1 ){ return ( 0 ); } int i = func( 0, 1 ); void OnStart(){ } 附加的文件: altg.jpg 57 kb fxsaber 2018.10.28 21:08 #23140 关于交易、自动交易系统和测试交易策略的论坛 MQL相当于Python的None类型? nicholi shen, 2018.10.28 21:52 在MQL中没有,反正现在没有了。实际上,在调试时,它比引用慢两倍,而在正常编译时,它的速度也很接近,所以真的无所谓。自己试试吧。 #define ITERATIONS 1000000 void OnStart() { { ulong time = GetMicrosecondCount(); ulong sum = 0; for(int i=0; i<ITERATIONS; i++){ string r = string(rand()); sum += by_ref(r); } time = GetMicrosecondCount() - time; printf("%s took %.3f milliseconds: sum=%dll", "by_ref", time/1000.0, sum); }{ ulong time = GetMicrosecondCount(); ulong sum = 0; for(int i=0; i<ITERATIONS; i++) sum += by_val(string(rand())); time = GetMicrosecondCount() - time; printf("%s took %.3f milliseconds: sum=%dll", "by_val", time/1000.0, sum); } } //+------------------------------------------------------------------+ int by_ref(string &var){ return int(var) % 100; } int by_val(string var){ return int(var) % 100; }为什么by_ref比by_val慢? 1...230723082309231023112312231323142315231623172318231923202321...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
开发者同志们!
在MT4中,点击选定的图形对象会触发事件"CHARTEVENT_OBJECT_DRAG"。这是一个真正的错误。
在mt5中,没有这样的问题。
大家下午好!对不起,我的问题很愚蠢。伙计们,你们能不能告诉我如何使按钮的Pressed属性在左键单击时为真,在左键单击时为假。现在的情况是这样的,按下它不会发生任何事情,而松开它按下的时候,它的值就会变成相反的。
我知道我需要覆盖CButton::OnMouseUp和CButton::OnMouseDown事件处理程序,但我不知道该在哪里做。请给我一个提示。提前感谢!
如果有人能就同一主题提供帮助,将不胜感激。
如果有人能就同一主题提供帮助,将不胜感激。
该事件只在鼠标按钮被按下时产生,但在以下情况下不产生
该事件只在鼠标按钮被按下时产生,而不是被点击时产生。
但是有一个点击处理程序,不是吗?所以一定有一个点击事件。
但是有一个新闻处理者,不是吗?因此,也必须有一个新闻活动。
你不感到困惑吗?有 CHARTEVENT_CLICK 事件 - 鼠标点击 图表;但没有点击...
你不是在混淆视听吗?有一个 CHARTEVENT_CLICK 事件 -- 鼠标 在图表上的点击;但不是点击。
有,这就对了。只是,CButton类有两个内部事件处理程序:OnMouseDown()和OnMouseUp()。所以我想,也许也有相应的事件?
是的,这是正确的。只是,CButton类有两个内部事件处理程序:OnMouseDown()和OnMouseUp()。所以我想,也许也有相应的事件?
我没有看SB,但显然那里有一个按OBJPROP_STATE == true,另一个OBJPROP_STATE == false。也可能是我错了。
关于交易、自动交易系统和测试交易策略的论坛
MQL相当于Python的None类型?
nicholi shen, 2018.10.28 21:52
在MQL中没有,反正现在没有了。实际上,在调试时,它比引用慢两倍,而在正常编译时,它的速度也很接近,所以真的无所谓。自己试试吧。
为什么by_ref比by_val慢?