Anychart/Anystock 技术指标

Posted

技术标签:

【中文标题】Anychart/Anystock 技术指标【英文标题】:Anychart/Anystock Technical Indicators 【发布时间】:2018-02-01 18:40:55 【问题描述】:

我有一个每日股票投资组合价格的折线图,但我们还希望显示所选时间段内每日价格的变化百分比。我在Technical Indicators 和Rate of Change(ROC) 中找到了,但它需要定义一个周期,我希望它比较的价格是数据系列中的第一个价格。有没有办法做到这一点?提前感谢您的帮助。

更新: 因此,在查看文档后,comparisonMode("percent") 似乎会做我想要的数学运算,但我无法找出一种方法来绘制结果,而不仅仅是创建一个 y 轴值。

【问题讨论】:

【参考方案1】:

是的,为此,AnyStock 提供了比较模式。比较模式不会影响线的系列形状或其他任何东西。例如,与系列中的第一个价格相比,它可以重新计算价值(其他模式可用)。您可以在下面找到一个示例,该示例显示了如何使用比较模式。 另外,您可以在this article了解更多关于比较模式的信息

anychart.onDocumentReady(function () 
    
    var dataTable = anychart.data.table();
    // data comes from the function in https://cdn.anychart.com/csv-data/dji-daily-short.js
    dataTable.addData(get_dji_daily_short_data());

    var firstMapping = dataTable.mapAs(value: 1);

    var chart = anychart.stock();
    chart.padding(10, 10, 10, 50);

    var nonePlot = chart.plot(0);
    nonePlot.line(firstMapping);
    nonePlot.legend().titleFormat(function ()return "comparisonMode='none'");
    // Set comparison mode to 'none'
    nonePlot.yScale().comparisonMode("none");

    var valuePlot = chart.plot(1);
    var valueSeries = valuePlot.line(firstMapping);
    valuePlot.legend().titleFormat(function ()return "comparisonMode='value'");
	valuePlot.legend().itemsFormat(function () 
        return "Value: " + anychart.format.number(this.valueChange, 3, ".", "") ;
    );
  valueSeries.tooltip().format(function() 
  	return 'Value change: ' + anychart.format.number(this.valueChange, 3, ".", "") ;
  );
    // Set comparison mode 'value'
    valuePlot.yScale().comparisonMode("value");

    var percentPlot = chart.plot(2);
   var percentSeries = percentPlot.line(firstMapping);
    percentPlot.legend().titleFormat(function ()return "comparisonMode='percent'");
  	percentPlot.legend().itemsFormat(function () 
        return "Value: " + this.valuePercentChange + '%';
    );
    percentSeries.tooltip().format(function() 
  	return 'Percent change: ' + this.valuePercentChange + '%';
  );
    percentPlot.yAxis().labels().format("%value%");
    // Set comparison mode to 'percent'
    percentPlot.yScale().comparisonMode("percent");

    chart.title("Stock: Different Comparison Modes");
    chart.container("container");
    chart.draw();
);
html, body, #container 
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
<script src="https://cdn.anychart.com/releases/8.1.0/js/anychart-base.min.js"></script>
<script src="https://cdn.anychart.com/releases/8.1.0/js/anychart-ui.min.js"></script>
<script src="https://cdn.anychart.com/releases/8.1.0/js/anychart-exports.min.js"></script>
<script src="https://cdn.anychart.com/releases/8.1.0/js/anychart-stock.min.js"></script>

<script src="https://cdn.anychart.com/csv-data/dji-daily-short.js"></script>
<link href="https://cdn.anychart.com/releases/8.1.0/css/anychart-ui.min.css" rel="stylesheet"/>
<div id="container"></div>

【讨论】:

以上是关于Anychart/Anystock 技术指标的主要内容,如果未能解决你的问题,请参考以下文章

IOS技术分享| any自习室场景实现

Android技术分享| 开源Demo any自习室布局架构

Any to Any 实时变声的实现与落地丨RTC Dev Meetup

Android技术分享| 开源Demo any自习室布局架构

TS 基本类型分类any 类型

sql中any和all的区别?