UNPKG

@dickyindra/klinecharts

Version:

Lightweight k-line chart built with html5 canvas

89 lines (80 loc) 2.53 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; /** * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * BRAR * 默认参数是26。 * 公式N日BR=N日内(H-CY)之和除以N日内(CY-L)之和*100, * 其中,H为当日最高价,L为当日最低价,CY为前一交易日的收盘价,N为设定的时间参数。 * N日AR=(N日内(H-O)之和除以N日内(O-L)之和)*100, * 其中,H为当日最高价,L为当日最低价,O为当日开盘价,N为设定的时间参数 * */ var _default = { name: 'BRAR', shortName: 'BRAR', calcParams: [26], plots: [{ key: 'br', title: 'BR: ', type: 'line' }, { key: 'ar', title: 'AR: ', type: 'line' }], calcTechnicalIndicator: function calcTechnicalIndicator(dataList, _ref) { var params = _ref.params; var hcy = 0; var cyl = 0; var ho = 0; var ol = 0; return dataList.map(function (kLineData, i) { var brar = {}; var high = kLineData.high; var low = kLineData.low; var open = kLineData.open; var preClose = (dataList[i - 1] || kLineData).close; ho += high - open; ol += open - low; hcy += high - preClose; cyl += preClose - low; if (i >= params[0] - 1) { if (ol !== 0) { brar.ar = ho / ol * 100; } else { brar.ar = 0; } if (cyl !== 0) { brar.br = hcy / cyl * 100; } else { brar.br = 0; } var agoKLineData = dataList[i - (params[0] - 1)]; var agoHigh = agoKLineData.high; var agoLow = agoKLineData.low; var agoOpen = agoKLineData.open; var agoPreClose = (dataList[i - params[0]] || dataList[i - (params[0] - 1)]).close; hcy -= agoHigh - agoPreClose; cyl -= agoPreClose - agoLow; ho -= agoHigh - agoOpen; ol -= agoOpen - agoLow; } return brar; }); } }; exports.default = _default;