@azteam/candlestick-chart
Version:
N/A
121 lines (120 loc) • 4.39 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.generateTickBBPercentRange = generateTickBBPercentRange;
exports.generateTickCandleSizeRange = generateTickCandleSizeRange;
exports.generateTickColor = generateTickColor;
exports.generateTickCompare = generateTickCompare;
exports.generateTickProfitPercentRange = generateTickProfitPercentRange;
exports.generateTickSMACompare51020 = generateTickSMACompare51020;
exports.generateTickSMACompareBB = generateTickSMACompareBB;
var _lodash = _interopRequireDefault(require("lodash"));
var _constant = require("./constant");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
function generateTickSMACompare51020(name, type, tick) {
var arr = _lodash["default"].orderBy([{
key: 5,
value: tick["".concat(type, "_sma_5")]
}, {
key: 10,
value: tick["".concat(type, "_sma_10")]
}, {
key: 20,
value: tick["".concat(type, "_sma_20")]
}], ['value'], ['desc']);
return "".concat(name, "_").concat(type, "_sma_straight_").concat(_lodash["default"].map(arr, 'key').join('_'));
}
function generateTickSMACompareBB(name, type, tick) {
return [5, 10].map(function (i) {
var sma = tick["".concat(type, "_sma_").concat(i)];
var value = 'UNKNOWN';
if (sma > tick.bb_sma) {
if (sma > tick.bb_upper_band) {
value = 'TOP';
} else {
value = 'ABOVE';
}
} else if (sma <= tick.bb_sma) {
if (sma < tick.bb_lower_band) {
value = 'BOTTOM';
} else {
value = 'BELOW';
}
}
return "".concat(name, "_").concat(type, "_sma_").concat(i, "_bb_").concat(value);
});
}
function generateTickBBPercentRange(name, tick) {
var value = 6;
if (tick.bb_percent <= 0) {
value = 0;
} else if (tick.bb_percent <= 0.2) {
value = 1;
} else if (tick.bb_percent <= 0.4) {
value = 2;
} else if (tick.bb_percent <= 0.6) {
value = 3;
} else if (tick.bb_percent <= 0.8) {
value = 4;
} else if (tick.bb_percent <= 1) {
value = 5;
}
return "".concat(name, "_bbp_range_").concat(value);
}
function generateTickProfitPercentRange(name, tick, currentTick) {
var value = 0;
if (tick.profit_percent < 0) {
value = Math.floor(tick.profit_percent / 0.5);
} else if (tick.profit_percent > 0) {
value = Math.ceil(tick.profit_percent / 0.5);
}
var currentValue = 0;
if (currentTick.profit_percent < 0) {
currentValue = Math.floor(currentTick.profit_percent / 0.5);
} else if (currentTick.profit_percent > 0) {
currentValue = Math.ceil(currentTick.profit_percent / 0.5);
}
value = value >= 10 ? 10 : value;
value = value <= -10 ? -10 : value;
currentValue = currentValue >= 10 ? 10 : currentValue;
currentValue = currentValue <= -10 ? -10 : currentValue;
return "".concat(name, "_profit_per_range_").concat(value, "_").concat(currentValue);
}
function generateTickCandleSizeRange(name, tick, currentTick) {
var value = 0;
if (tick.color === _constant.CANDLE_COLOR.RED) {
value = Math.floor(tick.candle_size / 0.5);
} else if (tick.color === _constant.CANDLE_COLOR.GREEN) {
value = Math.ceil(tick.candle_size / 0.5);
}
var currentValue = 0;
if (currentTick.color === _constant.CANDLE_COLOR.RED) {
currentValue = Math.floor(currentTick.candle_size / 0.5);
} else if (currentTick.color === _constant.CANDLE_COLOR.GREEN) {
currentValue = Math.ceil(currentTick.candle_size / 0.5);
}
value = value >= 10 ? 10 : value;
value = value <= -10 ? -10 : value;
currentValue = currentValue >= 10 ? 10 : currentValue;
currentValue = currentValue <= -10 ? -10 : currentValue;
return "".concat(name, "_candle_size_range_").concat(value, "_").concat(currentValue);
}
function generateTickColor(name, tickPrev2, tickPrev1, tickCurrent) {
return "".concat(name, "_color_").concat(tickPrev2.color, "_").concat(tickPrev1.color, "_").concat(tickCurrent.color);
}
function generateTickCompare(name, tickPrev2, tickPrev1, tickCurrent) {
return ['close'].map(function (i) {
var arr = _lodash["default"].orderBy([{
key: 2,
value: tickPrev2[i]
}, {
key: 1,
value: tickPrev1[i]
}, {
key: 0,
value: tickCurrent[i]
}], ['value'], ['desc']);
return "".concat(name, "_straight_").concat(i, "_").concat(_lodash["default"].map(arr, 'key').join('_'));
});
}