MT4的总权益追踪止损EA
1 頁面的第 562 頁 12 上一個上一個
Results 1 to 10 of 15

Thread: MT4的总权益追踪止损EA

  1. #1
    你好,
    是否有人知道MT4的EA监控账户资产并关闭所有交易,如果股票从账户高位下跌一个特定的百分比?但同样重要的是,如果止损被触及,EA将关闭所有交易,然后禁用所有EA,以便在EA交易重新启用之前不会进行进一步交易。
    我在论坛上进行了搜索,但没有找到任何东西。
    谢谢。

  2. #2

    Quote Originally Posted by ;
    然后禁用所有的EA,以便不能进入更多的交易
    AFAIK无法影响(禁用)EA内的其他EA。您可以关闭任何交易,但不告诉其他EA停止开放新交易。 (AFAIK意味着我可能是错的)一种解决方案是通过您的stoploss-EA设置一个全局变量,并让所有其他EA修改以在任何交易之前检查此变量。另一个更严格的解决方案是,在成功关闭所有未结交易并成功删除所有挂单后,使止损EA完全通过Windows-API关闭Metatrader应用程序。

  3. #3
    你好7bit,非常感谢你的全面回答。我担心这不会是一个简单的解决方案。马修

  4. #4

    Quote Originally Posted by ;
    另一个更严格的解决方案是,在成功关闭所有未结交易并成功删除所有挂单后,使止损EA完全通过Windows-API关闭Metatrader应用程序。
    你好7位..虽然我还没有搜索过......但如果这不是很详细你可以用一些代码解释它,可以添加到这种stoploss Ea的?对于那些无法直观地管理自己的EA所有时间的人来说,这一点非常重要。在此先感谢问候

  5. #5
    嘿mathew ....股票尾随stoploss是一个简单的代码....只比典型的追踪止损稍微困难.....它听起来像使用全局变量,如7bit提到的,是什么最适合你的需求......它只会涉及到几行代码....../-----所有这一切,是的,一个单一的ea可以控制其他ea的......影响可能是某种东西就像禁止从生产ea的交易中进一步交易一样简单,或者它可以改变其他ea的任何或所有工作参数,例如批量大小,赢利目标,止损点,成对交易等等。关于......单个ea不必与产生ea的行业在同一台计算机上......如果您将ea在其他位置的计算机上运行,​​这很有用,例如if你在工作中,你可以控制家里或其他地点的电子管理......或反之亦然......这种电子管不会在网上找到...... h

  6. #6

    Quote Originally Posted by ;
    AFAIK无法影响(禁用)EA内的其他EA。您可以关闭任何交易,但不告诉其他EA停止开放新交易。 (AFAIK意味着我可能是错的)
    全局变量怎么样?对不起,我猜我脑中有全局变量。但是,我想如果你修改每个EA,这是可能的。
    Quote Originally Posted by ;
    一个解决方案是通过您的stoploss-EA设置一个全局变量,并且修改所有其他EA以在任何交易之前检查此变量。
    哦,没关系,我们似乎在说同样的事情。但是,这是我会做的。

  7. #7
    大家好,谢谢。我必须承认我的编码知识实际上是没有用的。随着可用的EA数量的增加,我一直希望有人会说这是一件容易的事情,他们知道一件事。虽然我真的只是想作为最终的失败安全EA,其中99.9%的时间安静地坐在后台(因为交易EA使用停止),但如果有谚语中的“黑天鹅” 。马修

  8. #8
    未经测试:插入代码#define SW_SHOWNORMAL 1 #import shell32.dll int ShellExecuteA(int hWnd,string Verb,string File,string Parameter,string Path,int ShowCommand); #import** *启动一个外部程序,但不要等待它完成*void shell(string file,string parameters =){ShellExecuteA(0,open,file,parameters,NULL,SW_SHOWNORMAL); }** *立即关闭metatrader *void shutdown(){shell(taskkill,/im terminal.exe); }

  9. #9
    感谢7bit,我将对你的代码进行研究,看看我如何去。马修

  10. #10

    Quote Originally Posted by ;
    谢谢,我会和你的代码一起玩,看看我如何去。马修
    如果您正在处理无法关闭的商业封闭源EA,我只会将上述代码作为最后手段。它存在一些缺陷,例如,你不能100%确信在所有未结订单和MT4关闭之间的短时间内,其中一个EA有足够的时间开启新的交易。最优雅和最简单的解决方案是,如果设置了某个全局变量,立即退出函数顶部的start()函数即可禁用EA。所有的EA都必须修改,以便在启动函数的最开始处包含它:插入代码int start(){if(GlobalVariableGet(trading_disbled)!= 0){return(0); }/这里跟着原始启动函数的其余部分}然后你的stoploss EA首先必须执行以下操作:插入代码GlobalVariableSet(trading_disabled,1); ...然后关闭所有未结交易和订单。之后,没有任何修改后的EA能够做任何*任何事情,因为它们的启动函数总是会在做任何事情之前立即返回,直到变量被删除或再次设置为0。您也可以从metatrader菜单访问和更改全局变量,以便在触发后点击几下鼠标即可重置它。

發布權限

  • 您不可發布新主題
  • 您不可回复
  • 您不可發布附件
  • 您不可編輯您的帖子
  •  
  • BB代碼是打開的
  • 表情符號是打開的
  • [IMG]代碼是打開的
  • [視頻]代碼是打開的
  • HTML代碼是關閉的
forex-pedia網站使用cookie 文字跟蹤
forex-pedia.com網站使用cookie 文字跟蹤,某些設定已經固定。您可以點擊此處閱讀我們的Cookie使用說明。 請點擊右鍵接受我們的cookies。如果您選擇繼續使用forex-pedia.com網站,我們將認為您接受我們的cookies。