问题标签 [algorithmic-trading]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2497 浏览

c++ - 用于外汇自动交易的 MT4/5、Multicharts 或 Interactive Brokers API?

我一直对外汇算法交易非常感兴趣,但我不知道从哪里开始。

我更喜欢使用 C++,所以我正在研究 Interactive Brokers C++ API,但我不确定将自己锁定到 Interactive Brokers 是否是个好主意。

使用 Multicharts 或 MT4/MT4 并通过学习和使用他们的编程语言会更好,还是我应该坚持使用 C++/Interactive Brokers?各有什么缺点?

任何建议将不胜感激。

0 投票
2 回答
399 浏览

optimization - 算法交易的稳健度量 - 基于罗伯特·帕多的书

我正在优化算法策略。在从众多优化策略中进行选择的过程中,我正处于搜索(评估)策略稳健性的阶段。

遵循 Pardo 博士在第 231 页中的“交易策略评估”一书中的指导方针,Pardo 博士建议在数字 3 中将以下比率应用于优化数据:

" 3. 所有盈利模拟的总利润除以所有模拟的总利润的比率显着正"

问题:从优化结果来看,我无法正确理解 Pardo 先生所说的“......所有模拟都非常积极”是什么意思;Pardo 先生所说的“非常积极”是什么意思?

a.) 置信度为 95%?b.) 具有一定的 p 值?c.) 每个模拟的平均净利润减去它的标准差的关系

尽管这句话可能看起来“简单”,但我真的很想了解 Pardo 先生所说的意思以及如何计算它,以便过滤最强大的算法策略。

0 投票
6 回答
37507 浏览

python - Python 中最大回撤的开始、结束和持续时间

给定一个时间序列,我想计算最大回撤,我还想定位最大回撤的起点和终点,以便计算持续时间。我想在时间序列图上标记回撤的开始和结束,如下所示:

一只忙碌的猫

到目前为止,我已经获得了生成随机时间序列的代码,并且已经获得了计算最大回撤的代码。如果有人知道如何识别回撤开始和结束的地方,我将不胜感激!

0 投票
3 回答
5091 浏览

c++ - “实时”流的简单移动平均线 - 快速实施

在我的交易应用程序中,我有股票价格的“实时报价”。我需要维持SMA。假设我想要 20 根蜡烛的 SMA,其中每根蜡烛的持续时间为 10 秒。这意味着

每 10 秒我有一个“检查点”,其中:

  1. 我“关闭”当前蜡烛并存储最后 10 秒的平均价格。平均值为 (max - min) / 2
  2. 我“开始”新蜡烛并存储最新价格。
  3. 我清理“过时”的蜡烛。

每个刻度:

  1. 我更新当前“形成”蜡烛的“最后”价格并重新计算 SMA。

因此,在任何滴答声上,我都需要“重新计算”SMA。在大多数情况下,只有最后一根蜡烛的价格会改变(因为我们使用的是最后一个价格)。每 10 秒一次,我需要做更多的额外工作——我需要“忘记”过时蜡烛的平均值,并“存储”“刚刚创建”蜡烛的平均值。

你能建议如何以最低的延迟实现这一点吗?低延迟是主要要求。

0 投票
1 回答
1104 浏览

genetic-algorithm - Metatrader 5 中的自定义优化

我想定制MT5的基因优化。例如,我想尝试不同的人口规模和选择方法。我是否能够调整默认的遗传优化,或者我应该将其重写为脚本或智能交易系统。是否有用于编写自定义优化器的 API(或模板),是否可以在 MT5 中使用?

0 投票
2 回答
2725 浏览

bitcoin - 我如何使用 MQL4 获取市场数据?

我正在使用 metatrader4,我可以从 btc-e http://docs.mql4.com/constants/environment_state/marketinfoconstants获取“但”市场数据的任何信息

IE

就像此图表右侧的市场数据 https://bitcoinwisdom.com/markets/btce/ltcusd一样,所有未决的买/卖订单,相同的市场和一切。如何使用 MQL4 转储挂起交易量?

0 投票
1 回答
19683 浏览

yahoo-finance - 获取股票的历史数据

我们想检查股票的历史数据,使用 HTTP 请求,并获取 JSON。

使用 yahoo API 时,我发现不仅很难清楚地理解 HTTP 请求字段,而且很难获取某一天的数据(不是每天的平均值,而是某一天的值),用这个:

http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.historicaldata%20where%20symbol%20%3D%20%22AAPL%22%20and%20startDate%20%3D%20%222012-09-11%22%20and%20endDate%20%3D%20%222014-02-11%22&format=json&diagnostics=true&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=

1.没有任何地方解释如何设置每个字段(在雅虎控制台也没有)。

2.你不能设置某一天,并获取它的值。

除了现在免费的 Yahoo,还有其他稳定的解决方案吗?或者,有人可以帮助我了解请求中的所有这些垃圾标志吗?

0 投票
1 回答
726 浏览

trading - 使用 mql4 或 mql5 注释图表

在不久的将来,我将开始交易。看看所有不同的经纪商,交易平台使用的是 MetaTrader 4 或 5,这很好。

我相信使用 mql 4 或 5 进行回测是可能的。但是为了节省时间,我打算继续使用我自己创建的回测引擎。

我想知道的是是否可以在 mql 4 或 5 中编写代码来注释图表?是这样,你能告诉我在哪里可以找到一个很好的例子供我学习。

0 投票
3 回答
5215 浏览

finance - 了解盈透证券报价事件

通过盈透证券的 API 方法接收金融报价数据时tickPricetickSize数据将具有以下参数

  • tickerId(符号)
  • 字段(1=出价,2=要价,4=最后,6=高,7=低,9=收盘)
  • 价格
  • 可以自动执行

从任何其他提要中,我都希望打勾

  • tickerId(符号)
  • 出价
  • 投标规模
  • 问尺寸

所以我的问题是:我是否应该保留一个以tickerId为键和一个结构作为包含上述五个属性的值的字典,这样每次引发滴答事件时,我都会更新结构的相应属性并将整个结构发送到我的数据库蜱虫?理想情况下,我的刻度数据库看起来像这样

来自 IB API 文档:当市场数据发生变化时调用此方法。这是否意味着如果更新了投标价格,其他属性将保持不变?

0 投票
1 回答
2557 浏览

algorithmic-trading - 如何在 MQL4 中设置订单启动栏上方的几个点

我想创建一个止损订单,如果这是一个卖出订单,它将放置在前一个订单启动柱的高点之上,或者如果这是一个买入订单,它会放置在前一个订单启动柱的低点之下。

这是一张图片来说明问题(该示例描述了一个单案例):

在此处输入图像描述

知道怎么做吗?如果我使用固定的止损,下面的代码可以正常工作。如果我用基于高或低的变量替换止损,则不会触发任何订单。

这是我的代码: