任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 185 1...178179180181182183184185186187188189190191192...1178 新评论 [Deleted] 2013.10.14 03:56 #1841 下午好。 我需要EA在某一事件后退出。 我知道这是deinit() 函数,我需要以某种方式调用它。这是教程中的一段话。 "当客户终端关闭时,当金融工具窗口关闭时,当改变金融工具和/或图表周期 前,当程序在MetaEditor中重新编译成功时,当改变输入参数时,当改变账户时,也会调用特殊函数deinit()来执行。" 所以我必须手动关闭终端,比如说,为了这个函数被调用? 我试着在一个条件触发时调用这个函数,它被执行了,但是一个新的刻度线来了,启动函数又开始了。 int deinit() { Alert("Закрываем программу"); return(0); } int start() { //код .............. if (OrdersTotal()==0) deinit(); return(0); } 我还如何终止该程序? 谢谢你。 Artyom Trishkin 2013.10.14 04:14 #1842 GygaByte:下午好。我需要EA在某一事件后关闭。我知道这是deinit() 函数,我需要以某种方式调用它。这是教程中的一段话。"当客户终端关闭时,当金融工具窗口关闭时,当改变金融工具和/或图表周期前,当程序在MetaEditor中重新编译成功时,当改变输入参数时,当改变账户时,特殊函数deinit()也被客户终端调用执行。"所以我必须手动关闭终端,比如说,为了这个函数被调用?我试着在一个条件触发时调用这个函数,它被执行了,但是一个新的刻度线来了,启动函数又开始了。我还如何终止该程序?谢谢你。 要以编程方式关闭终端,在代码的最开始插入start()函数之前。 //---- #import "user32.dll" int GetParent(int hWnd); // вызов API #import //---- 在start()函数中,当你需要关闭终端时,调用ExitMT4(),你在start()函数外声明该函数 //+----------------------------------------------------------------------------+ void ExitMT4() { // выгрузить MT4 из памяти int hwnd=WindowHandle(Symbol(),Period()); int hwnd_parent=0; //---- while(!IsStopped()) { hwnd=GetParent(hwnd); if(hwnd==0) break; hwnd_parent=hwnd; } if(hwnd_parent!=0) PostMessageA(hwnd_parent,WM_CLOSE,0,0); } //+----------------------------------------------------------------------------+ [Deleted] 2013.10.14 06:19 #1843 artmedia70:要以编程方式关闭终端,在代码的最开始插入start()函数之前。在start()函数中,当你需要关闭终端时,调用ExitMT4(),你在start()函数之外声明该函数 非常感谢您的全面回答。 基本上,我只要终止EA就足够了,我不需要关闭终端。难道没有一个简单的方法吗? 我认为deinit()应该在某种程度上解决这个问题,但我一定是做错了什么...... polycomp 2013.10.14 09:01 #1844 我无法从Alpari Limited, build 509删除Terminal.exe。 当使用控制面板卸载时,出现 "你没有足够的权限卸载。联系你的系统管理员!"。 当使用Uninstall.exe时,显示 "服务器已返回链接"。 Alpari的技术支持无法说出任何可以理解的东西。 他们只是建议我删除整个文件夹,并在另一个目录下安装终端。 我的系统是Win 7,终极版。激活了管理员权限,我以管理员身份运行Uninstall.exe。 我将非常感谢对解决这一问题的任何帮助。 Artyom Trishkin 2013.10.14 09:10 #1845 GygaByte: 非常感谢您的详细答复。 原则上,我只需终止该EA即可,不需要关闭终端。难道没有一个简单的方法吗? 我认为deinit()应该在某种程度上解决这个问题,但我一定是做错了什么...... 不是deinit(),而是return(0)。 [Deleted] 2013.10.14 09:52 #1846 artmedia70: 不是deinit()而是return(0); 如果我没有弄错的话,return(0)将简单地终止当前函数start()并等待下一个tick,而我需要EA终止,就像我从图表中手动解锁一样。我在实践中检查了它,它一直在显示"0未结订单"警报,每一个刻度。 我没有等到珍惜的 "再见"。int start() { if (OrdersTotal()==0) { Alert("Открытых ордеров - ", OrdersTotal()); return(0); } } //+------------------------------------------------------------------+ int deinit() { Alert("Пока"); return(0); } Sergey Dzyublik 2013.10.14 10:00 #1847 polycomp: 无法从Alpari Limited, build 509删除Terminal.exe。 当使用控制面板卸载时,出现 "你没有足够的权限卸载。联系你的系统管理员!"。 当使用Uninstall.exe时,显示 "服务器已返回链接"。 Alpari的技术支持无法说出任何可以理解的东西。 他们只是建议我删除整个文件夹,并在另一个目录下安装终端。 我的系统是Win 7,终极版。激活管理员权限,以管理员身份运行uninstall.exe。 如果有任何建议可以解决这个问题,我将非常感激。 一些恶意程序(mail.ru,我有过)重新分配了访问权限,因此具有管理员权限的你没有机会删除它们。 这个问题通过科学地捅破权限重新分配的方法得到了解决(点击文件夹、属性、安全、更改、添加、可选、对象类型、搜索.......)。 但后来我熟悉了 "Revo卸载程序",所有删除东西的麻烦都消失了,而且可以肯定的是,注册表中的活动被清理掉了。 TarasBY 2013.10.14 11:31 #1848 GygaByte: 如果我没有弄错的话,return(0)将简单地完成当前函数start()并等待下一个tick。 我需要EA完成它的工作,就像我手动把它从图表中 分离出来一样。 我在实践中检查了一下--无休止的每一次打勾,都会发出"未结订单--0"的警告。 我没有等来珍惜的 "再见"。 你的愿望让人想起了 "跳棋 "的笑话。如果你想让EA停止交易,那么通过激活(全局)标志(在某些条件下),中断start()函数(通过返回退出)将得到预期结果。 polycomp 2013.10.14 13:06 #1849 ALXIMIKS: 一些恶意程序(我的mail.ru)重新分配了访问权限,并使具有管理员权限的你没有权限删除它们。 这个问题通过重新分配权限的科学方法得到了解决(PCM对文件夹、属性、安全、更改、添加、可选、对象类型、搜索.......)。 但后来我熟悉了 "Revo卸载程序",所有删除东西的麻烦都消失了,而且可以肯定的是,注册表已经从他们的活动中清除了。 非常感谢您!我将熟悉Revo卸载程序。 Mislaid 2013.10.14 13:20 #1850 TarasBY: 你的愿望让人想起了 "绘图员 "的笑话。如果您希望顾问停止交易,那么通过激活(全局)标志(在某些条件下),中断函数start()(通过返回退出)将得到预期的结果。 这大致是它的样子。 bool GlobalFlag; int init() { GlobalFlag = true; return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { if ( GlobalFlag ) if (OrdersTotal() == 0) { GlobalFlag = false; Alert("Открытых ордеров - ", OrdersTotal()); Alert("Пока"); } return(0); } //+------------------------------------------------------------------+ int deinit() { return(0); } //+------------------------------------------------------------------+ 1...178179180181182183184185186187188189190191192...1178 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
下午好。
我需要EA在某一事件后退出。
我知道这是deinit() 函数,我需要以某种方式调用它。这是教程中的一段话。
"当客户终端关闭时,当金融工具窗口关闭时,当改变金融工具和/或图表周期 前,当程序在MetaEditor中重新编译成功时,当改变输入参数时,当改变账户时,也会调用特殊函数deinit()来执行。"
所以我必须手动关闭终端,比如说,为了这个函数被调用?
我试着在一个条件触发时调用这个函数,它被执行了,但是一个新的刻度线来了,启动函数又开始了。
我还如何终止该程序?
谢谢你。
下午好。
我需要EA在某一事件后关闭。
我知道这是deinit() 函数,我需要以某种方式调用它。这是教程中的一段话。
"当客户终端关闭时,当金融工具窗口关闭时,当改变金融工具和/或图表周期前,当程序在MetaEditor中重新编译成功时,当改变输入参数时,当改变账户时,特殊函数deinit()也被客户终端调用执行。"
所以我必须手动关闭终端,比如说,为了这个函数被调用?
我试着在一个条件触发时调用这个函数,它被执行了,但是一个新的刻度线来了,启动函数又开始了。
我还如何终止该程序?
谢谢你。
要以编程方式关闭终端,在代码的最开始插入start()函数之前。
在start()函数中,当你需要关闭终端时,调用ExitMT4(),你在start()函数外声明该函数
要以编程方式关闭终端,在代码的最开始插入start()函数之前。
在start()函数中,当你需要关闭终端时,调用ExitMT4(),你在start()函数之外声明该函数
非常感谢您的全面回答。
基本上,我只要终止EA就足够了,我不需要关闭终端。难道没有一个简单的方法吗?
我认为deinit()应该在某种程度上解决这个问题,但我一定是做错了什么......
我无法从Alpari Limited, build 509删除Terminal.exe。
当使用控制面板卸载时,出现 "你没有足够的权限卸载。联系你的系统管理员!"。
当使用Uninstall.exe时,显示 "服务器已返回链接"。
Alpari的技术支持无法说出任何可以理解的东西。 他们只是建议我删除整个文件夹,并在另一个目录下安装终端。
我的系统是Win 7,终极版。激活了管理员权限,我以管理员身份运行Uninstall.exe。
我将非常感谢对解决这一问题的任何帮助。
非常感谢您的详细答复。
原则上,我只需终止该EA即可,不需要关闭终端。难道没有一个简单的方法吗?
我认为deinit()应该在某种程度上解决这个问题,但我一定是做错了什么......
不是deinit()而是return(0);
如果我没有弄错的话,return(0)将简单地终止当前函数start()并等待下一个tick,而我需要EA终止,就像我从图表中手动解锁一样。
我在实践中检查了它,它一直在显示"0未结订单"警报,每一个刻度。
我没有等到珍惜的 "再见"。
无法从Alpari Limited, build 509删除Terminal.exe。
当使用控制面板卸载时,出现 "你没有足够的权限卸载。联系你的系统管理员!"。
当使用Uninstall.exe时,显示 "服务器已返回链接"。
Alpari的技术支持无法说出任何可以理解的东西。 他们只是建议我删除整个文件夹,并在另一个目录下安装终端。
我的系统是Win 7,终极版。激活管理员权限,以管理员身份运行uninstall.exe。
如果有任何建议可以解决这个问题,我将非常感激。
一些恶意程序(mail.ru,我有过)重新分配了访问权限,因此具有管理员权限的你没有机会删除它们。
这个问题通过科学地捅破权限重新分配的方法得到了解决(点击文件夹、属性、安全、更改、添加、可选、对象类型、搜索.......)。
但后来我熟悉了 "Revo卸载程序",所有删除东西的麻烦都消失了,而且可以肯定的是,注册表中的活动被清理掉了。
如果我没有弄错的话,return(0)将简单地完成当前函数start()并等待下一个tick。 我需要EA完成它的工作,就像我手动把它从图表中 分离出来一样。
我在实践中检查了一下--无休止的每一次打勾,都会发出"未结订单--0"的警告。
我没有等来珍惜的 "再见"。
一些恶意程序(我的mail.ru)重新分配了访问权限,并使具有管理员权限的你没有权限删除它们。
这个问题通过重新分配权限的科学方法得到了解决(PCM对文件夹、属性、安全、更改、添加、可选、对象类型、搜索.......)。
但后来我熟悉了 "Revo卸载程序",所有删除东西的麻烦都消失了,而且可以肯定的是,注册表已经从他们的活动中清除了。
你的愿望让人想起了 "绘图员 "的笑话。如果您希望顾问停止交易,那么通过激活(全局)标志(在某些条件下),中断函数start()(通过返回退出)将得到预期的结果。
这大致是它的样子。