[存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. - 页 176 1...169170171172173174175176177178179180181182183...537 新评论 [删除] 2011.03.02 23:59 #1751 eddy: 你如何定义最后一个订单? 按时间。 好吧,在代码中查看哪一个订单是最近的时间点 我已经自己想出了办法。但我还是不明白你的最后一个建议。有没有可能调出所有的订单,看看哪一个是时间上最新的?那么,你想拉出所有的订单,比较所有订单的收盘时间?告诉我如何做这个的代码。 我是这样解决的。 int z; int _bar; int start() { z=OrdersHistoryTotal()-1; OrderSelect(z,SELECT_BY_POS,MODE_HISTORY); if(TimeCurrent() - OrderCloseTime() > 1& TimeCurrent() - OrderCloseTime() < 7) { if(OrderProfit() > 0) PlaySound(" profit.wav"; if(OrderProfit()==0) PlaySound("zero.wav"); if(OrderProfit()<0) PlaySound("loss.wav"); } 事实证明,如果用1代替z,最早的订单就会被选中,而从逻辑上讲,这是最新的订单,所以我取了OrdersHistoryTotal()(它返回历史上的订单数),用它代替了索引。然而,事实证明,OrdersHistoryTotal()的返回值比实际值多1。我的历史有6个订单,但OrdersHistoryTotal()返回7个订单。因此,我写了z=OrdersHistoryTotal()-1;。但我以前不知道在索引中用什么来选择最后一个。我不得不自己想办法,因为没有人告诉我任何事情。 [Archive!] Any rookie question, 专家顾问 - 杂项问题 An EA/indicator for MT4, --- 2011.03.03 00:01 #1752 Reaktiv: 如果(TimeCurrent() - OrderCloseTime() > 1& TimeCurrent() - OrderCloseTime() < 7) 这从根本上说是错误的,即使在测试器中也不会一直工作。 [删除] 2011.03.03 00:03 #1753 sergeev: 从根本上说是错误的,即使在测试器中也不一定能工作。 所以,请告诉我如何做对。 你知道,教科书上有很多例子是不存在的。 --- 2011.03.03 00:04 #1754 Reaktiv: 所以请告诉我如何正确操作,因为你知道教科书中没有很多例子。任何解决方案都取决于设定的目标。 如果你想找到历史上的最后一笔订单是一回事,但如果你想确定你的EA的最后一笔订单是如何关闭的,那是另一回事。 [删除] 2011.03.03 00:07 #1755 sergeev: 任何解决方案都取决于你设定的目标。 如果你想在历史上找到最后一笔订单是一回事,但如果你只是给出你的EA的最后一笔订单是如何关闭的,那又是另一回事。 我想让音乐在订单关闭后开始播放,根据利润是多少,音乐就会播放。在我的例子中,我想让它在订单关闭后的1到7秒内播放。 --- 2011.03.03 00:11 #1756 那么,该计划应该是这样的 1.在成功发送订单 时,你必须记住订单票(GlobalVariableSet)。 2.在每次打勾时,检查这个被记住的订单(GlobalVariableGet)的票据是否关闭(OrderCloseTime)。 如果订单被关闭,那么给一个适当的利润声音并删除记忆中的票据(GlobalVariableDel)。 4.如果你仍然想检查1-7秒,那么这个检查可以包括在分析中,但你必须记住,刻度线可能会有10秒或更多的延迟,你会错过信号。 [删除] 2011.03.03 00:16 #1757 sergeev: 那么,该计划应该是这样的1.在成功发送订单 时,你必须记住订单票(GlobalVariableSet)。2.在每次打勾时,检查这个被记住的订单(GlobalVariableGet)的票据是否关闭(OrderCloseTime)。如果订单被关闭,那么给一个适当的利润声音并删除记忆中的票据(GlobalVariableDel)。4.如果你仍然想检查1-7秒,那么这个检查可以包括在分析中,但你必须记住,刻度线可能会有10秒或更多的延迟,你会错过信号。 OrderSend 是否必须由专家顾问发送,还是没有区别?这个系统是基于我自己手动打开交易的事实。专家顾问在开仓后修改订单(设置止损),然后在关闭头寸时播放音乐。至于蜱虫可能延迟10秒的事实,我理解。我不打算在现在这样的时候使用EA。我在EUROBAX上使用我的EA,从早上9点到晚上18点,这种延迟是不可能的。 --- 2011.03.03 00:25 #1758 Reaktiv: 当交易开始时,顾问本身会修改订单(设置止损)。 那么在你的情况下,这一点将是订单票 的拍摄点。 [删除] 2011.03.03 00:28 #1759 sergeev: 那么在你的情况下,这就是采取订单票的时间点。 谢谢 Roma 2011.03.03 01:33 #1760 Reaktiv: 我想让音乐在订单关闭后的1到7秒内播放。 为什么? 一旦订单结束,你可以直接播放音乐 1...169170171172173174175176177178179180181182183...537 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你如何定义最后一个订单? 按时间。 好吧,在代码中查看哪一个订单是最近的时间点
我已经自己想出了办法。但我还是不明白你的最后一个建议。有没有可能调出所有的订单,看看哪一个是时间上最新的?那么,你想拉出所有的订单,比较所有订单的收盘时间?告诉我如何做这个的代码。
我是这样解决的。
int z;
int _bar;
int start()
{
z=OrdersHistoryTotal()-1;
OrderSelect(z,SELECT_BY_POS,MODE_HISTORY);
if(TimeCurrent() - OrderCloseTime() > 1& TimeCurrent() - OrderCloseTime() < 7)
{
if(OrderProfit() > 0)
PlaySound(" profit.wav";
if(OrderProfit()==0)
PlaySound("zero.wav");
if(OrderProfit()<0)
PlaySound("loss.wav");
}
事实证明,如果用1代替z,最早的订单就会被选中,而从逻辑上讲,这是最新的订单,所以我取了OrdersHistoryTotal()(它返回历史上的订单数),用它代替了索引。然而,事实证明,OrdersHistoryTotal()的返回值比实际值多1。我的历史有6个订单,但OrdersHistoryTotal()返回7个订单。因此,我写了z=OrdersHistoryTotal()-1;。但我以前不知道在索引中用什么来选择最后一个。我不得不自己想办法,因为没有人告诉我任何事情。
如果(TimeCurrent() - OrderCloseTime() > 1& TimeCurrent() - OrderCloseTime() < 7)
从根本上说是错误的,即使在测试器中也不一定能工作。
所以,请告诉我如何做对。 你知道,教科书上有很多例子是不存在的。
所以请告诉我如何正确操作,因为你知道教科书中没有很多例子。
任何解决方案都取决于设定的目标。
如果你想找到历史上的最后一笔订单是一回事,但如果你想确定你的EA的最后一笔订单是如何关闭的,那是另一回事。
任何解决方案都取决于你设定的目标。
如果你想在历史上找到最后一笔订单是一回事,但如果你只是给出你的EA的最后一笔订单是如何关闭的,那又是另一回事。
我想让音乐在订单关闭后开始播放,根据利润是多少,音乐就会播放。在我的例子中,我想让它在订单关闭后的1到7秒内播放。
那么,该计划应该是这样的
1.在成功发送订单 时,你必须记住订单票(GlobalVariableSet)。
2.在每次打勾时,检查这个被记住的订单(GlobalVariableGet)的票据是否关闭(OrderCloseTime)。
如果订单被关闭,那么给一个适当的利润声音并删除记忆中的票据(GlobalVariableDel)。
4.如果你仍然想检查1-7秒,那么这个检查可以包括在分析中,但你必须记住,刻度线可能会有10秒或更多的延迟,你会错过信号。
那么,该计划应该是这样的
1.在成功发送订单 时,你必须记住订单票(GlobalVariableSet)。
2.在每次打勾时,检查这个被记住的订单(GlobalVariableGet)的票据是否关闭(OrderCloseTime)。
如果订单被关闭,那么给一个适当的利润声音并删除记忆中的票据(GlobalVariableDel)。
4.如果你仍然想检查1-7秒,那么这个检查可以包括在分析中,但你必须记住,刻度线可能会有10秒或更多的延迟,你会错过信号。
OrderSend 是否必须由专家顾问发送,还是没有区别?这个系统是基于我自己手动打开交易的事实。专家顾问在开仓后修改订单(设置止损),然后在关闭头寸时播放音乐。至于蜱虫可能延迟10秒的事实,我理解。我不打算在现在这样的时候使用EA。我在EUROBAX上使用我的EA,从早上9点到晚上18点,这种延迟是不可能的。
当交易开始时,顾问本身会修改订单(设置止损)。
那么在你的情况下,这就是采取订单票的时间点。
谢谢
我想让音乐在订单关闭后的1到7秒内播放。