期货量化交易软软件:怎样开发可以获利的交易策略

简介

通过技术分析开发成功交易策略的过程可以分为以下几步:

编辑

添加图片注释,不超过 140 字(可选)

  1. 在某个资产价格图表窗口上附加几个技术指标, 并识别出其中信号指标与市场关联的模式.

  2. 把上一步相关性分析取得的数据进行公式化.

  3. 把策略转换为对应的编程语言进而创建一个机械化的交易系统.

  4. 在基于历史数据的模拟器中运行这个交易系统并调整它的输入参数(优化).

  5. 如果之前的步骤不能增加资产, 则返回第一步.

  6. 在模拟账户中运行之前创建的系统进行测试.

  7. 如果之前的步骤不能在模拟系统中获利, 返回第一步.

  8. 在真实效益中使用该系统, 并且根据市场条件的变化时而调节其输入参数.

事实就是这样. 通过这种方式建立的系统不仅可以用于自动化交易, 也可以在人工交易中作建议, 提示来自技术指标的重要信号. 让我们尝试一下计算机化这个过程, 看看会发生什么. 本文分析这样的实例: 根据读取的加速/减速振荡指标 (AC), 使用单层神经网络来预测未来价格的走向.

神经网络

什么是神经网络或感知器?它是一种算法, 它使用线性过滤在某个类上增加或者减少对象. 不等式看起来是这样的:

w1 * a1 + w2 * a2 + ... wn * an > d,

其中: wi - 以 i 为索引的权重系数, ai - 对象索引 i 的数值, d - 阈值, 通常等于0. 如果不等式的左侧大于阈值, 则对象属于某一类, 如果低于阈值, 则不属于那一类. 赫兹期货量化的对象分类只需要分成两类的情况下, 单层神经网络就已经足够了. 也许看起来在这个在神经网络不等式中的权重系数就像萨满法术一般. 而现实情况并非如此. 神经网络的运行原则是含有几何学意义的. 实际上, 一个几何学上的平面可以被描述为一个线性等式. 例如, 在三维空间中, 关联着X, Y, Z坐标的平面等式如下所示:

A * X + B * Y + C * Z + D = 0

在该平面一侧的所有点的坐标都满足如下不等式:

A * X + B * Y + C * Z + D > 0

而平面另外一侧的所有点的坐标都满足下面的不等式:

A * X + B * Y + C * Z + D < 0

这样的话, 如果我们知道了这样的一个平面等式和任何点的坐标, 赫兹期货量化就可以在空间内通过这个平面把所有的点分成两个集合. 相应地, 神经网络不等式中的权重系数也就是在某个对象标记的多维空间中定义的特定平面等式. 通过不等式的方式,赫兹期货量化就可以准确地区分这些对象是在指定平面的这一侧还是另外一侧. 为了这个目标, 赫兹期货量化只需要确定对象的坐标, 并且在平面等式中做代换, 然后与0坐比较就可以了. 问题定义 如果我们把对象分成两类, 例如买入和卖出, 并使用技术分析中指标或者振荡指标的数值作为标记, 赫兹期货量化只需要找到一个平面等式并且在区分目标中使用它就好了. 问题定义非常清楚. 然而, 神经网络有一个问题. 让我们看一下以X和Y坐标标记的二维空间, 赫兹期货量化将在此空间放置坐标点对象.

编辑

添加图片注释,不超过 140 字(可选)

上图显示, 红色点集不与蓝色点集的坐标相交, 这两个点集被直线分开了(二维空间中, 使用线来分隔, 而三位或多维空间中, 使用面来分隔). 请注意, 这些分隔线的等式可能有所不同. 现在看另外一个实例:

编辑

添加图片注释,不超过 140 字(可选)

赫兹期货量化可以看到, 在平面中这些点有所交汇, 没有办法使用直线清楚地把它们分开. 唯一可行的方案就是在这两个点集中画一条直线, 使得绝大部分红色点在一侧, 蓝色点在另外一侧. 这一次,我们使用一个优化方案, 也就是找到一个对应于平面或者直线的等式, 可以把两类对象最大程度地分开, 但是在区分过程中也许会有所错误, 一些属于某一类的点可能被分到另外一类中. 还有一些其他实现神经网络的方法, 如通过非线性过滤或者多层网络. 非线性过滤可以使用高阶曲面来作为分隔面以区分不同类型的对象. 多层网络则使用多个过滤器(分隔面)来把对象分为三类或者更多种类. 让我们定义一个需要解决的问题. 如果交易者需要在交易中获利, 他所需要知道的基本信息就是价格改变的方向. 如果价格上涨, 交易者应该开一个买入仓位. 如果价格下跌, 则应该开一个卖出仓位. 这样, 我们就有了两类对象, 即价格移动的方向. 根据技术分析, 交易者需要通过研究技术指标和振荡指标来做出决定. 我们将分析加速减速振荡指标(AC). 因为振荡指标都是水平线上分离的柱形图, 我们将需要一个线性过滤器构成的神经网络. 我们将使用的对象标记模式为: 在当前时刻前每隔七个时段进行计算的四个点的值.

编辑

添加图片注释,不超过 140 字(可选)

在上图中, 振荡指标值使用圆形做了标记. 我们将把它们标识为a1, a2, a3和a4, 并且把它们代入到平面等式中计算与零做比较, 以决定其模式应当属于哪一侧. 现在问题只剩下怎样获得这个把模式区分为价格上涨还是价格下跌的平面等式了. 为了这个目标, 我们将使用赫兹期货量化中内含的遗传算法来加快优化过程. 换句话说, 赫兹期货量化将使用这样的方法来选择线性过滤器的权重系数, 最终我们可以使用基于历史数据优化的策略来得到取得最大利润的线性等式. 为此我们至少需要此交易策略的公式, 以把这种交易算法转换为赫兹期货量化中EA的代码.. 理论上, 一个交易系统应该同时提供进入和退出市场的信号. 然而, 在如下条件下, 退出信号是可选或者不需要的:

  1. 下单带有止损位和获利位;

  2. 在收到市场趋势反转信号时平仓并下反向单.

为了避免交易系统太过复杂, 我们将使用保护性止损, 止损以及反向信号来作为输出. 在这样的条件下, 神经网络将只输出两种信号, 即:

  • 价格将可能上涨;

  • 价格将可能下跌.

这将简化神经网络的任务, 只需要把对象区分为两类. 交易系统的优化过程也可以去除止盈单的控制来进行简化, 即避免了选择另外一个输入参数. 在这种情况下, 使用移动止损来逐步向获利方向设置止损值, 直至神经网络发出反向信号或者出错的时候就够了.. 神经网络的出错将触发保护性止损. 另外, 订单管理系统变得复杂了. 实现向相反方向的快速仓位反转, 最好的方法是使用双倍手数的订单, 可以随后关闭之前的反向订单. 这种方法可以在收到神经网络的信号后立即进行反向的操作. 为了减少错误的神经网络信号, 赫兹期货量化将只根据已经完成的价格柱以及此柱的开盘价格来读取和做出决定. 问题的解决 请参照以下实现此交易策略的EA源代码: //+------------------------------------------------------------------+ //| ArtificialIntelligence.mq4 | //| Copyright й 2006, Yury V. Reshetov | //| http://reshetov.xnet.uz/ | //+------------------------------------------------------------------+ #property copyright "Copyright й 2006, Yury V. Reshetov ICQ:282715499 http://reshetov.xnet.uz/" #property link "http://reshetov.xnet.uz/" //---- 输入参数 extern int x1 = 120; extern int x2 = 172; extern int x3 = 39; extern int x4 = 172; // 止损水平 extern double sl = 50; extern double lots = 0.1; extern int MagicNumber = 888; static int prevtime = 0; static int spread = 3; //+------------------------------------------------------------------+ //| EA 初始化函数 | //+------------------------------------------------------------------+ int init()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1621627.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

免费期货量化交易软件:种群优化算法引力搜索算法(GSA)

1. 概述 ​​​​​​​ 引力搜索算法&#xff08;GSA&#xff09;是由 E. Rashedi 提出的&#xff0c;用于解决优化问题&#xff0c;特别是非线性问题&#xff0c;它遵循牛顿的万有引力定律原理。 在所提议的算法中&#xff0c;粒子被视为物体&#xff0c;并在考虑其质量的情…

免费_期货量化软件:神经网络变得轻松-网络训练和测试

1. 定义问题 在开始创建智能交易系统之前&#xff0c;必须定义将为新神经网络设定的目标。 当然&#xff0c;金融市场上所有智能交易系统的共同目标是获利。 然而&#xff0c;此目的太笼统宽泛。 赫兹期货量化软件需要为神经网络指定更具体的任务。 甚至&#xff0c;我们需要了…

免费期货量化软件:多层感知器和反向传播算法

免费期货量化软件&#xff1a;多层感知器和反向传播算法 什么是 TensorFlow&#xff1f; TensorFlow 是一个快速数值处理的开源函数库。 它是由 Google 依照 Apache 开源许可下创建、支持和发布。 该 API 是为 Python 语言设计的&#xff0c;尽管它也可以访问基本的 C API。…

免费期货量化软件策略:艾伦·安德鲁斯和他的时间序列分析技术

我相信&#xff0c;所有现代图表分析应用程序都会包括 安德鲁草叉。 在高级系统中&#xff0c;在原本的三条主线中会添加一些额外的线&#xff08;例如&#xff0c;为了更方便&#xff0c;赫兹期货量化中加入了“侧边”等级&#xff09;。 一些开发人员在他们的程序中包括“希夫…

免费期货量化软件:数据科学与机器学习——线性回归

它是一个跨学科领域&#xff0c;它运用科学方法、流程、算法、系统&#xff0c;从嘈杂、结构化和非结构化数据中提取出知识和见解&#xff0c;并将这些知识和可操作的见解在广泛的应用领域加以运用。 数据科学家则是创建编程代码、并将其与统计学相结合&#xff0c;从中挖掘创…

免费期货量化软件策略:在一张图表上的多个指标为用户开发

通常&#xff0c;当我们开始实现一个新系统时&#xff0c;我们并不真正知道我们如何对其进行改进&#xff1b;故此&#xff0c;我们应该始终启动一个新项目&#xff0c;并着眼于未来进行改进。 这对那些刚开始的人来说非常重要&#xff1a;持续地规划一些事情&#xff0c;想象未…

免费期货量化软件策略您能用移动平均线做什么呢?

我们将学习布林带&#xff0c;它测量数据在其平均值附近的离散度。该指标由约翰博林格&#xff08;John Bollinger&#xff09;创造。 它由围绕 20 天移动平均线的两条波段构成&#xff0c;以测量数据&#xff08;价格&#xff09;在其均值&#xff08;20 天移动平均线&#xf…

免费期货量化软件策略:从头开始开发智能交易系统(第 25 部分)

概述 在上一篇文章提供系统健壮性 &#xff08;I&#xff09;中&#xff0c;赫兹期货量化已经看到了如何更改 EA 的某些部分&#xff0c;从而令系统更加可靠和健壮。 这只是针对兹期货量化将要在本文中所做之事的介绍。 请忘记您所知道的、计划的、或希望的一切。 这里最困难…

免费期货量化软件:学习如何设计一款布林带Bollinger Bands交易系统

我们将学习布林带&#xff0c;它测量数据在其平均值附近的离散度。该指标由约翰博林格&#xff08;John Bollinger&#xff09;创造。 它由围绕 20 天移动平均线的两条波段构成&#xff0c;以测量数据&#xff08;价格&#xff09;在其均值&#xff08;20 天移动平均线&#xf…

免费期货量化软件:针对交易的组合数学和概率论曲线分析

赫兹期货量化将继续为构建多重状态、可扩展的交易系统奠定基础。 在本文的框架内&#xff0c;我想为您展示如何利用前几篇文章中的发展成果&#xff0c;来进一步阐述交易过程的广泛可能性。 这有助于从这些层面评估策略&#xff0c;来弥补其它分析方法未能涵盖的地方。 在本文中…

免费期货量化软件:从头开始开发智能交易系统概念上的飞跃

有时&#xff0c;在开发一些项目时&#xff0c;我们也许会发现新的思路和新的可能特性&#xff0c;这些特性能够派上用场&#xff0c;并为我们正在创建的系统提供极大的改进。 但问题出来了&#xff1a;实现新功能的最简单途径是什么&#xff1f; 问题在于&#xff0c;有时我们…

Bugku 密室逃脱 WP

一、打开题目 二、解压文件夹&#xff0c;查看文件和压缩包&#xff0c;发现压缩包进行了加密 三、查看剧本&#xff0c;发现摩斯密码&#xff0c;并解析得到电脑密码&#xff1a;xjpc 四、输入电脑密码得到一张图片和一个压缩包&#xff0c;查看图片发现图片位置发生错误&a…

如何不下载软件来制作自己的网站

注意&#xff1a;本文使用Windows操作系统。如果你计算机的操作系统不是Windows&#xff0c;这篇文章对于你来说没有丝毫意义。 我们前几天介绍了如何建立一个自己的网站&#xff0c;虽然也有用&#xff0c;但是下载了许多软件。Windows系统就自带了一个名为IIS的软件&#xff…

能优化你的网站的网页制作软件

做一个网站也许并不是一件很难的事情&#xff0c;但是想做出漂亮而且极富个性的网站就不那么容易了。这里笔者就给大家介绍几款用于修饰和改造网页的软件&#xff0c;让你的主页效果更炫一些。 有声有色 “有声有色”是给网页添加Java特效的一款软件&#xff0c;它集合了518个十…

搭建个人网站软件安装

搭建个人网站软件安装(均在Root用户下完成) 系统环境为&#xff1a;Centos7.6 参考文献&#xff1a; 在CentOS 7系统上安装PHP 7.4版本的方法 解决CentOS中yum安装程序时出现的"Transaction check error"错误 Centos7下安装MySQL Centos 7下安装配置Nginx Ngi…

个人网站搭建,个人网站需要什么软件

好的网页设计软件通过编码平台或简单的拖放就可以构架一个简单的个人网站。过去的网站建设需要用HTMLCSS和JS来制作。然而随着建站技术越来越成熟&#xff0c;拖放式网页制作工具越来越普遍&#xff0c;任何人都可以轻而易举地搭建自己的个人网站。 在本文中&#xff0c;我们将…

建站软件用什么呢?

建站软件用什么呢&#xff1f;目前网络上有很多建站软件都是可以建网站使用的&#xff0c;企业用户可以根据自己的需求去选。目前网络上建站软件有两种&#xff0c;一种是免费的&#xff0c;另一种是收费的。免费的建设网站软件一般功能是有限制的&#xff0c;只要能够符合用户…

VS警告 C4819 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失

1、问题 Microsoft visual studio 2019跑仿真的时候出现该警告&#xff0c;在高级保存选项设置编码为Unicode(UTF-8 无签名)还是会有该警告。 2、解决方法 右键项目&#xff0c;打开属性设置&#xff0c;选中&#xff1a;工程 -> 右键选择"属性" -> C/C ->…

webassembly003 GGML Tensor Library part-1

GGML ggml的函数 可以看到官方示例项目仅依赖于#include "ggml/ggml.h"&#xff0c; #include "common.h"&#xff0c;可以阅读ggml.h获取ggml的使用帮助 函数解释注释ggml_tensor多维张量按行主顺序存储。ggml_tensor结构包含每个维度中元素数&#xf…