[分析咖]求教:自编EA无法在新版MT4继续使用的问题。
求教:自编EA无法在新版MT4继续使用的问题。 交易商升级新版MT4是646版本,支持EA交易的。新版MT4中可以看到自带多种交易商自己的EA都能正常运行。 我的自编EA参数不会设错,编译后显示0错误。升级了MT4新版后,原本能在旧版MT4使用的自编EA,按照正确路径放到新版MT4却不知道为什么不能运行使用。 打开新版MT4-----右上角文件-----打开数据文件夹-----MQL4-----Experts-----把EA放进去-----重启新版MT4。却不会产生EA的ex4运行文件,造成该EA没办法在新版MT4上使用。 询问了交易商客户经理好几个人已经多天,他们都不懂或不知道怎样解决。 请教论坛知道怎样弄的汇友,如何解决EA在新版MT4中继续使用?
顺便鸣谢本坛朋友!原本我在旧版MT4使用的双线MACD指标,换了升级新版MT4后也与自编EA一样不能使用。 多谢韬客论坛汇友给了我能在新版MT4运行的双线MACD指标脚本。
2楼
说实话,这问题只有把e'a上传才能看出问题。但是估计那是不可能的。之前我遇到的类似问题是把e'a中文文改成英文的。另外,新版的文件存储的位置好像也变了。你另存一下。别的也是空谈了。
要有能亏损的勇气,才能有盈利的空间。
3楼
说实话,这问题只有把e'a上传才能看出问题。但是估计那是不可能的。之前我遇到的类似问题是把e'a中文文改成英文的。另外,新版的文件存储的位置好像也变了。你另存一下。别的也是空谈了。
要有能亏损的勇气,才能有盈利的空间。
4楼
在旧版本生成ex4文件,拷贝过去就行,要多试几次,我也是装了新版mt4出现这个问题,多试几次就可以,文件安装路径没错
韬客社区www.talkfx.co
5楼
韬客社区www.talkfx.co
6楼
我自己还是用的旧版本mt4,这次是给朋友挂ea,他是挂在vps上,刚开始也是不行,智能这栏出不来自制ea,看了下文件夹,没生成,又在老版里挂了一次,复制到experts就行了
韬客社区www.talkfx.co
发表于:2014-05-28 13:54只看该作者
7楼
本帖最后由 macro 于 2014-5-28 22:02 编辑
应该是存放EA的路径变了。你随便新建一个EA,保存时看看路径变到哪了。
另外,.mq4源文件要用mq编辑器打开、编译之后才有.ex4文件。
韬客社区www.talkfx.co
8楼
韬客社区www.talkfx.co
9楼
韬客社区www.talkfx.co
发表于:2014-05-28 14:16只看该作者
10楼
能出现笑脸就是能用了,剩下就是设置里的打勾去勾的事情了
韬客社区www.talkfx.co
12楼
韬客社区www.talkfx.co
13楼
韬客社区www.talkfx.co
发表于:2014-05-29 01:52只看该作者
14楼
韬客社区www.talkfx.co
15楼
韬客社区www.talkfx.co
发表于:2014-05-29 03:03只看该作者
16楼
lz 可以在 mt4 里的 "显示"->"终端"->"EA交易"那里的 log 看下 ea 是 如何加载失败. 你可以在 build 600 后环境编译下面简单的 ea 代码, 看是否能出现同样的大字显示, 如果可以表示你在操作和加载 ea 上的流程是正确的, 问题应该是在你原来 ea 的代码写作上, 这就需要进一步看下代码那里有相容问题了.
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
DisplayTestMessage();
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
ObjectDelete("Test");
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
DisplayTestMessage();
}
//+------------------------------------------------------------------+
void DisplayTestMessage()
{
SetLabel("Test","EA 在 MT4 build 600 后版本测试",50,50,"Arial",30,Aqua);
}
void SetLabel(string nm,string tx,int xd,int yd,string fn,int fs,color ct)
{
if(ObjectFind(nm)<0)
ObjectCreate(nm,OBJ_LABEL,0,0,0); //--- create the Label object
ObjectSet(nm,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet(nm,OBJPROP_XDISTANCE,xd);
ObjectSet(nm,OBJPROP_YDISTANCE,yd);
ObjectSet(nm,OBJPROP_COLOR,ct);
ObjectSetText(nm,tx,fs,fn,ct);
}
eurusdh1.png
韬客社区www.talkfx.co
17楼
韬客社区www.talkfx.co
18楼
我将EA删除技术平仓的数据内容代码 试了一下就可以在新版600 MT4中运行了 重新加上技术平仓又不行 所以只能缺少技术平仓代码。 遗憾的是没有了技术平仓。
韬客社区www.talkfx.co