导航:首页 > 黄金交易 > 指标编写ea模板

指标编写ea模板

发布时间:2021-06-12 10:39:56

Ⅰ MT4如何新建指标脚本及EA文件

一、MT4自定义指标保存在C:\Program Files\MetaTrader 4\experts\indicators这个目录中, 该目录中主要有二种回类型的文件, 一种是mq4文件,这是答MT4自定义指标的源码文件,是一种高级语言文件,可以人工编写修改,机器不能直接执行

Ⅱ 如何编写简单的EA 交易和自定义指标

要编写程序,您可以启动 MetaTrader 5 客户端,从 Tools(工具)菜单选择MetaQuotes 语言编辑器,或按 F4 键。在 MetaEditor 5 窗口中,从 File菜单选择 New(新建),或按 Ctrl+N。在 MQL5 Wizard窗口中选择您想要创建的程序类型。

Ⅲ 怎样把指标转换成EA(2)

接下来将指标EA化大致的做法是: 在EA中通过函数iCustom读取这个指标的当前K线输出值,得出当前的状态,来决定是否入场或者平仓并反向入场。 iCustom的具体用法: 指标一般都是曲线或者箭头两种。在这里我们要把曲线和箭头都看成是数组就容易理解了。 对于指标来说每一条曲线或者箭头都是写在与每个K线对应的数组中的,也就是说一条曲线对应一个数组,一个方向的箭头也是对应一个数组(有箭头的数组值是当时的价格,没箭头地方的数组值是“空”) iCustom MT4的帮助里说的是:“计算指定的客户指标并且退回它的值”,即这个函数可以让你获取指定指标的第几个数组对应第几根K线上的计算数值。 具体如下:double iCustom(string symbol, int timeframe, string name, ..., int mode, int shift) 计算指定的客户指标并且退回它的值。 必须在terminal_directory\experts\indicators目录内编写客户指标(*.EX4文件)。 参量:symbol-计算指标数据上的货币对名称. NULL表示当前货币对. timeframe - 时间周期。 可以时间周期列举任意值. 0表示当前图表的时间周期. name - 客户指标完整的程序名称. ... - 参量设置(如果需要)。通过的参量和他们的顺序必须与desclaration命令和客户指标的外部可变物的种类对应。 mode - 索引行。 从0到7并且必须对应以其中一个使用的索引的 SetIndexBuffer 函数. shift - 从显示缓冲采取的值的索引(转移相对当前柱特定相当数量期间前). 示例:double val=iCustom(NULL, 0, "示例Ind",13,1,0); double va2=iCustom(NULL, 0, "示例Ind",13,0,1); 例如:一个指标,画了两条曲线,则可以用iCustom取得这个指标在第4根K线上对应的第一条曲线的数值。 我们现在已经可以根据自己的想法去获得一个指定指标的任何K线上的状态数值了。那麽下一步我们就要开始EA的概念。 因为EA只针对当前价格状态下的动作进行控制。所以一般而言我们就取指定指标在当前K线下的计算数值用于EA的条件判断。 如果你认为当前K线没有结束,其数值始终在变化,有可能一会有讯号一会没讯号,那麽你可以采用取前一K线的指标数值的方式作为基础。(如果用当前K线指标数值作为条件会有不确定的结果,但如果用前一K线数值做条件则有“错过最佳入场点”的问题。这是需要程序设计者权衡的问题。) 另外的一个问题,就是怎末去判断指标输出的数值与我们肉眼看到的讯号一致起来的问题。 如果参考的指标是一种变色线,则一定是一种颜色一个数组的方式叠加起来显示的。我们在取其数值的时候只需要看看不同颜色的数组的数值比较一下就知道其结果是哪种颜色,并作为EA的条件进行动作就行了。 如果是箭头的方式,则一样是去取其数值,无箭头的K线上指标对应的数值是“空”,有箭头的地方数组对应的数值肯定不是空。用这个来判断是否发生了讯号就行了。 比如双色线,就一定是两个数组分别显示不同颜色,当指标认为应该显示其中一种颜色的时候就将这个颜色对应的数组在当前K线中的数值设成当前价。反之则设为“空”。这样循环一遍后你肉眼看到的就是变色线了 现在我们可以轻松获得指标的当前讯号状态了!

Ⅳ 请教如何在EA里调用自己写的指标

自己写的指标可以用自定调用函数在EA里调用,具体的函数是

int iCustom(
string symbol, // 交易品种名称
ENUM_TIMEFRAMES period, // 周期
string name // 文件夹/自定义指标_名称
... // 指标输入参量列表
);
比如用这个函数调用21日MA均线指标做个列子
double MA_handle=iCustom(NULL,0,"Moving Average",
21,
0,
MODE_SMA,
PRICE_CLOSE // 使用收盘价
);

Ⅳ 怎么将自己的指标做成EA,比如我做了个箭头,要求出现下箭头就空,上箭头就多,同时带好止损

这个不是一句话问题,这个涉及到,你自己研究的方案,设计的技术指标,指标参数,要把这些东西,转化成变成语言,然后要通过编程才可以实现。如果不懂编程语言,基本上EA很遥远。

Ⅵ 如何编写一个好的EA

首先要有成熟的思路模型是基础,是关键命脉吧,其实量化的过程比较起模型不算重点,甚至我认为是EA制作过程中最简单的,因为程序化你不懂可以找人代写,只要交代清楚,你能有语言量化严谨,程序化的实现不是难点,关键是你的模型是否可以量化或是否值得量化,当然不是所有的模型都适合量化,比如思路细则中过多倚重组合形态,就不容易实现,单K的形态或少量K线的组合形态是可以实现的,如果是多K的组合形态实现就较为困难,我见过朋友有借助指标来验证形态的列子,虽然粗略有验证行情的价值,但均不能实现精准的程度。
总之吧,如果你自己懂编写,恰巧你有丰富的交易思路积累,不断组合验证,总会有所突破,会跟容易写出一个适用的EA,因为如果你自己不懂编程,在向代写的程序猿交代时,程序猿或是不能想你一样对你的思路理解透彻,对思路的优劣点,做不到精准理解和量化上的侧重,这个很重要,如果思路简单还好,只要稍绕一点,你的理解和程序猿总会有偏差,这样EA量化完会有“灵魂" 不完整的情况。还有一些思路,手动的验证使用中效果不错,但量化完成效果未必好,如果你思路积累丰富,做出适当调整,加入其他优势条件的介入,逐渐完善才有可能实现一个好的EA. 说的不够系统,希望对你有帮助。

Ⅶ 对mt4的三个自定义指标进行综合EA编程

double
icustom(
string
symbol,
int
timeframe,
string
name,
...,
int
mode,
int
shift)
关键是将引用指标的名称写正确,放在这个参数的位置string
name.
name后面需要把指标中的参数,按顺序写完.
后面的mode指的是引用指标里面的第几画线数组,一般是0-7,最多有8个.具体每个数组代表的意义,需要从引用指标里面找到.

Ⅷ 在EA中如何调用已有的自己编写的指标

在EA中可以用iCustom函数调用,具体用法,参看里面的字典就可以了

Ⅸ 布林带指标怎么写入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模板相关的资料

热点内容
恒冒财富理财 浏览:721
银行跨境理财 浏览:352
股票一次最多买多少股 浏览:666
办房贷要买贵金属 浏览:702
80年代理财 浏览:903
中翌理财亏掉怎么报警 浏览:295
人民币增值利好哪些股 浏览:532
招财猫理财投资 浏览:577
征信可以办助学贷款吗 浏览:259
东方财富期货怎么关注好友组合 浏览:263
红枣期货10000元 浏览:494
51vv股票是什么意思 浏览:641
信托与pe 浏览:64
新闻联播人民币 浏览:529
股份融资 浏览:55
翘然天津资本投资咨询有限公司 浏览:456
融资融券宝典 浏览:29
定期理财规划 浏览:599
恒大集团股票行情 浏览:6
信托信披 浏览:944