「java实现ea交易」ea交易系统编写
今天给各位分享java实现ea交易的知识,其中也会对ea交易系统编写进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、如何编写简单的EA 交易和自定义指标
- 2、EA里如何体现 JAVA 继承
- 3、如何编写简单的EA 交易和自定义指标?
- 4、个人投资者如何安装和使用EA智能交易
- 5、外汇EA怎么编辑?一般要注意哪些?用什么软件写??谢谢!
- 6、MQL5学习手记:EA基本交易功能-自定义函数集合
如何编写简单的EA 交易和自定义指标
要编写程序(“EA 交易”、“指标”或“脚本”),您可以启动 MetaTrader 5 客户端,从 Tools(工具)菜单选择MetaQuotes Language Editor(MetaQuotes 语言编辑器),或按 F4 键。
在 MetaEditor 5 窗口中,从 File(文件)菜单选择 New(新建),或按 Ctrl+N。
在 MQL5 Wizard(MQL5 向导)窗口中选择您想要创建的程序类型:
接下来您可以指定程序名称、作者信息,以及在启动程序后向用户要求的参数。
随后,系统将创建程序模板(“EA 交易”、“指标”或“脚本”),您可以对其进行编辑或填入代码:
程序就绪后,必须对其进行编译。要编译程序,从 File(文件)菜单选择 Compile(编译),或按 F7 键:
如果程序代码没有错误,系统将创建扩展名为 .ex5 的文件。之后,您可以将此新的“EA 交易”、“指标”或“脚本”附加至 MetaTrader 5 客户端的图表进行执行。
MQL5 程序是一个运算符序列。每个运算符以分号 ";" 结束。为您方便起见,您可以为代码添加注释,注释位于符号 "/*" 和 "*/" 之中,或在代码行末尾的 "//" 后。MQL5 是“面向事件”的编程语言。这表示当特定事件(程序启动或终止、新的报价到来等)发生时,客户端启动用户编写的相应函数(子程序),以执行指定的操作。客户端具有以下预定义事件:
Start 事件在“脚本”运行时发生(仅用于“脚本”)。它将会引起 OnStart 函数的执行。MQL4 对应物 -“脚本”中的 start 函数。
Init 事件在“EA 交易”或“指标”启动时发生。它将会引起 OnInit 函数的执行。MQL4 等价物 - init 函数。
Deinit 事件在“EA 交易”或“指标”终止时发生(例如,从图表分离后、关闭客户端等)。它将会引起OnDeinit 函数的执行。MQL4 等价物 - deinit 函数。
NewTick 事件在当前金融工具有新的报价到来时发生(仅用于“EA 交易”)。它将会引起 OnTick 函数的执行。MQL4 对应物 -“EA 交易”中的 start 函数。
Calculate 事件在指标启动(在 OnInit 函数执行后)以及当前金融工具有新报价到来时发生(仅用于“指标”)。它将会引起 OnCalculate 函数的执行。MQL4 对应物 -“指标”中的 start 函数。
Trade 事件在订单执行、修改或删除,以及在开仓、持仓修改或平仓时发生(仅用于“EA 交易”)。它将会引起 OnTrade 函数的执行。MQL4 中没有该事件和函数的对应物。
BookEvent 事件在“市场深度”改变时发生(仅用于“EA 交易”)。它将会引起 OnBookEvent 函数的执行。MQL4 中没有该事件和函数以及“市场深度”的对应物。
ChartEvent 事件在用户使用图表时发生:在图表窗口处于焦点状态时点击鼠标和按下按键。该事件也会在创建、移动或删除图形对象等时发生(用于“EA 交易”和“指标”)。它将会引起 OnChartEvent 函数的执行。MQL4 中没有该事件和函数的对应物。
Timer 事件在计时器触发时定期发生,如果计时器已使用 EventSetTimer 函数激活的话。它将会引起OnTimer 函数的执行。MQL4 中没有该事件和函数以及计时器的对应物。
使用变量前,必须指定每个变量的数据类型。相比 MQL4,MQL 5 支持更多的数据类型:
bool 用于存储逻辑值(true 或 false)。该数据类型占用 1 字节内存。
char 用于存储从 -128 到 127 的整数值。该数据类型占用 1 字节内存。
uchar 用于存储从 0 到 255 的无符号整数值。该数据类型占用 1 字节内存。
short 用于存储从 -32,768 到 32,767 的整数值。该数据类型占用 2 字节内存。
ushort 用于存储从 0 到 65,535 的无符号整数值。该数据类型占用 2 字节内存。
int 用于存储从 -2,147,483,648 到 2,147,483,647 的整数值。该数据类型占用 4 字节内存。
uint 用于存储从 0 到 4,294,967,295 的无符号整数值。该数据类型占用 4 字节内存。
long 用于存储从 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 的整数值。该数据类型占用 8 字节内存。
ulong 用于存储从 0 到 18,446,744,073,709,551,615 的无符号整数值。该数据类型占用 8 字节内存。
float 用于存储浮点值。该数据类型占用 4 字节内存。
double 用于存储浮点值,通常为价格数据。该数据类型占用 8 字节内存。
datetime 用于存储日期和时间值,它是从 01.01.1970 00:00:00 开始流逝的秒数。该数据类型占用 8 字节内存。
color 用于存储颜色信息,它包含三种颜色分量的特性 - 红色、绿色和蓝色。该数据类型占用 4 字节内存。
enum 代表枚举。它允许指定某种限制类型的数据集。该数据类型占用 4 字节内存。
string 用于存储文本字符串。它的内部表示为 8 字节结构,包括含字符串的缓冲区大小以及指向该缓冲区的指针。
选择合适的数据类型对于获得最佳性能及合理的内存使用十分必要。在 MQL5 中有个称之为结构的新概念。结构将逻辑相关的数据结合在一起。
EA里如何体现 JAVA 继承
1,java类可以一次继承多个接口,用implements 接口1,接口2
2,如果是接口继承接口的话也可以用extends,接口是多继承的,java类才是单继承
3,接口继承接口可以不实现父接口中的方法,可以声明自己的新方法,
4,类实现接口时,一定要实现接口中声明的方法,如果接口中没有定义抽象方法则不需要,但是要注意,类实现了一个接口A,如果B是A的父接口,且B中有抽象方法,则该类必须实现A和B中的所有抽象方法
5,抽象方法只能定义在抽象类中,抽象类实现接口,可以不实现接口中的抽象方法
总结:其实你提的问题可以说不是问题,没有可比性啊!继承接口是说的接口来继承接口,是接口与接口间的
实现接口是类实现接口,是java类与接口间的,根本没什么好比较的,就像重载和重写一样,一个类可以实现多个接口,一个接口可以继承自多个接口,也可以被多个接口继承
如何编写简单的EA 交易和自定义指标?
要编写程序,您可以启动 MetaTrader 5 客户端,从 Tools(工具)菜单选择MetaQuotes 语言编辑器,或按 F4 键。在 MetaEditor 5 窗口中,从 File菜单选择 New(新建),或按 Ctrl+N。在 MQL5 Wizard窗口中选择您想要创建的程序类型。
1、接下来您可以指定程序名称、作者信息,以及在启动程序后向用户要求的参数。
2、随后,系统将创建程序模板,您可以对其进行编辑或填入代码;
3、程序就绪后,必须对其进行编译。要编译程序,从 File(文件)菜单选择 Compile(编译),或按 F7 键;
4、如果程序代码没有错误,系统将创建扩展名为 .ex5 的文件。之后,您可以将此新的“EA 交易”、“指标”或“脚本”附加至 MetaTrader 5 客户端的图表进行执行;
5、Init 事件在“EA 交易”或“指标”启动时发生。它将会引起 OnInit 函数的执行。MQL4 等价物 - init 函数;
6、Deinit 事件在“EA 交易”或“指标”终止时发生。它将会引起OnDeinit 函数的执行。MQL4 等价物 - deinit 函数;
7、Calculate 事件在指标启动(在 OnInit 函数执行后)以及当前金融工具有新报价到来时发生。它将会引起 OnCalculate 函数的执行。MQL4 对应物 -“指标”中的 start 函数;
8、Trade 事件在订单执行、修改或删除,以及在开仓、持仓修改或平仓时发生。它将会引起 OnTrade 函数的执行。MQL4 中没有该事件和函数的对应物。
个人投资者如何安装和使用EA智能交易
按以下步骤,非专业的个人投资者也能轻易做得到程序化交易,克服人性中的弱点,达到程序设定的条件该买则买,该卖则卖,无犹豫,无贪心,避免情绪化操作。如何在MT4软件上安装和使用EA自动交易功能,现在介绍下怎么样开启EA交易:
前期准备
· 1.MT4软件、交易账户
· 2.EA软件
EA 安装方法/步骤
1. 打开MT4软件,将EA文件放到指定文件夹:单击MT4左上角“文件”-“打开数据文件夹”;
2. 在数据文件夹中找到“MQL4”进入,打开“Experts”文件夹,把自己准备的EA文件复制粘贴到里面;
3. 在导航栏的EA交易点右键刷新一下,里面就会出现刚刚放进文件夹的EA文件了;EA安装完成。
4.单击“自动交易”显示为绿色,绿色标识表示进入自动交易状态,红色标识为关闭自动交易状态。
5.选好要做EA产品的当前窗口下,双击需要运行的EA软件,或拖动EA到需要运行EA产品的窗口,会出现下面EA对话框:(需要修改参数可在点确认前修改“输入参数”,或在EA运行中,单击“笑脸”也可修改参数)。
注意:不同的EA使用要求是不一样的,有的EA做不同的产品需作不同的参数调整,详见具体的EA专有使用说明书。
6.点确定后即运行该程序到当前界面的产品交易中,确认后盘面右上角会出现“笑脸”的表情,即EA正在正常运行,能够自动交易了
多产品同时运行EA可打开多个窗口平铺运行,EA支持多窗口运行,如下图:
7.如果不需要EA了,想删除,可以单击右键,选择EA交易系统,点击删除即可。
注意事项:
EA软件需要MT4系统在线状态下运行,请确保在线,若MT4关闭下线即停止运行。(电脑电源管理可设为永不进入休眠状态、不要退出软件,同时在运行EA的窗口不要切换时间周期、不要切换产品)
外汇EA怎么编辑?一般要注意哪些?用什么软件写??谢谢!
1)外汇EA怎么编辑?
代码编辑用什么都行,都是文本代码、写字板也行,
代码编译根据使用的开发语言不同编译环境不同。
2)一般要注意哪些?
一定要有历史数据模拟测试
有单步调试更好。
3)用什么软件写?
主流是mt4上的mq4,也有一些平台用java或lua,现在用.net的也有。使用交易商提供的
编译平台,或相应的jdk,visual studio编译器就行,当然需要引入交易商提供的api函数。
MQL5学习手记:EA基本交易功能-自定义函数集合
因为MQL5的交易方式改成 两个结构参数的样子,很多童鞋都会晕好久,对没入门的童鞋来说就更难理解了。在这里,我们制作了类似MQL4的交易功能,用自定义函数实现的,只需要拷贝到你的EA里,然后按例子的样子使用就行了。前提:以下自定义函数都需要用到几个公共的结构,所以先要把下面的公共定义部分拷贝在程序的头部。然后在拷贝后面的自定义指标。程序头部的交易结构定义:自定义函数一:市价单入场函数调用举例:按市场价卖出当前货币0.1手,无止损止盈。 PositionOpen(ORDER_TYPE_SELL,0.1,0,0,10,MagicHere,"Test");自定义函数二:按市价平仓当前货币持仓单调用举例:按市价单平仓 滑点可接受5点内 PositionClose(Symbol(),5);自定义函数三:修改当前货币持仓单的止盈止损调用举例:设置新的止盈止损 PositionModify(Symbol(),NewStop,NewTarget);自定义指标四:当前货币持仓单的手数总和自定义指标五:发出当前货币的挂单自定义指标六:修改当前指定Ticket的挂单的止盈止损数值自定义指标七:删除当前指定Ticket的挂单自定义指标八:获得当前最新入场的挂单的Ticket号码
java实现ea交易的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于ea交易系统编写、java实现ea交易的信息别忘了在本站进行查找喔。