-
-
Save e-tang/160b949789c01f14cfb5c9ad1b7267c3 to your computer and use it in GitHub Desktop.
Ichimoku cloud Javascript node
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| const inputs = { tenkan: -9, kijun: -26, senkou: -52, chikou: -26 }; | |
| main['ichimoku_' + pair] = generateIchimoku(pair, false); | |
| main['chikou_' + pair] = generateIchimoku(pair, true); | |
| const generateIchimoku = (pair, isChikou) => { | |
| const high = isChikou ? main.high[pair].slice(0, inputs.chikou) : main.high[pair]; | |
| const low = isChikou ? main.low[pair].slice(0, inputs.chikou) : main.low[pair]; | |
| const getHi = val => Math.max(...high.slice(val)); | |
| const getLo = val => Math.min(...low.slice(val)); | |
| const tenkan = (getHi(inputs.tenkan) + getLo(inputs.tenkan)) / 2; | |
| const kijun = (getHi(inputs.kijun) + getLo(inputs.kijun)) / 2; | |
| const spliceTo = isChikou ? main.high[pair].length + inputs.chikou * 2 : main.high[pair].length + inputs.chikou; | |
| const tenkanOld = (Math.max(...high.slice(spliceTo + inputs.tenkan, spliceTo)) + Math.min(...low.slice(spliceTo + inputs.tenkan, spliceTo))) / 2; | |
| const kijunOld = (Math.max(...high.slice(spliceTo + inputs.kijun, spliceTo)) + Math.min(...low.slice(spliceTo + inputs.kijun, spliceTo))) / 2; | |
| const senkouA = (tenkanOld + kijunOld) / 2; | |
| const senkouB = (Math.max(...high.slice(spliceTo + inputs.senkou, spliceTo)) + Math.min(...low.slice(spliceTo + inputs.senkou, spliceTo))) / 2; | |
| return { tenkan, kijun, senkouA, senkouB }; | |
| }; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment