【在开发一个EA之前,需要对EA的策略进行规划,做到有的放矢】
小明学外汇EA编程 2019-09-08 15:18:22 交流微信号:FX263cn EA开发 EA程序开发 EA策略
EA的策略包括一下几点:
1、开仓:当行情满足什么条件时,EA进行开仓,何时做多,何时做空。
2、平仓:当行情满足什么条件时,EA要进行平仓。
3、止损和止赢:EA是否需要设置止损和止赢,如何设置。一般来说,止损是最好要设置的,以防止行情突变所带来的无法预料的损失。
不同于股票交易,外汇交易在下单的时候,可以设置止损价位和止赢价位,当价格达到止损或止赢价位时,交易单自动平仓。
以做多为例,假设买价为1.5000,止损价为1.4800,止赢价为1.5100,那么这里止损就是200点,止赢就是100点。
4、加码:是否要加码,何时加码。
接下来,以Larry Williams在《短线交易秘诀》中讲到的一个交易方法来作为本例的交易策略。
if
语句:当括号()内的条件成立时,执行 { } 内的代码
if语句:当括号()内的条件成立时,执行 { } 内的代码
==运算符:相等判断
&&运算符:并且判断
Hour函数: 当前时间的小时部分, 0~23
Minute函数:当前时间的分钟部分, 0~59
Open[0]表示当前周期的开盘价,
Close[1] 表示上一周期的收盘价,
Open 和 Close 都是预定义数组,分别表示开盘价和收盘价, 0 和 1 是周期数,关于数组的详细描述,请参阅后续章节。
本 ea 是运行于 H1 周期的,
Open[0] 表示当前一小时的开盘价,
Close[1] 表示上一小时的收盘价;当满足行 8 列出的条件时,
Open[0] 等同于星期一的开盘价,
Close[1] 等同于上周五的收盘价。
行 11 :下买单。
行 13 :下卖单 OrderSend函数用于下单,
各参数含义如下:
参数 1 :货币对。
Symbol 函数返回 ea 附着的当前货币对。
参数 2 :单据类型。 OP_BUY:买单 OP_SELL:卖单
OP_BUYSTOP: BUYSTOP 单 OP_BUYLIMIT: BUYLIMIT 单 OP_SELLSTOP: SELLSTOP 单 OP_SELLLIMIT: SELLLIMIT 单 参数
3 :下单大小。本例为 0.1 手
参数 4 :交易价格。
对于买单而言,最低交易价格是 Ask ;对于卖单,最高交易价格是 Bid
参数 5 :滑点。
由于发生 OrderSend 指令到单据成交之间有个时间差,在这段时间之类,交易价格可能会发生变动,导致无法按照指定的价格进行成交。
交易者可以在下单的时候指定最终交易价格和原定交易价格之间的最大浮动值,
以确保交易尽快成交。这个值的单位为 Point 。
参数 6 :止损价位。为 0 表示不指定止损价。
参数 7 :止盈价位。为 0 表示不指定止盈价。
参数 8 :单据的备注。
参数 9 :单据的 magic 数字。magic 数字用于区分不同 ea 所下的单,具体请参阅后续章节。
参数 10 :单据失效时间。仅限挂单,当单据打到后,挂单自动删除。为 0 表示不指定失效时间。
参数 11 :箭头颜色。下单成功后, ea 在行情图表上会用一个箭头图标标注下单位置。买单为蓝色 Blue ,卖单为红色 Red 。
返回值:单据编号。如果返回值为 -1 表示下单失败。此处没有检查下单结果。
行 16 :选定第一个单。在对单据进行后续操作之前,一般需要有个选定的动作。
OrderSelect函数:选定一个单据
参数 2 :选定标准。
SELECT_BY_POS 按照单据序号选定,所有的单据都是从 0 开始编序号的。
SELECT_BY_TICKET 按照单据编号选定。
SELECT_BY_POS 和 SELECT_BY_TICKET 都是整数常量,关于整数和常量的概念,请参阅后续章节。
参数 1 :要选定的单据的值,具体的值的含义由参数 2 解释。
行 17 :如果当前时间离选定单据的下单时间超过一天,则执行 18~23 行。
TimeCurrent函数:表示当前时间,单位为秒。返回值为从 1970 年 1 月 1 日零点到现在的秒数。
OrderOpenTime函数:返回选定单据的下单时间,单位为秒。
行 18 :如果为买单则按照 Bid 平仓(行 19 ) 行 19 :如果为卖单则按照 Ask 平仓(行 22 )
OrderType函数:返回选定单据的单据类型。
参数 1 :单据编号。
OrderTicket 函数返回当前选定单据的编号 参数 2 :平仓数量。
OrderLots 函数返回当前选定单据的手数。
参数 3 :平仓价格。
对于买单为 Bid ,对于卖单为 Ask 。 Ask 和 Bid 是两个浮点数类型的变量,关于浮点数和变量的概念,请参阅后续章节。
1、开仓:当行情满足什么条件时,EA进行开仓,何时做多,何时做空。
2、平仓:当行情满足什么条件时,EA要进行平仓。
3、止损和止赢:EA是否需要设置止损和止赢,如何设置。一般来说,止损是最好要设置的,以防止行情突变所带来的无法预料的损失。
不同于股票交易,外汇交易在下单的时候,可以设置止损价位和止赢价位,当价格达到止损或止赢价位时,交易单自动平仓。
以做多为例,假设买价为1.5000,止损价为1.4800,止赢价为1.5100,那么这里止损就是200点,止赢就是100点。
4、加码:是否要加码,何时加码。
接下来,以Larry Williams在《短线交易秘诀》中讲到的一个交易方法来作为本例的交易策略。
if
语句:当括号()内的条件成立时,执行 { } 内的代码
if语句:当括号()内的条件成立时,执行 { } 内的代码
==运算符:相等判断
&&运算符:并且判断
Hour函数: 当前时间的小时部分, 0~23
Minute函数:当前时间的分钟部分, 0~59
Open[0]表示当前周期的开盘价,
Close[1] 表示上一周期的收盘价,
Open 和 Close 都是预定义数组,分别表示开盘价和收盘价, 0 和 1 是周期数,关于数组的详细描述,请参阅后续章节。
本 ea 是运行于 H1 周期的,
Open[0] 表示当前一小时的开盘价,
Close[1] 表示上一小时的收盘价;当满足行 8 列出的条件时,
Open[0] 等同于星期一的开盘价,
Close[1] 等同于上周五的收盘价。
行 11 :下买单。
行 13 :下卖单 OrderSend函数用于下单,
各参数含义如下:
参数 1 :货币对。
Symbol 函数返回 ea 附着的当前货币对。
参数 2 :单据类型。 OP_BUY:买单 OP_SELL:卖单
OP_BUYSTOP: BUYSTOP 单 OP_BUYLIMIT: BUYLIMIT 单 OP_SELLSTOP: SELLSTOP 单 OP_SELLLIMIT: SELLLIMIT 单 参数
3 :下单大小。本例为 0.1 手
参数 4 :交易价格。
对于买单而言,最低交易价格是 Ask ;对于卖单,最高交易价格是 Bid
参数 5 :滑点。
由于发生 OrderSend 指令到单据成交之间有个时间差,在这段时间之类,交易价格可能会发生变动,导致无法按照指定的价格进行成交。
交易者可以在下单的时候指定最终交易价格和原定交易价格之间的最大浮动值,
以确保交易尽快成交。这个值的单位为 Point 。
参数 6 :止损价位。为 0 表示不指定止损价。
参数 7 :止盈价位。为 0 表示不指定止盈价。
参数 8 :单据的备注。
参数 9 :单据的 magic 数字。magic 数字用于区分不同 ea 所下的单,具体请参阅后续章节。
参数 10 :单据失效时间。仅限挂单,当单据打到后,挂单自动删除。为 0 表示不指定失效时间。
参数 11 :箭头颜色。下单成功后, ea 在行情图表上会用一个箭头图标标注下单位置。买单为蓝色 Blue ,卖单为红色 Red 。
返回值:单据编号。如果返回值为 -1 表示下单失败。此处没有检查下单结果。
行 16 :选定第一个单。在对单据进行后续操作之前,一般需要有个选定的动作。
OrderSelect函数:选定一个单据
参数 2 :选定标准。
SELECT_BY_POS 按照单据序号选定,所有的单据都是从 0 开始编序号的。
SELECT_BY_TICKET 按照单据编号选定。
SELECT_BY_POS 和 SELECT_BY_TICKET 都是整数常量,关于整数和常量的概念,请参阅后续章节。
参数 1 :要选定的单据的值,具体的值的含义由参数 2 解释。
行 17 :如果当前时间离选定单据的下单时间超过一天,则执行 18~23 行。
TimeCurrent函数:表示当前时间,单位为秒。返回值为从 1970 年 1 月 1 日零点到现在的秒数。
OrderOpenTime函数:返回选定单据的下单时间,单位为秒。
行 18 :如果为买单则按照 Bid 平仓(行 19 ) 行 19 :如果为卖单则按照 Ask 平仓(行 22 )
OrderType函数:返回选定单据的单据类型。
参数 1 :单据编号。
OrderTicket 函数返回当前选定单据的编号 参数 2 :平仓数量。
OrderLots 函数返回当前选定单据的手数。
参数 3 :平仓价格。
对于买单为 Bid ,对于卖单为 Ask 。 Ask 和 Bid 是两个浮点数类型的变量,关于浮点数和变量的概念,请参阅后续章节。
【版权声明】
本文仅代表作者观点,不代表本站立场。Fx263.com对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证,且不构成任何投资建议,请读者仅作参考,并自行承担全部风险与责任。Fx263.com作为信息内容发布平台,页面展示内容的目的在于传播更多信息,不代表Fx263.com立场;本站会员及自媒体人所发的稿件所载明的信息与本网无关,如文章涉及版权,请联系本站处理。
【风险提示】
请通过正规渠道参与外汇保证金交易。目前通过网络平台提供、参与外汇保证金交易均属非法。请提高意识,谨防损失!外汇、贵金属和差价合约(OTC场外交易)是杠杆产品,存在较高的风险,可能会导致亏损您的投资本金,请理性投资。