「java实现ea交易」ea交易系统编写

博主:adminadmin 2023-01-05 14:45:10 576

今天给各位分享java实现ea交易的知识,其中也会对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交易的信息别忘了在本站进行查找喔。