开发一个好的交易系统的思路在哪里? 新评论 [删除] 2009.11.26 16:56 其实好多人都在苦苦寻找自己的交易方式,但是结果都是以失败告终,是他们的方式错了吗?非也,是他们的辛苦程度不够吗?非也?那是为什么呢?主要是投资者不知道怎么总结自己的交易思路,自己的交易模式。也不知道交易的内涵到底是什么?本质是什么?自己缺少了分析,缺少了思考,更加缺少了探索,更重要的缺少的是一种特别执着的精神。 当别人说:指标具有滞后性,你也人云亦云,指标具有滞后性,但是你分析了指标为什么具有滞后性了吗?指标的原理是什么了吗?我们怎么规避了吗?比如:提高近期的权重等?等到你把任何指标的数学模型都建立起来,认认真真的仔细看几个晚上,认认真真的分析几个星期,再结合你的K图总结一下,周期变化,货币变化,看看指标到底是什么玩意儿,直到当你进入梦乡的时候,你的梦里还是你想象的指标,还是你想象的数学模型,我就不信你发现不了指标的内核。等到你大脑里面真正有指标的潜意识的时候,你就知道指标是不是真的滞后了,你就知道了怎么规避了。 当你研究了指标的之后,你再研究形态分析,方法如你研究指标的方法一样, 最后你开始研究基本面,基本面是一个很重要的课题。当你听别人说:基本面的消息大部分是假消息,或者是不可靠的,是的,金融学上不是说市场有效理论和市场无效理论了吗?但是你真正对一个财经消息消息认真思考了吗?你就把它背下来吧,对她里面的专业名词认真研究一下,认真琢磨一下,你琢磨的多了,你再结合你的K图观察一下,你就能得出了一个别人不知道的结论; 技术你也研究了,基本面你也研究了,那好,你再结合你的心里素质,资金状况进行试探性投资吧,看结果是怎么样的了? 好了,你的理论具备了,但是你也不能尝试去投资,因为你用的资金可是你的血汗钱啊,那么你再学习下EA的编程知识,把你的思路用程序来进行模拟一下,看你的思路到底在什么地方?你再去修正和改进,你总会达到完善的那一天的? 也许有人说:EA编写很难,其实你们错了?其实你只要知道交易的知识,和简单的计算机语言结构,函数的应用,那么很快你的一个简单的程序就写出来了。当然,更难的系统也许需要时间,需要摸索,但是你细心就行了,把自己经常用的模块收集起来,到时候直接调用就是了。比如:时间模块,下单模块,平仓模块,判断模块,平仓模块等等 当然,最后你学会的分析不仅仅是模块的研究,更重要的是你能很快看懂别人写的更加复杂的交易系统的思路,你能改进他们,为你所用。 也许你认为模块很复杂,很难理解,其实也很简单:我还是用一个例子来说明吧,以免你很枯燥的看完我写的内容: 这个是平仓的模块 void closeAllOrders(int type)//函数声明,你首先了解他是一个过程函数,就是说明函数仅仅按照你的命令做了一个动作.不返回.你可以用编译器去验证 { for(int c=0;c<OrdersTotal();c++)//在成交订单里面选择,包括挂单 { OrderSelect(c,SELECT_BY_POS,MODE_TRADES); //在成交的位置选择 if (OrderSymbol()==Symbol() && OrderComment()==Name_Expert && OrderType()==OP_BUY && type==0)//包括订单的类型,区分成交单是哪一个交易系统成交的.并且订单类型是买单 { OrderClose(OrderTicket(), OrderLots(),Bid,Slippage, White);//符合我的条件平仓 } if (OrderSymbol()==Symbol() && OrderComment()==Name_Expert && OrderType()==OP_SELL && type==1)//订单类型是卖单 { OrderClose(OrderTicket(), OrderLots(), Ask,Slippage, White);//符合条件平仓 } if (OrderSymbol()==Symbol() && OrderComment()==Name_Expert && OrderType() > 1) {OrderDelete(OrderTicket());//如果不是买单,也不是卖,我就删除挂单 } } } 好了,这个模块我给你分析和解释了,是不是就看起来很简单了,你把这个模块如果了解了,并且会应用了,那你就可以创新了.比如:我给你提出几个问题,你看能不能自己解答:1、如果我只平调买单我该怎么写?如果是卖单呢?2、我只删除挂单我怎么写?3、如果我什么都不处理呢?4、如果我平不掉订单怎么处理(这个是附加的题目)5,是不是我可以用在时间控制上面去修饰一下。6.。。。。。等等,就这一个简单的模块你可以变化出千奇百怪的题目来,这个是金融的灵活性,也是计算机的灵活性吧。 好了,不说了,能认真读完我写的人估计这个时候也晕头转向了,那我就不写了. 其实我已经总结了1000多个不同的模块,由于时间关系和我最近忙于开发游戏,就不暂时提供了,感兴趣的,想交流的可以联系:QQ:1031130500 编码帮助 编码帮助......我如何让指标过滤而不是警报? 10点3.mq4 [删除] 2009.11.27 07:30 #1 请问你成功了吗? eaf 2009.11.27 07:49 #2 要做出好的交易系统,首先取决于你的操盘水平,而不是编程水平. ea其实就是把你的操盘经验实现在计算机里而已,不需要很高的编程水平,初级的就可以了,你花这么多时间总结出的程序模块,其实一点用处都没有,还不如把时间花在提高自己的操作水平上.哈哈 chenhexin 2009.11.30 06:51 #3 挺有意思。有些道理。 topea 2009.12.13 10:23 #4 关键是量化盘整和单边 盘整时候休息,单边时候顺势做单 嘿嘿 yyy999 2009.12.20 03:12 #5 写的不错,要做到这一点,金融和编程两者的知识都不能少 [删除] 2009.12.28 05:00 #6 你可不可以为我而做 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
其实好多人都在苦苦寻找自己的交易方式,但是结果都是以失败告终,是他们的方式错了吗?非也,是他们的辛苦程度不够吗?非也?那是为什么呢?主要是投资者不知道怎么总结自己的交易思路,自己的交易模式。也不知道交易的内涵到底是什么?本质是什么?自己缺少了分析,缺少了思考,更加缺少了探索,更重要的缺少的是一种特别执着的精神。
当别人说:指标具有滞后性,你也人云亦云,指标具有滞后性,但是你分析了指标为什么具有滞后性了吗?指标的原理是什么了吗?我们怎么规避了吗?比如:提高近期的权重等?等到你把任何指标的数学模型都建立起来,认认真真的仔细看几个晚上,认认真真的分析几个星期,再结合你的K图总结一下,周期变化,货币变化,看看指标到底是什么玩意儿,直到当你进入梦乡的时候,你的梦里还是你想象的指标,还是你想象的数学模型,我就不信你发现不了指标的内核。等到你大脑里面真正有指标的潜意识的时候,你就知道指标是不是真的滞后了,你就知道了怎么规避了。
当你研究了指标的之后,你再研究形态分析,方法如你研究指标的方法一样,
最后你开始研究基本面,基本面是一个很重要的课题。当你听别人说:基本面的消息大部分是假消息,或者是不可靠的,是的,金融学上不是说市场有效理论和市场无效理论了吗?但是你真正对一个财经消息消息认真思考了吗?你就把它背下来吧,对她里面的专业名词认真研究一下,认真琢磨一下,你琢磨的多了,你再结合你的K图观察一下,你就能得出了一个别人不知道的结论;
技术你也研究了,基本面你也研究了,那好,你再结合你的心里素质,资金状况进行试探性投资吧,看结果是怎么样的了?
好了,你的理论具备了,但是你也不能尝试去投资,因为你用的资金可是你的血汗钱啊,那么你再学习下EA的编程知识,把你的思路用程序来进行模拟一下,看你的思路到底在什么地方?你再去修正和改进,你总会达到完善的那一天的?
也许有人说:EA编写很难,其实你们错了?其实你只要知道交易的知识,和简单的计算机语言结构,函数的应用,那么很快你的一个简单的程序就写出来了。当然,更难的系统也许需要时间,需要摸索,但是你细心就行了,把自己经常用的模块收集起来,到时候直接调用就是了。比如:时间模块,下单模块,平仓模块,判断模块,平仓模块等等
当然,最后你学会的分析不仅仅是模块的研究,更重要的是你能很快看懂别人写的更加复杂的交易系统的思路,你能改进他们,为你所用。
也许你认为模块很复杂,很难理解,其实也很简单:我还是用一个例子来说明吧,以免你很枯燥的看完我写的内容:
这个是平仓的模块
void closeAllOrders(int type)//函数声明,你首先了解他是一个过程函数,就是说明函数仅仅按照你的命令做了一个动作.不返回.你可以用编译器去验证
{
for(int c=0;c<OrdersTotal();c++)//在成交订单里面选择,包括挂单
{
OrderSelect(c,SELECT_BY_POS,MODE_TRADES); //在成交的位置选择
if (OrderSymbol()==Symbol() && OrderComment()==Name_Expert && OrderType()==OP_BUY && type==0)//包括订单的类型,区分成交单是哪一个交易系统成交的.并且订单类型是买单
{
OrderClose(OrderTicket(), OrderLots(),Bid,Slippage, White);//符合我的条件平仓
}
if (OrderSymbol()==Symbol() && OrderComment()==Name_Expert && OrderType()==OP_SELL && type==1)//订单类型是卖单
{
OrderClose(OrderTicket(), OrderLots(), Ask,Slippage, White);//符合条件平仓
}
if (OrderSymbol()==Symbol() && OrderComment()==Name_Expert && OrderType() > 1) {OrderDelete(OrderTicket());//如果不是买单,也不是卖,我就删除挂单
}
}
}
好了,这个模块我给你分析和解释了,是不是就看起来很简单了,你把这个模块如果了解了,并且会应用了,那你就可以创新了.比如:我给你提出几个问题,你看能不能自己解答:1、如果我只平调买单我该怎么写?如果是卖单呢?2、我只删除挂单我怎么写?3、如果我什么都不处理呢?4、如果我平不掉订单怎么处理(这个是附加的题目)5,是不是我可以用在时间控制上面去修饰一下。6.。。。。。等等,就这一个简单的模块你可以变化出千奇百怪的题目来,这个是金融的灵活性,也是计算机的灵活性吧。
好了,不说了,能认真读完我写的人估计这个时候也晕头转向了,那我就不写了.
其实我已经总结了1000多个不同的模块,由于时间关系和我最近忙于开发游戏,就不暂时提供了,感兴趣的,想交流的可以联系:QQ:1031130500