问题标签 [amibroker]

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 回答
643 浏览

trading - Get past yearly gains in exploration in Amibroker

I am using Amibroker. I would like to get the yearly gain of last 2 years using AFL. The yearly gain is defined as price gain on last date of year in December compared to first date of year in January. One way to get this is to view the chart in yearly mode. However, I want the yearly returns to be obtained in AFL.

0 投票
1 回答
939 浏览

trading - 动量分数探索 AFL

我想建立探索 AFL。下面是场景。

动量分数:

每月动量值计算为过去 12 个月的累积回报。

每月动量的计算分 3 步

1) 我们通过将每月回报百分比加一来计算每月总回报。例如,从 5% (0.05) 的月收益,我们得到 1.05 (0.05 + 1) 的月总收益,而从 -5% (-0.05) 的月收益,我们得到 0.95 ( 0.05 + 1.0)。

2) 我们将过去 12 个月的所有月总回报相乘。

3) 我们从第 2 步的结果值中减去 1,得到 12 个月的净动量得分。

为了说明这个计算,假设 AUROPHARMA (Aurobindo Pharma) 的股票上涨了 2%、-5%、4.3%、0.5%、10.1%、-2.2%、6%、3.6%、0.1%、0.4%、1.4% , -2.6% 过去 12 个月。然后,我们将每月回报加 1,将它们全部相乘并从中减去 1 以获得动量分数。

动量得分 = (1.02) (0.95) (1.043) (1.05) (1.101) (0.978) (0.94) (1.036) (1.001) (1.004) (1.014)*(0.974) - 1 这将给出 10.45 的动量得分% (0.1045) 到 Aurobindo Pharma 股票。

有人可以帮忙吗?

0 投票
1 回答
551 浏览

c# - 如何更新 amibroker 中所有符号的数据

我正在使用 .Net SDK 制作实时数据插件。

https://github.com/kriasoft/amibroker

添加了 GetQuotesEx() 的逻辑,当在 Amibroker 中打开交易品种图表时,它会更新该交易品种的数据。

我需要一些帮助来了解我应该遵循哪些步骤来获取实时数据,一周以来我一直在尝试解决这个问题。

目前我知道
当数据准备好时我必须从某个地方调用 NotifyStreamingUpdate() 。但是 Amibroker 会为哪个股票调用这个函数呢?我是 C# 新手,所以任何帮助表示赞赏。

0 投票
1 回答
1042 浏览

amibroker - AFL 中的编码差异

我正在尝试在 amibroker 中使用 AFL 编码分歧。该程序是基于块的分歧。所以它应该遍历每个块并在搜索峰值和谷值时比较块的值。然后它将它们存储到峰值和谷值数组中。然后它将遍历数组并检查正负背离并发出买入和卖出信号。该程序应在负背离上放置买入信号,在正背离上放置卖出信号。现在,该程序将买卖信号放置在任何地方。任何帮助,将不胜感激。

0 投票
1 回答
1849 浏览

algorithmic-trading - Amibroker AFL 代码 Buy Sell 状态未在 if 条件下获取

我有适用于原油的 AFL。在 10 笔交易中,有 8 笔交易达到了目标。我有下订单自动交易的代码。自动交易代码与其他 AFL 代码一起工作正常,但问题出在以下算法中,BUY 和 SELL 布尔值未提供给 IF 条件。但是 IIF(购买 .... 条件运行良好。

我的主要问题是为什么 BUY Sell True 或 false 在 AFL 的最后状态下不起作用。请帮我解决这个问题。

0 投票
1 回答
596 浏览

trading - 在 Amibroker 回测中扩大购买头寸

我在 Amibroker 中有一个简单的回测代码。它看起来像这样;

我的资产是10000美元。此代码有效,但限制是当它购买时,全部 10000 美元的股权都被投入购买。我想要的是这样的;

生成时BuySignal(),购买 1000 美元或 10% 的股权。BuySignal()每当生成此金额时,请继续购买此金额。如果SellSignal()生成,则卖出整个仓位。

如何修改代码以缩小买入仓位?

我正在使用 Amibroker ver6.28。

0 投票
2 回答
579 浏览

amibroker - 52 周高点 afl 后的最低点

有没有办法通过使用 amibroker afl 来找到一只股票在创下最近 52 周高点后的最低价?由于这项探索将在观察名单上进行,并且股票将在不同日期创下 52 周新高;我如何编码以在观察列表中每只股票的每个不同日期之后找到低点。

0 投票
1 回答
989 浏览

amibroker - 防止 Amibroker 在同一个符号中与其退出同日进入

我正在尝试创建一个基于股票/股票投资组合的系统,如果条件满足,该系统将在开盘时进入,并可能在同一天收盘时退出。我有这个基本上工作。我不能去做的是,我希望我的股票系统在任何时候都只有一个公司的空缺职位。

似乎如果在同一天同时存在退出和进入,amibroker 回测允许同一家公司在公开交易中被购买,如果同一家公司在同一天有卖单。这是一个例子:

在此处输入图像描述

注意第 1 点 - 我们将在 17 日开盘时入场 在第 2 点,我们当天收到卖出信号,因此我们应该在 24 日收盘时离场。但是在第 3 点 - 我们在同一天有同一家公司的条目。

需要明确的是 - 我想在同一天允许多个条目 - 这是有效的。我唯一想知道的是防止回测者在退出的同一天进入同一家公司,因为由于系统规则,我们有一天会在 1 家公司拥有 2 个职位。

这是复制此内容的示例代码:

我已经阅读并重新阅读了有关投资组合时间的页面:这里但我仍然无法弄清楚如何防止同一家公司在退出的同一天进入。任何帮助将不胜感激!

更新 似乎在 SELL 条件中使用 OR C > O 会影响这一点。如果我删除 OR C > O 部分,我会得到正确的行为。它在第二天进入。现在我想知道如何使用那个退出而不回到同一个酒吧同一个公司的进入和退出......

0 投票
2 回答
359 浏览

amibroker - 无法将此自定义指标添加到 Amibroker 回测报告

我想在回测报告中添加一个额外的列来指示波动性。

这是我的代码。额外的列volatility_recent出现,但列中没有值出现。但是,如果我要使用注释行trade.AddCustomMetric( "proceeds", trade.Shares*trade.ExitPrice );,列中会出现一些数值。

代码有什么问题?

0 投票
1 回答
79 浏览

amibroker - 如何将这个长赋值语句转换为 Amibroker 中的函数?

我在 Amibroker 中有这个很长的赋值语句。

我想把这个长语句转换成一个接受参数 n 的通用函数。

上面的代码适用于n == 4. 由于 Amibroker 中使用的数组格式,我陷入了这个看似简单的问题。

如果n == 3,则等效代码为;

我正在使用 Amibroker ver6.28