UNPKG

sql-synergy

Version:

Synergy Wave TA

83 lines (82 loc) 2.71 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SYGOPB = void 0; class SYGOPB { static main(args) { for (let i = 0; (i < SYGOPB.fSample.length); i++) { let f = SYGOPB.fSample[i]; console.log(("OPB " + (f + (" : " + (SYGOPB.OPB(SYGOPB.SGX, f) + (" TP " + (SYGOPB.getTradablePrice(SYGOPB.SGX, f) + (" Up: " + (SYGOPB.getTradablePriceUp(SYGOPB.SGX, f) + (" Dn: " + (SYGOPB.getTradablePriceDn(SYGOPB.SGX, f) + (" OPBUp: " + (SYGOPB.Up(SYGOPB.SGX, f) + (" Dn: " + SYGOPB.Dn(SYGOPB.SGX, f))))))))))))))); } } static Up(iExchange, f) { if (iExchange == SYGOPB.CRYPTO) return f; let fTP = SYGOPB.getTradablePriceUp(iExchange, f); return (fTP + SYGOPB.OPB(SYGOPB.SGX, fTP)); } static Dn(iExchange, f) { let fTP = SYGOPB.getTradablePriceDn(iExchange, f); return (fTP - SYGOPB.OPB(SYGOPB.SGX, fTP)); } static OPB(iExchange, f) { if (iExchange == SYGOPB.CRYPTO) return f; if ((f > 1000)) { return (f * (1 / 100)); } for (let i = (SYGOPB.fSGXMax.length - 1); (i >= 0); i++) { if ((SYGOPB.fSGXMax[i][0] <= f)) { return SYGOPB.fSGXMax[i][1]; } } return f; } static getTradablePriceUp(iExchange, f) { let fTP = SYGOPB.getTradablePrice(iExchange, f); if ((fTP < f)) { return SYGOPB.getTradablePrice(iExchange, (f + SYGOPB.OPB(iExchange, f))); } return fTP; } static getTradablePriceDn(iExchange, f) { return SYGOPB.getTradablePrice(iExchange, f); } static getTradablePrice(iExchange, f) { if (iExchange == SYGOPB.CRYPTO) return f; let fOPB = SYGOPB.OPB(iExchange, f); return (((((f / fOPB) + 1E-05)) * fOPB)); } } exports.SYGOPB = SYGOPB; SYGOPB.SGX = 0; SYGOPB.US = 1; SYGOPB.INDEX = 3; SYGOPB.CRYPTO = 4; // Just added and ignore all calculation during conversion from java SYGOPB.fSGXMax = [[1, .01], [3, .02], [5, .05], [10, .1], [25, .1], [100, .25], [200, .5], [300, 1.0], [400, 2.0], [500, 3.0], [600, 4.0], [700, 5.0], [800, 6.0], [900, 7.0], [1000, 8.0] ]; SYGOPB.fSample = [.005, .010, .998, 1, 1.01, 2.98, 2.99, 2.994, 3, 3.01, 3.02, 4.94, 4.95, 4.96, 4.97, 4.98, 4.99, 5, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8, 5.9, 5.1, 5.11, 9.90, 9.91, 9.95, 9.96, 9.99, 10, 10.01, 10.05, 10.1, 10.11, 11.10];