下载MetaTrader 5
要添加评论,请登录注册
您经常发表源代码吗?找出如何正确发表的方法!
connect y2k
178
connect y2k 2009.10.27 05:31 

盈利想法-->数学模型-->mt4指标-->ea。

将mt4指标改写成ea,需要编写许多与ea相关的代码。而这些代码,与“盈利想法”没有什么直接关系。由于每次都需要编写这些代码,因此本人将其单独编写成ea模板。有了ea模板,以后写ea就只需要把mt4指标改写到ea模板的Signal_OpenOrder()和Signal_CloseOrder()中。


ea_template.mq4

固定止损/止赢。允许交易数量翻倍(前次交易亏损,下次交易数量翻倍)。通过分组,控制翻倍。允许买卖信号互换。允许2个分析周期。未平定单只允许1个。

需要在Signal_OpenOrder()中,增加开仓的买/卖信号。


ea_template2.mq4

由平仓条件控制平仓。其它同上。

需要在Signal_OpenOrder()中,增加开仓的买/卖信号。

需要在Signal_CloseOrder()中,增加未平定单的平仓信号。

附加的文件:
Lester
11
Lester 2009.10.27 08:11  
不错的东西,谢谢lz无私分享
connect y2k
178
connect y2k 2009.10.27 10:52  
特别声明:

	如果因为本人编写的程序,而导致各位使用者在金钱、时间、精力、... ...上蒙受损失,本人不承担任何责任。


							20091027.16:51.y2k_connect.
tomyaani
160
tomyaani 2009.10.27 17:05  

老师,我尊称您为老师。因为是您帮我把思路实现为代码。虽然您是帮我没有涉及费用的问题,但是毕竟是我苦心思考的结果,即使不是绝顶好用的方法,您也应该在公布这本属于我的策略前征求一下我本人的意见 吧!

connect y2k
178
connect y2k 2009.10.27 17:48  
tomyaani 写道 >>

老师,我尊称您为老师。因为是您帮我把思路实现为代码。虽然您是帮我没有涉及费用的问题,但是毕竟是我苦心思考的结果,即使不是绝顶好用的方法,您也应该在公布这本属于我的策略前征求一下我本人的意见 吧!

未经你的允许,将ea_template3.mq4发表,本人非常抱歉!现已删除。


ea_template.mq4和ea_template2.mq4,虽然与ea_template3.mq4很相似,但它们并不是源于ea_template3.mq4。因此未删除。

ea_templaet2.mq4源于ea_template.mq4。而ea_template.mq4与ea_template3.mq4是相互独立的。


个人认为,“盈利想法”是最重要的东西。其它事物都是服务于“盈利想法”。这个东西,对其他人只能是起借鉴的作用。即使是花钱购买一个ea,也会因为与自己不相吻合,再经过一段时间后,盈利效果大幅下降。

connect y2k
178
connect y2k 2009.10.27 17:54  

个人认为,“交易数量翻倍”的功能不是一个好的方法。

由于初始本金限制了翻倍的次数,如果盈利次数的概率小于50%,最终的结果将是:赚小钱,亏大钱。

当然了,如果盈利次数的概率大于50%,最终的结果将是:赚大钱,亏小钱。

xfxyldj
172
xfxyldj 2009.10.27 19:53  

对于以上的模板有这样一个问题。

1、EA运行后,开了一单。

2、系统或者MT4故障,关闭了MT4软件

3、2分钟后再次开启MT4并加载同一个EA

(或者由于某些原因换了另外一台计算机挂EA)

疑问,这个EA模板是否能够继续按照原来的流程处理已经开过的那个订单?

connect y2k
178
connect y2k 2009.10.28 02:55  
xfxyldj 写道 >>

对于以上的模板有这样一个问题。

1、EA运行后,开了一单。

2、系统或者MT4故障,关闭了MT4软件

3、2分钟后再次开启MT4并加载同一个EA

(或者由于某些原因换了另外一台计算机挂EA)

疑问,这个EA模板是否能够继续按照原来的流程处理已经开过的那个订单?

不能。

ea_template.mq4 和 ea_template2.mq4 编写的目的,是通过mt4的ea测试平台对 “盈利想法” 进行定量检测。

能够想出 “盈利想法”,肯定对该方法的所受到的限制有清楚的认识。但是在真实数据中,是否真如自己所想?如果不用ea测试平台对其进行验证,心里就不确定。

ea_template.mq4的出发点,是用大的、固定的止损/止赢去过滤无效的买/卖信号。本方法源于macd外汇论坛中,对 “悟多” 先生 的 “均线法则” 进行分析后的总结。他的方法在GbpJpy_M15上,使用100点的止赢去过滤无效的买/卖信号。“悟多” 先生 “均线法则” 的交易记录

在分析 “均线法则”时,平均数小时就提出一个 “盈利想法” 。由于需要验证的 “盈利想法”过多,因此将几个ea进行汇总,就做成了ea_template.mq4。

xfxyldj
172
xfxyldj 2009.10.28 04:44  

不探讨你的模板的应对的模式,只是对于你的订单管理方法的一点探讨。

当然如果你的EA只是用于测试,而不用于实际交易,这个问题无所谓了。

对于订单管理,个人建议一定要用上OrderMagic()这个参数,很多问题用了这个参数相应的都好解决了。程序会简洁许多。

例如对于上面的那个问题,利用OrderMagic()和其他的一些订单参数的组合判断做成子函数可以解决。

个人觉得利用记录订单编号的方式来管理订单过于依赖计算机系统及MT4软件的稳定性了。


很早以前我也曾致力于EA模板的建设。不过后来放弃了。

因为我发现对于不同的交易类型程序的构架差异很大。

我发现编写一些通用的子函数更利于多种类型EA的构架。

connect y2k
178
connect y2k 2009.10.28 06:40  

是的。这2个ea模板只是用于测试,并没有考虑真实交易的问题。


模板ea_template3.mq4已经解决ea从故障中恢复后,自动识别服务器上未平定单,并能够继续按照ea流程进行处理的。

由于公布之前未曾与tomyaani沟通,因此后来删除了。那个模板,是从帮他编写的ea中,删除Singal_OpenOrder()后修改而成。

/
要添加评论,请登录注册