自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 EA开发系列---回测

对于EA来说,比较重要的一点是验证其有效性。验证其有效性的最好方法就是回测。回测是指,使用一段比较长的历史时期内的行情数据来验证EA性能的方法。那么我们开发出来的EA是否能用就必须得经过回测的验证。这一章,我们来看看如何使用MT5进行EA的回测。一些准备前面我们开发了一个名叫FirstEA的EA,我们在这个基础上添加一些功能:1、确保前一个订单没有完结,不再进行下一次交易2、加入一些比较初级的盈亏比的概念,我们设定为1:1.5需要注意的是:这一节我仍将提供完整的实例代码,但是,这个代码仍然是一个

2021-04-27 15:35:52 1231

原创 EA开发系列---技术指标的使用

在MT5的体系里,提供了39种技术指标(包括一种自定义类型),他们对应了不同的技术指标函数:函数描述iAC加速震荡指标iAD累积/分配iADX平均定向指数iADXWilder韦尔达平均定向指数iAlligator鳄鱼指标iAMA适合的移动平均数iAO动量震荡指标iATR平均真实区域iBearsPower熊市iBands布林带iBullsPower牛市iCCI商品通道指数iChaikin蔡金

2021-09-27 20:20:48 1196

原创 EA开发系列--订单处理

MT5的订单分为:成交,挂单,已完成等状态,他们对应不同的查询接口。这里介绍这些接口的使用。

2021-09-24 08:48:17 1754

原创 积木开发系列----装饰工具箱(ToolBox)

所有的Block都被分类归纳在ToolBox中。Blockly为工具箱定义的默认的风格,如下所示:这里我们试着来改改这个风格,让他变个样子。

2021-09-11 10:14:03 518

原创 积木开发系列----自定义Block的过程

基本过程Blockly中提供了很多预先定义好的小积木,但当你涉及具体的领域的时候,这些预定义好的积木可能不能满足你的需求,这样,就需要定义自己独特的小积木来满足需求了。这一节,将会添加一个计算字符串长度的小积木来演示整个过程。自定义Block的流程包括以下三个步骤:1、定义积木:Blockly是可以通过外观来判断Block作用以及行为,这里就定义Block外观的步骤。2、添加到工具箱中:定义好了以后需要添加到工具箱中以便后续引用。3、为这个积木编写一段翻译代码,这段代码用于把BLOCK翻译成为响应

2021-09-06 15:41:05 726

原创 EA开发系列--交易品种信息查询

主要内容EA主要用于自动化交易,涉及到交易,你就需要了解当前账户的信息,交易品种的市场信息,以及订单的相关信息等。这里我们就介绍如何获取这些信息市场信息–SymbolInfo市场信息是与某一个交易品种紧密相关的,这些信息分为三大类:整型值,双精度值,字符串类型三种,分别对应三种函数,每一种函数分为两种原型。获取整型属性值的函数long SymbolInfoInteger( string name, // 交易品种 ENUM_SYMB

2021-09-04 12:55:01 587

原创 积木开发系列----Workspace的一些设定细节

内容概要在“积木开发系列----Blockly起步”中简单的Blockly的Workspace引入并显示到网页中。在这个代码中我们对Workspace做了简单的设定,包括简单样式以及Workspace的位置等等。这里说一说如何对Workspace进行一些更细节化的设定。Workspace注入属性设定想要在网页中显示Blockly你需要调用Blcokly的注入方法。例如:var primaryWorkspace = Blockly.inject( 'div_1',//容器ID {//注入

2021-09-03 18:24:35 354

原创 积木开发系列----Blockly初体验

介绍这一节将会使用Blockly来创建一个最基础的可视化编程环境。这个应用的网页将会包含一个目前Blockly支持的所有Block的Workspace、实时生成JavaScript代码。其中,Workspace中包含:支持所有Blocks的工具箱,编程区域、支持一些基本操作的上下文菜单等等。这里按照如下的步骤进行:1、集成Blockly的API库2、绘制HTML布局3、配置Workspace的基础属性,网页中注入Blockly4、编写实时代码翻译代码完成了这4个步骤,你会得到如下所示的页面

2021-09-01 14:31:40 1039 2

原创 积木开发系列----Blockly起步

写在前面的话这个系列的文章写的是是基于Google Blockly API来实现WEB端的可视化编程工具。这套API是基于JAVA SCRIPT开发的,使用简单功能强大。笔者也在一步一步的在学习,希望和对此感兴趣的博友一起学习进步。Blockly已经被应用到很多场景中。比如,适合少儿编程的scratch以及适合少儿学习硬件编程,由微软推出的Micro:Bit中。而scratch已经被许多少儿编程教育机构使用,比如核桃编程。Blockly 介绍Blockly 是一个可视化编程工具库,它可以加载到 We

2021-08-29 19:08:32 628

原创 EA开发系列--交易以及交易相关的回调函数

概要EA在绝大多数场景下被用作自动化交易,因此,交易也就是EA的核心内容,这一节,介绍如何交易以及与交易相关的回调函数。这里包括两部分内容:1、交易订单处理:挂单,现价单,止盈,止损等设定2、OnTradeTransaction函数3、历史订单处理交易订单处理在EA中,所有的订单处理都统一到OrderSend函数中完成,包括:现价,限价,止盈/止损设置等动作。它的原型如下:bool OrderSend( MqlTradeRequest& request, // 订

2021-08-29 10:34:37 868

原创 EA开发系列---EA初始化以及Deinit事件

前面的文章中,写了一个比较简单的EA(专家),里面涉及了一些MT5中常用的方法,也展示了EA的大概框架。从这里开始将会以及那些内容为基础进行逐步细化,让你了解MQL5的细节内容。回调函数以及机制 EA是不能独立运行的,它必须依赖图表,EA就像一个可以热插拔的插件一样被运行在某一个图表上。而图表上发生任何的变化,发生的任何操作等会通过特定的回调函数(或许可以称之为钩子)通知EA,这样EA就可以在特定的时机对特定的事件做出反应。下面介绍一些比较重要的回调函数以及相关机制:初始化–OnInit...

2021-08-17 11:41:18 839

原创 EA开发系列---EA的编译运行

书接上文,这一节我们将介绍MQL5开发好的EA代码的编译、运行的相关知识。MQL5代码编译和JAVA、C/C++等高级语言一样,MQL5不是解释运行的,它需要经过编译才能再MT5环境中运行。对于这一点对于脚本、指标等MT5的其他元素是一样的。编译过程完成后,会生成一个和EA源代码同名,扩展名为ext5的文件,在MT5中"ex5"文件才是可以被识别和运行的文件。上文中,我们建立了一个名叫“FirstEA.mql5”的EA源码文件,那么经过编译后会在mql5文件相同的目录下生成一个扩展名为ex5,文件名为

2021-04-13 23:25:48 1533 1

原创 EA开发系列---开发第一个交易EA

涉及的内容现在我们来通过MT5自带的MQL5编辑器来编写一个简单的交易EA。这个EA我们把它命名为“FirstEA”,它实现如下功能:1、初始化的时候打印一些信息到MT5终端2、每一次报价的时候判断前一个BAR的均线值(均线周期参数通过EA的输入参数设定)3、前一个已经收盘的BAR穿越了均线就执行开仓操作这个代码基本完成以上的内容。这些代码都已经编译通过,喜欢的画话可以直接COPY来用创建EA上图中包括了创建的基本步骤,以后按照涉及的内容逐步细化。代码展示#property copyri

2021-03-19 16:52:07 1011 2

原创 EA开发系列---写在前面的话

EA(Expert Advisors)是基于MQL语言开发的自动化交易程序,我首次解除MQL语言是MQL4.0版本,这一些列文章则将会基于MQL5.0演示如何开发一个EA。但是由于MQL5相较于MQL4来说有了非常大的变化,有比较多的系统函数并不相互兼容,但是总体机制仍然兼容。开发EA将会使用MetaEditor这个IDE,它已经集成在MT4/5交易客户端里,当你完成MT5的安装后你同时也会拥有这个IDE只需要启动它即可,入口如下图所示:...

2021-03-17 16:41:43 316 2

翻译 MT5学习笔记:语法篇

        对于语法而言,与C/C++类似,但MQL5没有地址运算、没有GOTO操作、不能定义匿名枚举类型、不支持多层继承层次。这一节介绍注解、标识符以及保留字等相关内容。注解多行(Multi-line)注解以“/*”开始“*/”结束。这样的注解是不能被嵌套的。单行(Single-line)注解以“//”开头,以及换行符为结束。单行注解是可以嵌套在其他多行注解里。例如://...

2018-10-22 11:42:05 2486

翻译 MT5学习笔记:概念篇

            MetaQuotes Language(MQL5)是一种高级语言,这门语言是为了开发技术指标、交易机器人等用途开发,以便实现自动化交易的目的。MQL5语法非常接近C++,程序员能够在面向对象(OOP)风格中开发应用程序。            除了MQL5语言之外,交易平台包还包括MetaEditor IDE,它带有一些代码辅助工具,例如模板、代码片段、调试(Debug...

2018-10-15 10:32:06 3201

原创 Android4.2 系统服务系列之窗口服务---初始化

窗口管理服务由SystemServer进程启动并管理。下面代码所示:Slog.i(TAG, "Window Manager");wm = WindowManagerService.main(context,power, display, inputManager,                    uiHandler, wmHandler,

2012-12-26 21:39:55 1304

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除