今天中文社区有人要爬MQL5的网站,要和其做的图表一样,这里写上原图和我画的图,代码就不上了~ 以下是我的图片 成长.png 结余.png 净值.png 表格没有做,回归的直线没有做,继续加油!
开发MQL5程序之前,让我们想花几分钟时间,了解一下MQL5的程序结构。 所有MQL5程序,具有相同的基本结构。 顶部,是预处理声明;接着是输入变量和全局变量。最后是函数,类,以及定义的程序处理器。 # 预处理声明 让我们从#property开始吧,几乎所有MQL5内我们都见得到。 可以使用MQL5向导创建程序,link,version属性会指定插入。我们可以手动添加 description属性。这些将会展示在EA属性对话框内的常用选项卡内。当你需要分发程序时,这个挺有用的。 #include <Trade.mqh> #define "Trade.mqh" 第一种,包含在中括号内,编译器会搜寻默认的include目录,也就是 、MQL5\Include子目录。
需要特别留意的是上方加法中,整型和double型相加,结果为double型。乘法的方式也是一样的。这个就是隐式数据转换。
Continued # 输入变量 Input Variables 输入变量是MQL5中仅有的,可供用户修改数值的变量。这些变量可由交易配置,指示器配置,止损收益配置等等组成。 MQL5遵循了这一“优秀设计”! 不过MQL4的用户可能不填习惯了,因为MQL4的局部变量,无论定义在函数的那个地方,函数体内均有效!这个不同之处,希望大家清楚。 # 预定义变量 Predefined Variables MQL5内有许多预定义的变量,可供全局使用。这些变量有个共同点,是以下划线开头。这些变量在程序内到处都是,可是程序依然那么好读。 预先定义变量的值在MQL5程序启动之前通过客户端建立,预先定义变量是不变的,也不会通过MQL5程序转变。例外是,特殊变量_LastError,通过ResetLastError函数重设至0。 _StopFlag 停止标记程序 _Symbol 当前图表的交易品种名称 _UninitReason 阻止初始化原因代码 _IsX64 _IsX64变量可以找出运行MQL5
MQL5的几种数据类型。 # 整型 integer type 整数,很好理解。就是自然数,有正有负。计算机如何表示呢,就是几个字节存储空间。 MQL5也提供了专门的函数 StringConcatenate() 用于连接多个字符串,效果是一样的。 这是MQL5独有的哦。顾名思义,就是用来存颜色值的。颜色值可以是预定义好的颜色常量,RGB值,或者十六进制值。 巧了,这个独门秘技,在MQL5程序内用的超级多。 翻阅全部的色值常量,参见MQL5手册。 下面是一些简单的例子。 MQL5有一些预定义好的时间日期常量。 __DATE__ 常量返回编译时日期。这与上例代码中 D'',返回相同的值。
MQL5也提供了许多内置函数,从简单的获取订单信息,到复杂的数学运算,都可信手拈来,直接使用。 好比积木,函数精简为一个一个独立的积木块,然后我们使用程序,将独立的积木块搭建成复杂的结构。 MQL5程序中,数组和结构体,经常用到引用传递reference。 下面的例子,我们引用传递一个结构体给系统函数SymbolInfoTick()。 MQL5函数也可使用重载。说白话就是,同一个函数名,参数不同,写两次。你用的时候,编译器根据传入的参数匹配相应的函数。
【CPU执行周期了解下】 MQL5中提供了3中循环方式,while, do - while, for。 ## while语句 这是MQL内最简单的循环句子。判断条件成立,一直执行下去。
MQL5中增加的一个重要特性就是面向对象。面向对象编程提倡代码的重用,对用户隐藏无意义的接口细节。这位灵活创建大型的应用奠定了基础。 面向对象编程的信条,是属性的抽象化。
MQL5的二位数组原理是一样的。 double myDimension[3][3]; myDimension[0][1] = 1.35; 声明一个3行3列的元素。并对其[0][1]元素进行赋值。 MQL5给我们提供了ArraySize函数,用于获取数组的长度。
MQL5中有三个条件判断语句:if - else,三目操作符,和switch - case语句。 ## if语句 前面章节其实我们已经介绍过了,程序内最常用。if语句内可包含许多业务逻辑。
MQL5自然都设计好了。 { month = 1, twoMonths, // 2 quarter, // 3 halfYear = 6, year = 12, }; 上面这个例子,是MQL5 MQL5内有一些预定义的结构体,我们编程中用的较多。这样我们就不用老去创建新的结构体了。但有一条,用那些预定义的机构提之前,先得记清楚,它们是怎么工作的。 MQL5预定义的结构体,因为在交易中经常使用。比如服务返回的交易数据结构。MqlTick结构存储了最新时间,价格,和当前最后价格的交易量。
更多应用您可以在MQL5参考手册内阅读查看。 # 派生类 Derived Classes 面向对象还有一个非常有用的特性就是继承。面向兑现公众,我们可以使用一个类作为模板,创建另一个类。
啦啦啦啦啦 使用教程:https://www.sohu.com/a/157194493_776217 》》》》》》》》》》》》》》》》》》》》》》》》》》》 这是我在mql5网站上卖的EA,有兴趣的可以自己下载测试一下
Crystal, Elixir, Emacs Lisp, Forth, Hack, Icon, Io, J#, JScript, Korn shell, Ladder Logic, LPC, Modula-2, MQL5
, Erlang, Forth, Groovy, Hack, Icon, IDL, Io, J, J#, LabVIEW, Ladder Logic, LiveCode, ML, Modula-2, MQL5
CHILL, CL (OS/400), Clipper, CLIPS, Crystal, EXEC, Icon, IDL, J#, Ladder Logic, Lasso, Logo, ML, MOO, MQL5
, Erlang, Forth, Groovy, Hack, Icon, IDL, Io, J, J#, LabVIEW, Ladder Logic, LiveCode, ML, Modula-2, MQL5
Forth, Hack, Ioke, LabVIEW, Ladder Logic, Lasso, LiveCode, LPC, M4, Max/MSP, MDX, MEL, Modula-2, MOO, MQL5
Awk、B4X、CLIPS、Clojure、D、Eiffel、Elm、F#、Forth、Groovy、Hack、Icon、Inform、Io、J、JScript、Logo、Modula-2、Mojo、MQL5
B4X、Caml、CLIPS、Clojure、D、Elm、F#、Forth、Groovy、Hack、Icon、Inform、Io、J、JScript、LabVIEW、Logo、Modula-2、Mojo、MQL5