新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1057 1...105010511052105310541055105610571058105910601061106210631064...1953 新评论 Tretyakov Rostyslav 2020.01.29 08:51 #10561 Alexey Viktorov:刚刚检查过,可以改变。但这一变化将是针对终端的所有警报。而如果你想在每个条件下使用PlaySound(),你应该使用它,但不要在别人的函数中使用,要自己了解它的工作原理。 PlaySound() 的工作与警报无关。 我试了一下,它播放两个声音都是Alert和PlaySound()。 Igor Makanu 2020.01.29 08:55 #10562 MakarFX: 谢谢你,它成功了。 但它并没有解决事件分离的问题 再一次 在终端设置 中,禁用警报声 在MQL代码中,使用PlaySound()输出声音,然后调用Alert() - 所以你会为不同的警报得到不同的声音,而且你不能只是为警报分配一个声音,然后从MQL代码中以编程方式改变它。 Alexey Viktorov 2020.01.29 08:58 #10563 Igor Makanu: 再次 在终端设置 中,禁用警报声 在MQL代码中,使用PlaySound()输出声音,然后调用Alert() - 因此,你会为不同的警报获得不同的声音,而且不可能将任何声音分配给警报,然后从MQL代码中以编程方式改变它。 反之亦然,先是Alert()然后是PlaySound()。否则PlaySound()甚至没有时间开始播放,Alert()会覆盖它。 Tretyakov Rostyslav 2020.01.29 09:02 #10564 Igor Makanu: 再次 在终端设置 中,禁用警报音 你的意思是放一个空的声音,因为如果你在设置中禁用警报,它根本不工作。 Igor Makanu 2020.01.29 09:03 #10565 Alexey Viktorov:反之亦然,先是Alert()然后是PlaySound()。否则PlaySound()甚至没有时间开始播放,Alert()就会杀死它。 也许,还没有检查过。 PlaySound() 有一个有趣的地方,我想我需要在它和Alert之间加上Sleep(150),但这并不是什么大问题。 Tretyakov Rostyslav 2020.01.29 09:04 #10566 Igor Makanu: 也许,没有检查 PlaySound()有一些技巧,我想我们需要在它和警报之间添加Sleep(150),但这没什么用。 谢谢你。 Artyom Trishkin 2020.01.29 09:08 #10567 Igor Makanu:也许,没有检查PlaySound()有点麻烦,我想我需要在它和警报之间加上Sleep(150),但这不是什么大问题。 名称为空的PlaySound() 停止播放当前正在播放的声音。 Vitaliy Maznev 2020.01.29 09:13 #10568 MakarFX: 你的意思是把空的声音,因为如果你在设置中关闭警报,它根本不工作。 我花了很长时间来阅读代码。我不是一个真正的编码员,但在那里的功能中,注意开头的以下内容。 外部 bool UseSound = False; // 使用声音 可能需要把数值改为True,并且已经把你的声音附加到这个函数上。它不应该与警报器连在一起,而是与警报器分开。 在代码的末尾(就是你之前写的那段),有如下内容 无效的Signal(string st) { 如果(UseAlert)Alert(st)。 { if (UseComment) Comment(st); 如果(UseSendMail)SendMail(WindowExpertName(), st)。 如果(UseSendPush)SendNotification(st)。 如果(UsePrint)Print(st)。 如果(使用声音)PlaySound(sotFileName)。 } 我理解这些是由Signal函数执行的变量。因此,这个信号函数在其代码中有几个事件选项。而对于每个事件,我需要添加必要的价值(声音)。 如果我完全混淆了这个问题,让程序员们来纠正我吧 :) Tretyakov Rostyslav 2020.01.29 09:21 #10569 Vitaliy Maznev: 我花了很长时间来阅读代码。我不是一个真正的编码员,但在那里的功能中,请注意开头的以下内容。 如果我完全混淆了这个问题,让程序员们来纠正我吧 :) 主要问题是关于根据事件使用不同的声音。UseSound只适用于PlaySound功能,不影响Alert的操作。 Vitaliy Maznev 2020.01.29 09:30 #10570 MakarFX: 主要问题是关于根据事件触发不同声音的警报。UseSound仅指PlaySound功能,不影响Alert的操作。 所以在这种情况下,Alert和Playsound功能是可以互换的,对吗?还是我弄错了?如果你不能在Alert函数中写入变量,而且你对自定义声音感兴趣,那么在每个需要的事件中用Playsound((UseAlert)与(UseSound)) 代替Alert。而且你会得到你所需要的东西。至少,在逻辑上是这样。 1...105010511052105310541055105610571058105910601061106210631064...1953 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
刚刚检查过,可以改变。但这一变化将是针对终端的所有警报。而如果你想在每个条件下使用PlaySound(),你应该使用它,但不要在别人的函数中使用,要自己了解它的工作原理。
PlaySound() 的工作与警报无关。
我试了一下,它播放两个声音都是Alert和PlaySound()。
谢谢你,它成功了。
但它并没有解决事件分离的问题
再一次
在终端设置 中,禁用警报声
在MQL代码中,使用PlaySound()输出声音,然后调用Alert() - 所以你会为不同的警报得到不同的声音,而且你不能只是为警报分配一个声音,然后从MQL代码中以编程方式改变它。
再次
在终端设置 中,禁用警报声
在MQL代码中,使用PlaySound()输出声音,然后调用Alert() - 因此,你会为不同的警报获得不同的声音,而且不可能将任何声音分配给警报,然后从MQL代码中以编程方式改变它。
反之亦然,先是Alert()然后是PlaySound()。否则PlaySound()甚至没有时间开始播放,Alert()会覆盖它。
再次
在终端设置 中,禁用警报音
你的意思是放一个空的声音,因为如果你在设置中禁用警报,它根本不工作。
反之亦然,先是Alert()然后是PlaySound()。否则PlaySound()甚至没有时间开始播放,Alert()就会杀死它。
也许,还没有检查过。
PlaySound() 有一个有趣的地方,我想我需要在它和Alert之间加上Sleep(150),但这并不是什么大问题。
也许,没有检查
PlaySound()有一些技巧,我想我们需要在它和警报之间添加Sleep(150),但这没什么用。
也许,没有检查
PlaySound()有点麻烦,我想我需要在它和警报之间加上Sleep(150),但这不是什么大问题。
名称为空的PlaySound() 停止播放当前正在播放的声音。
你的意思是把空的声音,因为如果你在设置中关闭警报,它根本不工作。
我花了很长时间来阅读代码。我不是一个真正的编码员,但在那里的功能中,注意开头的以下内容。
外部 bool UseSound = False; // 使用声音
可能需要把数值改为True,并且已经把你的声音附加到这个函数上。它不应该与警报器连在一起,而是与警报器分开。
在代码的末尾(就是你之前写的那段),有如下内容
无效的Signal(string st) {
如果(UseAlert)Alert(st)。
{ if (UseComment) Comment(st);
如果(UseSendMail)SendMail(WindowExpertName(), st)。
如果(UseSendPush)SendNotification(st)。
如果(UsePrint)Print(st)。
如果(使用声音)PlaySound(sotFileName)。
}
我理解这些是由Signal函数执行的变量。因此,这个信号函数在其代码中有几个事件选项。而对于每个事件,我需要添加必要的价值(声音)。
如果我完全混淆了这个问题,让程序员们来纠正我吧 :)
我花了很长时间来阅读代码。我不是一个真正的编码员,但在那里的功能中,请注意开头的以下内容。
如果我完全混淆了这个问题,让程序员们来纠正我吧 :)
主要问题是关于根据事件使用不同的声音。UseSound只适用于PlaySound功能,不影响Alert的操作。
主要问题是关于根据事件触发不同声音的警报。UseSound仅指PlaySound功能,不影响Alert的操作。
所以在这种情况下,Alert和Playsound功能是可以互换的,对吗?还是我弄错了?如果你不能在Alert函数中写入变量,而且你对自定义声音感兴趣,那么在每个需要的事件中用Playsound((UseAlert)与(UseSound)) 代替Alert。而且你会得到你所需要的东西。至少,在逻辑上是这样。