sql-synergy
Version:
Synergy Wave TA
83 lines (82 loc) • 2.71 kB
JavaScript
;
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];