[讨论]MT4自动交易
我在大学里学的应用物理,偶然和外汇交易结缘,一开始觉得赚钱真是太容易了。不是吗,闭着眼睛开单和关单,胜率就接近50%。在这个基础上再稍微动点脑筋,应该就能盈利了。
可惜事与愿违,一连持续亏了几千美元。
期间用到MT4,感叹其功能的强大,特别是可以自己编写自动交易程序,觉得这是实现财务自由的终极方式。有大学里学的C语言和汇编的基础,MQL真的非常容易上手。加上MT4提供了大量的交易函数,相当容易地把自己的交易思想变成了EA。可惜对外汇理解不是很深,我那些简单的思路都无法实现长期盈利。慢慢地对外汇失去了信心,觉得汇率的变动根本就是布朗运动,没法预测的。我们拿EUR/USD的K线图来交易,不如拿空气中一颗灰尘的运动轨迹来交易,还是三维的,可能更有乐趣。
所以我开这个贴的目的就是想给各位觉得自己的交易系统不错的人,快速地把你的系统变成EA,然后测试一遍,如果不赚钱,就赶紧换系统或者洗手不干吧。
发表于:2012-11-15 13:02只看该作者
2楼
哦!原来MT4的功能主要有这个,难怪那些人说MT4是外汇交易的主流方式。
韬客社区www.talkfx.co
3楼
请把你的交易思路告诉我,我来把它变成自动交易系统。
如果不盈利,你可以不用白费功夫,节省一两年的时间,并且不用浪费交易资金。
如果盈利,你可以实现财务自由了。只要打开电脑连上网就可以自动交易,你可以背上小包,四处旅游了。
智慧,理性,毅力成就伟大的事业。
发表于:2012-11-15 13:23只看该作者
4楼
找到高人了,楼主可以帮忙写一段代码吗。
我也想弄个EA。但是,对于加仓不会写。
当当前K线的收盘价,突破我开仓那根K线的最高价时加仓。
如果还有K线的收盘价突破加仓的那根K线的最高价,继续加仓。
谢谢楼主!
韬客社区www.talkfx.co
发表于:2012-11-15 13:40只看该作者
5楼
放弃吧,扎实学点分析技术,比什么都强。
TK学习区,很多这样的课程。为何缘木求鱼?
EA系统不是一人之力能完成的,是个系统,需要多个人去执行。我并不否定EA。
TK上交易技术好的,没听他们说过用EA能长期稳定盈利的。
编写个指标能提供报警,就不错了。
过来人,说点感受。
6楼
智慧,理性,毅力成就伟大的事业。
发表于:2012-11-15 23:54只看该作者
7楼
韬客社区www.talkfx.co
发表于:2012-11-16 00:17只看该作者
8楼
求教楼主:能否帮忙写这样一个代码:不管开仓,开仓手动。持仓后以某根均线为平仓条件,价格低于此均线平仓。均线在持仓过程中可以调节。使用各个周期,小时,日等。比如一小时K的60周期。
发表于:2012-11-16 01:01只看该作者
9楼
懂EA的人,,,要多认识一大步。对于交易。
jobfans(市场分析)chwee(善良)dmjcwy(诚恳)
10楼
智慧,理性,毅力成就伟大的事业。
11楼
发表于:2012-11-17 13:57只看该作者
13楼
如果你编程厉害,倒可以换个收入方式,就是帮别人编写指标代码就可以了。 EA,翻译成---智能交易----就有歧义。我理解应该是-----自动机械交易。 不要在牛角尖里。如果你能遍,就编这个指标吧,国内,国外的软件都行。。。。一条线就是一个交易触发信号了。。。。
君子终日乾乾,夕惕若厉
同体大悲,施乐会网站
14楼
智慧,理性,毅力成就伟大的事业。
发表于:2012-11-19 12:34只看该作者
15楼
我觉得不确定是EA不能成为主流的。
一般都要3 到4层过滤 EA很难编写到把所有都过滤下来。
更何况还有一部分得凭借盘感操作。
完善方案+修复bug=哗哗的利润
发表于:2012-11-19 12:52只看该作者
16楼
我还是学艺不精,用楼主帮我写的,再加上自己的开仓条件编完。
不能运行,哈哈,看来还需要继续学习。
韬客社区www.talkfx.co
发表于:2012-11-19 13:10只看该作者
17楼
我只想询问一下楼主,一个非计算机专业的本科毕业生,要学会MQL语言,大概需要多少时间
韬客社区www.talkfx.co
发表于:2012-11-19 13:10只看该作者
18楼
我只想询问一下楼主,一个非计算机专业的本科毕业生,要学会MQL语言,大概需要多少时间
韬客社区www.talkfx.co
发表于:2012-11-19 13:58只看该作者
19楼
韬客社区www.talkfx.co
21楼
上面写的那段只是把编程思路简单写了一下,没有调试。
下面这段是经过测试的。
static int iCheckPoint=0,iOpenTime,OkToAdd;
static double iHighPoint;
if(OrdersTotal()==0) CheckForOpen();
else if(OrdersTotal()<3) CheckForAdd();
void CheckForOpen()
{
if(...)OrderSend(Symbol(),OP_BUY,...);
if(maShort1iOpenTime+Period()*60)&&iCheckPoint==0)
{
Print("TimeCurrent=",TimeCurrent()," iOpenTime=",iOpenTime);
iHighPoint=High[1];
iCheckPoint=1;
OkToAdd=1;
}
if(OrderType()==OP_BUY&&Close[1]>iHighPoint&&OkToAdd==1)
{
OrderSend(...);
iOpenTime=TimeCurrent();
iCheckPoint=0;
OkToAdd=0;
}
if(OrderType()==OP_SELL&&Close[1]