通过专家顾问运行脚本 - 页 9

 

我有了我的纽扣!

现在,我将做一些造型设计。

 
onewithzachy:

嗨,达达斯。

1.尽力而为吧,EA的笑脸是不能点击的。

2.2.不要发布已编译的代码。编译的代码是有版权的材料,属于其所有者。mql4-mql5 .com属于MetaQuotes(MQ),MQ不支持侵犯版权。

1.你是什么意思?

当我的EA在图表上时,我点击笑脸,EA控制面板 打开--总是,当我点击一次 "X",FROWN或SMILE。

2.2.好的,删除了它--但它是免费的,也有演示版,所以有什么麻烦的呢?

而且我没有反编译它!我发布的是.ex4而不是.mq4!我没有OneClickTrading脚本的.mq4。

3.和4.无关紧要 - 我已经找到了我需要的东西!

 
Dadas:

1.你是什么意思?

当我的EA在图表上时,我点击笑脸,EA控制面板打开--总是,当我点击一次 "X"、皱眉或笑脸。

2.2.好的,删除了它--但它是免费的,也有演示版,所以有什么麻烦的呢?

而且我没有反编译它!我发布的是.ex4而不是.mq4!我没有OneClickTrading脚本的.mq4。

3.和4.无关紧要 - 我已经找到了我需要的东西!

嗨,达达斯。

1.你对第1条的看法是正确的。笑脸是硬编码在MT中的。我的EA在一个循环中工作,所以点击它不会打开属性 窗口。

2.2.它是免费的,没有源代码,而你说:"我一直试图找到一个免费的反编译器,但无法做到。 感谢帮助--也许你们能用这个文件做什么?" 。

3.3.你已经找到了,但你还在继续问,所以我回答了。

 
onewithzachy:

嗨,达达斯。

3.你已经在浩浩那里找到了,但你还一直问,所以我回答了。

不,我没有在你的浩浩中找到它!

我在这里找到了它:https://www.mql5.com/go?link=https://www.fx1.net/wiki/pmwiki.php/MT4GUI/MT4GUI

- 你一定错过了我之前的帖子。

而且它是有效的!!

也许在你那里也是这样,我不知道。

我找到的东西解释得很清楚,而这正是我所需要的。

现在,EA正在调用一些不同的脚本,这取决于情况。

它自动打开和关闭订单,或手动,在选择。

在需要时,它将禁用专家按钮。

我将进一步介绍各种功能的开/关按钮。

然后,在LotManagement关闭的情况下,用一个表格框输入Lot。

然后,也许我会把3个不同的EA放在一起,有一个开关选项。

最后,我将考虑把它变成一个独立的应用程序。

但这是一个漫长的过程,因为我还没有这个能力。

P.S. 我检查过了--你的ho ho和我发现的完全不同。BTW,我是在这个论坛上找到的!

 

嗨,伙计们。

现在我的EA看起来像这样。

你可以看到它正在工作。

但是,还没有完成。

 

如果有人正在寻找这一信息。

你甚至可以像这样从另一个EA中运行另一个EA。

#include <WinUser32.mqh>
#define MT4_WMCMD_REMOVE_EXPERT   33050

int start() {
if(ConditionsForOpeningMySecondEA==true) 
{

DisableExperts(); // when Experts enabled - disables Experts
RemoveEA();
DisableExperts(); // when Experts disabled - enables Experts
RunMyEA();

{
           }

void DisableExperts() // Emulates keyboard event for Ctrl+E
   {
   keybd_event(17, 0, 0, 0); // CTRL down
   keybd_event(69, 0, 0, 0); // E down
   keybd_event(69, 0, 2, 0); // E up
   keybd_event(17, 0, 2, 0); // CTRL up
   }

void RemoveEA()
   {
   PostMessageA(hwnd,WM_COMMAND,33050,1);
   }


void RunMyEA() { // Runs another EA with HOTKEY assigned
   keybd_event(18, 0, 0, 0); // ALT down
   keybd_event(69, 0, 0, 0); // E down
   keybd_event(69, 0, 2, 0); // E up
   keybd_event(18, 0, 2, 0); // ALT up
}

我使用这个,而且很有效。
 

BTW而不是

void DisableExperts() // Emulates keyboard event for Ctrl+E
   {
   keybd_event(17, 0, 0, 0); // CTRL down
   keybd_event(69, 0, 0, 0); // E down
   keybd_event(69, 0, 2, 0); // E up
   keybd_event(17, 0, 2, 0); // CTRL up
   }

使用

#include <WinUser32.mqh>
#import "user32.dll"
  int GetAncestor(int hWnd, int gaFlags);
#import

void DisableExperts() // Emulates keyboard event for Ctrl+E
   {
   int hwnd = GetAncestor(WindowHandle(Symbol(),Period()),2);
   PostMessageA(hwnd,WM_COMMAND,33020,1);
   }

PS ALT + E 不起作用

 
qjol:

BTW而不是

使用

PS ALT + E不会引起注意


Alt+E在默认情况下没有分配给任何东西。

你必须先把它分配给某个东西。

我刚刚进行了编辑,现在是正确的。

 
是的,效果很好,谢谢!
 

大家好。

感谢大家在这里做出的贡献。

我是编码新手,想创建一个处理脚本下单的EA,但我希望脚本能用热键执行。我使用的是MT4,对于如何实现这一点,有什么建议吗?在这个阶段,我不太清楚如何进行连接,以便使之成为现实。

非常欢迎你的建议!


提前感谢 :).