分类
掌握正確投資心法

总体外汇算法交易注意事项

通过回溯测试,我检查了外汇机器人在一些随机时间间隔内的回报率;毫无疑问,我知道我的客户不会赚钱**——他选择的指标以及决策逻辑都没有盈利。**作为示例,以下是在 M15 窗口上运行程序进行 164 次操作的结果:

纯正的干货----外汇中的算法交易

说到这里应该大家都明白所有新手朋友都会遇到一个问题。很多朋友都知道黄金,欧美,镑美和美元是成反比,美加,美日,美瑞是成正比。但是很多时候明明美元涨了。欧美,镑美,黄金不跌。或者说了美元跌了,美日美加美瑞不跌。当你能明白算法之间的逻辑关系,这种问题是不是就迎刃而解。 PS:其实在我看来这种是最最基础的问题,你入行的时候就应该明白。但是在我这么多年在这个市场里确没有几个人真正的了解过这种基础知识。只能说市场的浮躁早就投机者多,钻研者少!
-----------------------------------------------------------------------------------------------------

在算法交易的世界里,波动百分比是一个很重要的观念;在大多数人开始参与外汇交易市场开始,就被教育成甚么货币跳动一点价值多少钱,甚至对于损益的概念,完全交给交易平台去自动计算,压根没搞清楚波动百分比这样的一个货币基础原理,因此在交易的判断上,就很容易陷入误区

使用EA交易应该注意哪些问题?

量化研究所 总体外汇算法交易注意事项 于 2021-12-31 18:总体外汇算法交易注意事项 11:04 发布 527 收藏

在这里插入图片描述

随着科技和社会的进步,人工智能技术越来越走进我们的生活中。自从AlphaGo围棋以绝对的优势战胜了世界排名第一的柯洁,是不是感觉人类真的会向电影中讲的那样最终会沦陷在自己的手中。但是,今天的话题并不是人工智能,而是外汇交易的EA,其实EA也是人工智能的一种,说白了就是根据市场行情自动下单。笔者将来分析EA在什么情况下是可以赚到钱的。
废话少说,我们进入正题,EA确实为交易者带来了不少的便利,我们马上就来分析下EA的使用的5大注意事项。

注意事项一、稳定不断线
相信经常使用EA的朋友都知道的一个常识就是如果服务器经常断线的话,EA根本就起不到自己想要的效果。举个例子,就当EA根据图表检测到应该下单的信号的时候,忽然客户端断线,那么EA在这个时候的下单动作就会被打断,造成的结果就是下单不成功,这样的话就有可能造成不必要的损失。
当然,断线的情况是经常会发生的,也是不可避免的,因为没有哪家券商可以保证所有的客户都完全不断线。然后断线的原因很大程度上是由于交易者所在的网络环境不够稳定所导致的。那么,有什么办法可以解决这个问题呢?
这个必须是有的。一种比较有效的方案就是使用VPS,VPS的全称是Virtual Private Server 虚拟专用服务器。为什么这么说呢?比如说您的券商的服务器架设在日本,您租用了一台日本的VPS,您把您的MT4客户端安装在里面,就相当于您的客户端是虚拟在日本运行,这样的话就最大可能的拉近了您的客户端和主服务器的距离,这样的近距离交易,就很大程度上减小了掉线的可能,甚至是0断线几率。保证了您的EA策略的稳定安全的执行。
然而这种VPS的解决方案是可行的,因为一般的VPS价格都很便宜,大概在一个月100美金左右,对于专业的交易者来说,VPS还是性价比很高的解决方案。

在这里插入图片描述

注意事项二、进场不受流动性影响
何为进场不受流动性影响?举个简单的例子,此时此刻你觉得是抛单的最佳时刻,并决定要入场,但是你的订单却没有成交,原因是流动性拒单。这个就是进场受到流动性影响。如果被拒单了,那么就有可能打乱EA的执行策略,最后的结局还是转盈为亏。
那么,流动性为何会拒单呢?下面讲下拒单的几种原因以及解决方案。
第一种,当时流动性不足。也就是说在你进场的时候恰好流动性那边没有足够的库存给到你,所以订单成交不了。这种情况一般发生在一次性入场很大手数的情况,比如说50手,100手这个样子。当然,如果是这样的情况的话,那么EA的策略就需要把大手数的单子拆分成小手数的多张单子,然后批量抛给流动性那边,这样的问题就会有效的解决。
第二种,手数过于小。这个其实也和好理解。就是说在EA的策略中存在太小的手数,小于流动性的最小成交手数,这样的订单也是不能成交的。举个例子,流动性最小的接受订单是0.1手,但是EA抛出去的单子是0.01手,小于最小可接受量。解决的方案也非常显而易见,就是调整自己的最小手数和流动性进行匹配。
第三种,加仓梯度不匹配。举个简单的例子,流动性那边的最小交易手数是0.1手,最小加仓数量是0.1手,那么,可接受的订单大小是0.1,0.2,0.3,0.4…以此类推。但是EA这边可能已经调整了最小手数是0.1手,但是,最小加仓梯度依旧是0.01;那么EA这边就可以下0.11,0.15这样的订单,然后根据流动性的规则,这种大小的订单是不可接受的,最后还是会导致拒单。所以,EA的策略者也要考虑到加仓的大小的问题。
当然,如果由于流动性规则的问题导致EA策略的失败是得不偿失的,所以在任何平台上使用EA进行交易的操盘手,都要先确定下流动性的交易规则和流动性深度,以便于控制自己的策略,稳定的盈利。

在这里插入图片描述

注意事项三、行情大的时候不要用EA下单。
为什么说大行情的时候不要用EA呢?因为大行情就意味着以下几点:
1、高滑点
因为行情大的时候,比如说非农时刻,那一分钟的行情剧烈变化(上下变化几十个点也是有可能的),当EA下单的时候很可能行情就反转,那么EA的策略就不能更好地发挥,甚至起到相反的作用,这也是EA交易者不愿意看到的情况。
2、流动性不足
由于很多散户的心理是这样的,趁着行情大的时候做一笔,如果赚到了就可以赚到一笔客观的利润,往往他们下单的手数也是比较大的。再加上做单的人数比较多,很有可能出现流动性的库存不够的情况,最终难以成交,就会出现我们昨天谈论的情况,流动性阻碍下单(请关注我们,回顾之前的内容)。
3、等待成交时间增加
和第二点差不多,由于在行情大的时候,很多在做单,但是又由于MT4的成交规则是排队成交,并非可以一次成交多笔订单。所以伴随着交易的人数增加,那么排队等待的时间也就越长,也就意味着可能的滑点越高和成交的几率越低。同样也可能出现不符合EA策略的情况出现。
注意事项四、交易时间对EA的影响
很多平台商都会设置开盘前几秒或者前几分钟不能交易,这样做的原因是为了避免开盘的时候的错误报价或者点差过大的报价。请看下面两张图,一张是错误的报价,第二张是点差过大的情况。
是不是有点夸张了。但是为了避免这种的错误的现象发生,一般常规的做法就是开盘的前几分钟的报价过滤掉。
那么,过滤掉报价对EA交易来说有什么危险呢? 我们再看下面的一张图。
如果遇到这样的行情,那么明明行情走上去是要盈利的,但是这部分的价格由于时间的设定被过滤掉了,当行情恢复的时候就可能在回落的那个最低点上,然后一路下滑。这样EA就会失去最好的策略执行时间,开始持续赔钱。
但是,总体来说,报价过滤是有好处的,因为他可以让80%以上的交易者免受错误报价困扰,让很多交易者避免了不必要的爆仓和穿仓等情况,最大的限度的保证了交易者的权益。话又说回来,EA交易者也要明确下平台商设置的交易时间的规则,避免不必要的策略失误。
注意事项五、挂单距离的限制
众所周知,设置止盈止损是为了保证一定的利润和避免更大的损失。很多EA也是有设置止盈止损功能的,但是止盈止损的设置并不能保证每次都设置成功。为什么呢?因为基本上每个券商的平台都会设置挂单距离的,否则会被套利到死。下面以两种EA为例子来说明为什么EA要注意挂单距离。
1、进场设置止盈止损
这类的EA是进场就会设置止盈止损,比如说EA进场设置的止损止损在市价的15点左右,然而,券商平台的规则是必须离市价30个点以上才能设置止损止损。这种情况下,EA就不能进场,因为规则不允许,所以在开始做单的时候就会发现这个问题,避免了以后的问题。这个是比较好的情况,下面我们来说下一种情况。
2、中场设置止盈止损
这种情况就比较苦逼了,当EA已经下单成功,根据行情的变化,准备要设置止盈止盈止损了,但是发现券商平台的规则是必须离市价30个点以上才能设置止损止损,而EA设置的止损止损需要在市价的15点左右。是不是就悲剧了,止盈止损设置不成功!!!之后的结果大家就可想而知了,EA不能出场,如果赔钱就一赔到底。
所以,大家在使用EA的时候,也要查看EA 的策略是否和平台商的挂单距离所匹配。
以上就是我为广大EA爱好者所奉献的我自己的经验,其中有不足和疏漏之处还请大家多多见谅和包涵。

EBC外汇算法交易故事|全栈工程师的外汇算法交易之旅

科技新观察 于 2021-07-14 17:38:59 发布 167 收藏 1

在这里插入图片描述

本文的分享者是Rogelio 总体外汇算法交易注意事项 ,一位积极进取的全栈工程师,在多种语言、框架和平台方面拥有 13 年以上的工作经验。

一开始,你可能知道,外汇市场是货币对之间的交易。但你可能没有意识到它是世界上流动性最强的市场。几年前,在我的好奇心的驱使下,我创建了一个模拟账户并在Meta Trader 4交易平台上进行模拟交易,这是我在外汇算法交易世界踏出的第一步。

在这里插入图片描述

我的第一个客户

客户想要使用MQL4构建的算法交易软件,MQL4是 MetaTrader 4 平台用于执行交易相关操作的函数式编程语言。MQL5目前也已经发布了。正如你所料,它解决了 MQL4 的一些问题并带有更多内置函数,这让交易更简单。

交易平台(本例中为 MetaTrader 4)的作用是提供与外汇经纪商的连接。然后,经纪商提供一个平台,提供有关市场的实时信息并执行买/卖订单。对于外汇交易新手,以下是是基本交易界面信息:

在这里插入图片描述

通过 MetaTrader 4,你可以使用内部函数访问所有这些数据,可访问各种时间范围:每分钟 (M1)、每五分钟 (M5)、M15、M30、每小时 (H1)、H4、D1、W1、MN。

客户的算法交易规范很简单:他们想要一个基于两个指标的外汇机器人。这两个指标需要在尝试定义市场状态和做出交易决策时非常有用,因为它们基于过去的数据(例如,过去n天的最高价格)。MetaTrader 4 内置了许多指标,但是,我客户感兴趣的指标来自自定义交易系统。

在这里插入图片描述

着手开始做

当我着手开始做时,我了解到 MQL4 程序具有以下结构:

start 函数是每个 MQL4 程序的核心,因为它会在每次市场变动时执行(因此,该函数将在每个价格变动时执行一次)。无论你使用的时间范围如何,都是如此。例如,你可以在 H1(一小时)时间范围内操作,但 start 函数将在每个时间范围内执行数千次。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

回测

在这里插入图片描述

通过回溯测试,我检查了外汇机器人在一些随机时间间隔内的回报率;毫无疑问,我知道我的客户不会赚钱**——他选择的指标以及决策逻辑都没有盈利。**作为示例,以下是在 M15 窗口上运行程序进行 164 次操作的结果:

在这里插入图片描述

参数优化

尽管回溯测试让我对这个 FX 机器人的实用性产生了怀疑,**但当我开始尝试使用它的外部参数并注意到和整体回报率产生巨大差异时,我就产生好奇。**这门特殊的科学被称为参数优化。

在这里插入图片描述

在这里插入图片描述

你可能认为(正如我所做的那样)你应该使用参数 A。但是这个决定并不像看起来那么简单。具体来说,请注意参数 A的不可预测性:对于小错误值,其返回值会发生巨大变化。换句话说,参数 A 很可能会高估未来的结果,因为任何不确定性、任何变化都会导致更差的性能。

这并不一定意味着我们应该使用参数 总体外汇算法交易注意事项 B,因为即使参数 A 具有较低回报,但也比参数 B 表现更好;这只是为了向你展示优化参数可能会导致测试夸大未来可能的结果。

外汇算法交易注意事项

海龟之道,由 Curtis Faith 撰写:在我看来,这就是外汇圣经。一旦你有一些交易经验并了解一些外汇策略,那就可以阅读它。

Technical Analysis for the Trading Professional — Strategies and Techniques for Today’s Turbulent Global Financial Markets作者:Constance M. Brown

智能交易编程系统– 在 MQL 中为 MetaTrader 4 创建自动交易系统,作者:Andrew R. Young

交易系统 – 系统开发和投资组合优化的新方法,Trading Systems – A New Approach to System Development and Portfolio Optimisation

作者 Urban Jeckle 总体外汇算法交易注意事项 和 Emilio Tomasini:技术性很强,非常专注于外汇测试。

A Step-By-Step Implementation of a Multi-Agent Currency Trading System作者:Rui Pedro Barbosa 和 Orlando Belo:这个非常专业,描述了您可以如何创建交易系统和测试平台。