如果你想学习外汇程序化EA入门,希望这篇文章能帮到你!

资讯 1个月前 admin
24 0 0
EA的入门并不困难,从语法和复杂度来说,大约相当于大学新生要学习一门编程语言的入门级。比如C语言入门,或者Python入门。
对于入门级的语言,无论是否有过编程经验,都能够并不困难地学会基本的语法,实现基本的操作。事实上,MT4所使用的MQL编程语言,正几乎类同于C语言。这是所有编程语言的根基。C语言是面向过程的语言,适合入门学习。这个时候,你会后悔一下,当初最讨厌的编程课,怎么不努力一点呢?如果你有意愿,现在从头学习也来得及。
当MT4升级到MT5的时候,MT5被视为下一代功能强大的金融交易软件,它使用的是类似于C++面向对象的语言。面向对象的语言是工业级软件开发的必须,主流的Java和C#语言均是面向对象的开发模式。不过,这不妨碍基于面向过程的C语言在MQL中的应用。
鉴于MT4这一古老软件的使用依然处于绝对的主流地位(好比微软的XP和Window7系统在桌面操作系统中的欢迎度),目前在外汇领域的程序化交易依然以MT4的MQL 语言为主。你不必怀疑它的复杂性,只要有哪怕一些编程的概念,你就可以学会它。
在编程语言的学习上,C++和Java的入门难度相对比较高。所以,当你选择进入程序化交易编程的时候,我更愿意推荐先从简单的MT4开始。它有助于树立信心,及早进入交易的核心。毕竟,编程语言只是工具,我们最终要依靠工具的力量来深入理解量化交易。
外汇程序化交易入门的困难之处,在于参考资料的极度匮乏。在编程领域,社区的力量非常强大,多数开发语言都有丰富的教程、示例、源码供参考学习。很可惜的是,国内中文领域关于MT4智能交易开发的教程少之又少。你需要有很强的搜索引擎使用能力,才能在纷乱而层次不齐的教程中,找到一些并不完整的学习资料。
在我自学九个月的MT4编程过程中,走过不少弯路,甚至感受到困难重重。当我把基础的编程终于弄通之后,才发现关于MT4 EA的开发,并不复杂,关键在于从纷繁复杂的知识点中找到核心内容,予以掌握。
EA编程的核心在于开仓、加仓、减仓和平仓。围绕这些操作,需要学习语法、画图、统计、时间、文件操作等等。如果把知识面铺开,那么程序化是一个很复杂的体系。每件事情都需要一步一步来,有了基础,才会有进一步研究的可能。
Ordersend开仓函数,是最先需要掌握的一个核心入门知识。我甚至不建议你从复杂的语法学习开始,它们会在你需要学习的时候接触到。
我需要告诉你,MT4的开仓函数ordersend有11个参数,你需要完全熟练地理解它们。理解它们大有裨益,通过它们的发散衍升,你将陆续接触到各种必须掌握的知识。关键是,你会明白每一个学习点,将如何提升你在交易回测中的表现。
你只需要使用仅仅十句代码,就能够看到订单是如何在MT4中开仓,在回测中你将为此感到兴奋。这意味着你已经踏入程序化交易的大门,迎接你的是一个自动化执行你思想的系统。
当你了解到开仓以后,你将迫切地想了解如何平仓。在这个过程中,你会不断接触到For循环函数。不用担心,这是一切编程语言的根基,每个人都能学得会。
开仓和平仓学会后,你将好奇如何操作特定的订单。当一系列的订单出现后,如何区分订单、选择订单,是必须掌握的知识。它是EA编程的核心知识。MT4已经为我们提供了orderselect函数,以及一个Magic魔术码,供我们自由定义和选择不同条件下的开仓订单。
当进行到这一步的时候,你应该感到很有感觉了。你能体会到如何精确地选取每一笔订单,定义它的动作。
最常见的动作包括加仓。你会自然而然地想到,间隔多少距离进行加仓。这时候,你就会想到如何去判断K线的价格与此前价格之间的变动。MT4为你提供了ordercloseprice(平仓价格)等一系列的变量,让你方便地获取到特定代码的价差变化。
学会了加仓和减仓行为后,更为复杂的订单组合功能将为你敞开了大门。你会思考如何利用技术指标,比如MACD、均线、斐波那契黄金分割、布林带、ATR、动量指标等一系列的判定指标,来衡量你的进场点和出场点。你会发现,你平时完全不太懂的技术指标,终于能依靠程序化的使用,而体会到其好处。
只需要两个星期,你就可以学会这些重要的EA基础知识。

相关文章

暂无评论

暂无评论...