fix break

This commit is contained in:
Dung Nguyen 2022-03-05 09:04:12 +07:00
parent 8abca20f88
commit ef93638ddd

250
index.js
View File

@ -103,23 +103,26 @@ puppeteer
} catch (error) { } catch (error) {
console.log(`Không tìm thấy page!`); console.log(`Không tìm thấy page!`);
} }
currentSessionID = isDisableBtn ? JSON.parse(data.substr(2, data.length))[1].session : -1; currentSessionID = isDisableBtn
? JSON.parse(data.substr(2, data.length))[1].session
: -1;
// if (currentSessionID !== -1) console.log('currentSessionID', currentSessionID); // if (currentSessionID !== -1) console.log('currentSessionID', currentSessionID);
const indSessionID = CONFIG.enterOrderList.findIndex((e) => e.sessionID === currentSessionID && e.enable); const indSessionID = CONFIG.enterOrderList.findIndex(
(e) => e.sessionID === currentSessionID && e.enable
);
if (indSessionID > -1 && isDisableBtn) { if (indSessionID > -1 && isDisableBtn) {
CONFIG.enterOrderList[indSessionID].enable = false; CONFIG.enterOrderList[indSessionID].enable = false;
CONFIG.enterOrderList[indSessionID].time = new Date().toLocaleString('vi-VN'); CONFIG.enterOrderList[indSessionID].time = new Date().toLocaleString(
const moneyEnterOrder = CONFIG.moneyEnterOrder[CONFIG.enterOrderList[indSessionID].ind]; "vi-VN"
if (moneyEnterOrder) { );
// Nếu set 0,0,0 thì bỏ qua những lệnh này const moneyEnterOrder =
await enterOrderFn(CONFIG.enterOrderList[indSessionID].trend === 0 ? 'buy' : 'sell', moneyEnterOrder, TELEGRAM_CHANNEL, CONFIG.enterOrderList[indSessionID].sessionID); CONFIG.moneyEnterOrder[CONFIG.enterOrderList[indSessionID].ind];
} else { await enterOrderFn(
TeleGlobal.sendMessage( CONFIG.enterOrderList[indSessionID].trend === 0 ? "buy" : "sell",
TELEGRAM_CHANNEL, moneyEnterOrder,
`⚡️ Đang trong phiên break lệnh!`, TELEGRAM_CHANNEL,
{ parse_mode: "HTML" } CONFIG.enterOrderList[indSessionID].sessionID
); );
}
} }
} }
@ -173,9 +176,9 @@ puppeteer
console.log("Vào webSocketCreated"); console.log("Vào webSocketCreated");
}); });
page.on('response', async (response) => { page.on("response", async (response) => {
const request = response.request(); const request = response.request();
if (request.url().includes('binaryoption/spot-balance')){ if (request.url().includes("binaryoption/spot-balance")) {
const res = await response.json(); const res = await response.json();
if (res.ok) { if (res.ok) {
if (!d) { if (!d) {
@ -184,7 +187,7 @@ puppeteer
dInWeb = res.d; dInWeb = res.d;
} }
} }
}) });
// Vào lệnh: type - buy/sell // Vào lệnh: type - buy/sell
async function enterOrderFn(type, countMoney, myTelegramID, sessionIDArg) { async function enterOrderFn(type, countMoney, myTelegramID, sessionIDArg) {
@ -217,7 +220,9 @@ puppeteer
if (isEnterOrderSuccess) { if (isEnterOrderSuccess) {
TeleGlobal.sendMessage( TeleGlobal.sendMessage(
myTelegramID, myTelegramID,
`👌 Đặt lệnh ${type} | ${countMoney}$ ${` | ${sessionIDArg}` || ""} thành công!`, `👌 Đặt lệnh ${type} | ${countMoney}$ ${
` | ${sessionIDArg}` || ""
} thành công!`,
{ parse_mode: "HTML" } { parse_mode: "HTML" }
); );
} else { } else {
@ -233,15 +238,15 @@ puppeteer
TeleGlobal.on("message", async ({ text, from }) => { TeleGlobal.on("message", async ({ text, from }) => {
const myTelegramID = from.id; const myTelegramID = from.id;
if (text.toLowerCase() === 't') { if (text.toLowerCase() === "t") {
const enterOrder = { const enterOrder = {
enable: true, enable: true,
ind: 0, // Lần vào lệnh thua ind: 0, // Lần vào lệnh thua
isWin: false, isWin: false,
trend: 0, // Lệnh vào buy trend: 0, // Lệnh vào buy
sessionID: currentSessionID + (currentSessionID === -1 ? 1 : 2), // Phiên vào lệnh sessionID: currentSessionID + (currentSessionID === -1 ? 1 : 2), // Phiên vào lệnh
time: '', // Tgian vào lệnh time: "", // Tgian vào lệnh
} };
CONFIG.enterOrderList.push(enterOrder); CONFIG.enterOrderList.push(enterOrder);
TeleGlobal.sendMessage( TeleGlobal.sendMessage(
@ -290,11 +295,9 @@ puppeteer
if (text === "/check_tk") { if (text === "/check_tk") {
if (!dInWeb) { if (!dInWeb) {
TeleGlobal.sendMessage( TeleGlobal.sendMessage(myTelegramID, `Chưa lấy được thông tin ví`, {
myTelegramID, parse_mode: "HTML",
`Chưa lấy được thông tin ví`, });
{ parse_mode: "HTML" }
);
return; return;
} }
@ -312,11 +315,9 @@ puppeteer
if (text === "/enable_auto_trade") { if (text === "/enable_auto_trade") {
CONFIG.autoTrade = true; CONFIG.autoTrade = true;
TeleGlobal.sendMessage( TeleGlobal.sendMessage(myTelegramID, `Bật auto trade thành công!`, {
myTelegramID, parse_mode: "HTML",
`Bật auto trade thành công!`, });
{ parse_mode: "HTML" }
);
return; return;
} }
@ -340,53 +341,73 @@ SELL: /sell:[number]`,
return; return;
} }
if (text.startsWith('/set_count_trade')) { if (text.startsWith("/set_count_trade")) {
const countTrade = Number(text.replace("/set_count_trade:", "")); const countTrade = Number(text.replace("/set_count_trade:", ""));
CONFIG.countTradeContinue = countTrade; CONFIG.countTradeContinue = countTrade;
TeleGlobal.sendMessage(myTelegramID, `Cập nhật thành công. ${countTrade} lệnh thông thì đánh ngược lại`, { TeleGlobal.sendMessage(
myTelegramID,
`Cập nhật thành công. ${countTrade} lệnh thông thì đánh ngược lại`,
{
parse_mode: "HTML", parse_mode: "HTML",
}); }
);
return; return;
} }
if (text.startsWith('/set_money_enter')) { if (text.startsWith("/set_money_enter")) {
const moneyEnterOrderNew = text.replace("/set_money_enter:", "").split(','); const moneyEnterOrderNew = text
.replace("/set_money_enter:", "")
.split(",");
CONFIG.moneyEnterOrder = moneyEnterOrderNew; CONFIG.moneyEnterOrder = moneyEnterOrderNew;
TeleGlobal.sendMessage(myTelegramID, `Cập nhật thành công. ${moneyEnterOrderNew.join(',')} số tiền giới hạn khi đánh đảo chiều`, { TeleGlobal.sendMessage(
myTelegramID,
`Cập nhật thành công. ${moneyEnterOrderNew.join(
","
)} số tiền giới hạn khi đánh đảo chiều`,
{
parse_mode: "HTML", parse_mode: "HTML",
}); }
);
return; return;
} }
if (text.startsWith('/view_history')) { if (text.startsWith("/view_history")) {
const dateQuery = text.replace('/view_history:', ''); const dateQuery = text.replace("/view_history:", "");
db.query( db.query(
`SELECT * FROM histories WHERE time like '%${dateQuery}' ORDER BY id asc`, `SELECT * FROM histories WHERE time like '%${dateQuery}' ORDER BY id asc`,
[], (error, results) => { [],
(error, results) => {
if (error) { if (error) {
console.log(error); console.log(error);
TeleGlobal.sendMessage(myTelegramID, `Truy vấn lịch sử thất bại!`, { TeleGlobal.sendMessage(
myTelegramID,
`Truy vấn lịch sử thất bại!`,
{
parse_mode: "HTML", parse_mode: "HTML",
}); }
);
} else { } else {
let textResult = ''; let textResult = "";
if (!results.length) { if (!results.length) {
textResult = 'Chưa có lịch sử giao dịch!'; textResult = "Chưa có lịch sử giao dịch!";
} else { } else {
results.forEach((e) => { results.forEach((e) => {
textResult += `${e.time} | ${e.sessionID} | ${coverLastResult(e.trend)} | ${e.isWin ? 'Thắng' : 'Thua'} ${e.money}$\n`; textResult += `${e.time} | ${e.sessionID} | ${coverLastResult(
e.trend
)} | ${e.isWin ? "Thắng" : "Thua"} ${e.money}$\n`;
}); });
} }
TeleGlobal.sendMessage(myTelegramID, textResult, { parse_mode: "HTML" }); TeleGlobal.sendMessage(myTelegramID, textResult, {
parse_mode: "HTML",
});
} }
} }
) );
} }
}); });
}); });
/** /**
* Hàm này xử sau mỗi phiên kết quả * Hàm này xử sau mỗi phiên kết quả
* @param sessionID * @param sessionID
@ -408,7 +429,11 @@ function roleEnterOrder(sessionID, lastResult) {
// Nếu phiên tiếp theo trùng màu với phiên trước đó thì tăng số lượng nến trùng lên // Nếu phiên tiếp theo trùng màu với phiên trước đó thì tăng số lượng nến trùng lên
totalColorCandle += 1; totalColorCandle += 1;
} else { } else {
db.query(`INSERT INTO analytics (trend, date, count) VALUES(${currentColorCandle}, '${new Date().toLocaleString('vi-VN')}', ${totalColorCandle})`); db.query(
`INSERT INTO analytics (trend, date, count) VALUES(${currentColorCandle}, '${new Date().toLocaleString(
"vi-VN"
)}', ${totalColorCandle})`
);
totalColorCandle = 1; totalColorCandle = 1;
currentColorCandle = lastResult; currentColorCandle = lastResult;
} }
@ -419,14 +444,18 @@ function roleEnterOrder(sessionID, lastResult) {
* sessionID - 1 = enterOrder.sessionID * sessionID - 1 = enterOrder.sessionID
*/ */
function currentEnterOrderFn() { function currentEnterOrderFn() {
const indEnterOrder = CONFIG.enterOrderList.findIndex((e) => e.sessionID === sessionID - 1); const indEnterOrder = CONFIG.enterOrderList.findIndex(
(e) => e.sessionID === sessionID - 1
);
if (indEnterOrder === -1) return undefined; if (indEnterOrder === -1) return undefined;
return CONFIG.enterOrderList[indEnterOrder]; return CONFIG.enterOrderList[indEnterOrder];
} }
// Xoá phiên hiện tại // Xoá phiên hiện tại
function deleteCurrentEnterOrder() { function deleteCurrentEnterOrder() {
CONFIG.enterOrderList = CONFIG.enterOrderList.filter((e) => e.sessionID !== sessionID - 1); CONFIG.enterOrderList = CONFIG.enterOrderList.filter(
(e) => e.sessionID !== sessionID - 1
);
} }
const currentEnterOrder = currentEnterOrderFn(); const currentEnterOrder = currentEnterOrderFn();
@ -436,37 +465,66 @@ function roleEnterOrder(sessionID, lastResult) {
// WIN session // WIN session
TeleGlobal.sendMessage( TeleGlobal.sendMessage(
TELEGRAM_CHANNEL, TELEGRAM_CHANNEL,
`🎉 Bạn vừa thắng lệnh phiên ${sessionID - 1} với lệnh ${coverLastResult(lastResult)}. `🎉 Bạn vừa thắng lệnh phiên ${
sessionID - 1
} với lệnh ${coverLastResult(lastResult)}.
Vào lệnh: ${currentEnterOrder.time} Vào lệnh: ${currentEnterOrder.time}
💰 Lãi: ${CONFIG.moneyEnterOrder[currentEnterOrder.ind] * 0.95}$ 💰 Lãi: ${CONFIG.moneyEnterOrder[currentEnterOrder.ind] * 0.95}$
💰 Tổng: ${d.demoBalance + CONFIG.moneyEnterOrder[currentEnterOrder.ind] * 0.95}`, 💰 Tổng: ${
d.demoBalance + CONFIG.moneyEnterOrder[currentEnterOrder.ind] * 0.95
}`,
{ parse_mode: "HTML" } { parse_mode: "HTML" }
); );
d.demoBalance += CONFIG.moneyEnterOrder[currentEnterOrder.ind] * 0.95; d.demoBalance += CONFIG.moneyEnterOrder[currentEnterOrder.ind] * 0.95;
db.query(`INSERT INTO histories (sessionID, trend, time, isWin, money) VALUES(${sessionID - 1}, ${lastResult}, '${currentEnterOrder.time}', 1, ${CONFIG.moneyEnterOrder[currentEnterOrder.ind] * 0.95})`); db.query(
`INSERT INTO histories (sessionID, trend, time, isWin, money) VALUES(${
sessionID - 1
}, ${lastResult}, '${currentEnterOrder.time}', 1, ${
CONFIG.moneyEnterOrder[currentEnterOrder.ind] * 0.95
})`
);
deleteCurrentEnterOrder(); deleteCurrentEnterOrder();
} else { } else {
// Nếu vẫn còn vốn xoay vòng thì đánh tiếp // Nếu vẫn còn vốn xoay vòng thì đánh tiếp
if (currentEnterOrder.ind < CONFIG.moneyEnterOrder.length && CONFIG.moneyEnterOrder[currentEnterOrder.ind + 1]) { if (
currentEnterOrder.ind < CONFIG.moneyEnterOrder.length &&
typeof CONFIG.moneyEnterOrder[currentEnterOrder.ind + 1] !== "undefined"
) {
if (CONFIG.moneyEnterOrder[currentEnterOrder.ind + 1]) {
currentEnterOrder.sessionID += 2; currentEnterOrder.sessionID += 2;
TeleGlobal.sendMessage( TeleGlobal.sendMessage(
TELEGRAM_CHANNEL, TELEGRAM_CHANNEL,
`🏳 Bạn vừa thua lệnh phiên ${sessionID - 1} với lệnh ${coverLastResult(lastResult)}. `🏳 Bạn vừa thua lệnh phiên ${
Vào lệnh: ${currentEnterOrder.time} sessionID - 1
💰 Thua: ${CONFIG.moneyEnterOrder[currentEnterOrder.ind]}$ } với lệnh ${coverLastResult(lastResult)}.
💰 Tổng: ${d.demoBalance - CONFIG.moneyEnterOrder[currentEnterOrder.ind]}$ Vào lệnh: ${currentEnterOrder.time}
Bạn sẽ vào lệnh phiên tiếp theo(${currentEnterOrder.sessionID})!`, 💰 Thua: ${CONFIG.moneyEnterOrder[currentEnterOrder.ind]}$
💰 Tổng: ${d.demoBalance - CONFIG.moneyEnterOrder[currentEnterOrder.ind]}$
Bạn sẽ vào lệnh phiên tiếp theo(${currentEnterOrder.sessionID})!`,
{ parse_mode: "HTML" } { parse_mode: "HTML" }
); );
d.demoBalance -= CONFIG.moneyEnterOrder[currentEnterOrder.ind]; d.demoBalance -= CONFIG.moneyEnterOrder[currentEnterOrder.ind];
db.query(`INSERT INTO histories (sessionID, trend, time, isWin, money) VALUES(${sessionID - 1}, ${lastResult}, '${currentEnterOrder.time}', 0, ${CONFIG.moneyEnterOrder[currentEnterOrder.ind]})`); db.query(
`INSERT INTO histories (sessionID, trend, time, isWin, money) VALUES(${
sessionID - 1
}, ${lastResult}, '${currentEnterOrder.time}', 0, ${
CONFIG.moneyEnterOrder[currentEnterOrder.ind]
})`
);
currentEnterOrder.ind += 1; currentEnterOrder.ind += 1;
currentEnterOrder.enable = true; currentEnterOrder.enable = true;
currentEnterOrder.time = ''; currentEnterOrder.time = "";
} else {
TeleGlobal.sendMessage(
TELEGRAM_CHANNEL,
`⚡️ Đang trong phiên break lệnh!`,
{ parse_mode: "HTML" }
);
}
} else { } else {
deleteCurrentEnterOrder(); deleteCurrentEnterOrder();
TeleGlobal.sendMessage( TeleGlobal.sendMessage(
@ -506,12 +564,18 @@ Bạn sẽ vào lệnh ở phiên tiếp theo(${currentEnterOrder.sessionID})!`,
(isNotBreakdowUp || isNotBreakdowDown) && (isNotBreakdowUp || isNotBreakdowDown) &&
CONFIG.historys.length >= CONFIG.countTradeContinue CONFIG.historys.length >= CONFIG.countTradeContinue
) { ) {
const isEnterOrderd = CONFIG.enterOrderList.map((e) => e.sessionID).includes(sessionID + 1); const isEnterOrderd = CONFIG.enterOrderList
const textAlert = `Hệ thống đang thông ${totalEnterOrderContinue} lệnh ${coverLastResult(lastResult)} liên tiếp.`; .map((e) => e.sessionID)
.includes(sessionID + 1);
const textAlert = `Hệ thống đang thông ${totalEnterOrderContinue} lệnh ${coverLastResult(
lastResult
)} liên tiếp.`;
if (isEnterOrderd) { if (isEnterOrderd) {
TeleGlobal.sendMessage( TeleGlobal.sendMessage(
TELEGRAM_CHANNEL, TELEGRAM_CHANNEL,
`${textAlert} Bạn đã thua lệnh trước (${sessionID - 1}) nên hệ thống tự vào lệnh tiếp theo theo config!`, `${textAlert} Bạn đã thua lệnh trước (${
sessionID - 1
}) nên hệ thống tự vào lệnh tiếp theo theo config!`,
{ parse_mode: "HTML" } { parse_mode: "HTML" }
); );
return; return;
@ -531,15 +595,17 @@ Bạn sẽ vào lệnh ở phiên tiếp theo(${currentEnterOrder.sessionID})!`,
isWin: true, isWin: true,
trend: trendEnterOrder, // Lệnh vào trend: trendEnterOrder, // Lệnh vào
sessionID: sessionID + 1, // Phiên vào lệnh sessionID: sessionID + 1, // Phiên vào lệnh
time: '', // Tgian vào lệnh time: "", // Tgian vào lệnh
} };
CONFIG.enterOrderList.push(enterOrder); CONFIG.enterOrderList.push(enterOrder);
if (CONFIG.autoTrade) { if (CONFIG.autoTrade) {
TeleGlobal.sendMessage( TeleGlobal.sendMessage(
TELEGRAM_CHANNEL, TELEGRAM_CHANNEL,
`${textAlert} Hệ thống đã tự vào lệnh ${coverLastResult(enterOrder.trend)} cho phiên sau(${enterOrder.sessionID})!`, `${textAlert} Hệ thống đã tự vào lệnh ${coverLastResult(
enterOrder.trend
)} cho phiên sau(${enterOrder.sessionID})!`,
{ parse_mode: "HTML" } { parse_mode: "HTML" }
); );
} else { } else {
@ -555,10 +621,50 @@ Bạn sẽ vào lệnh ở phiên tiếp theo(${currentEnterOrder.sessionID})!`,
function drawHistory() { function drawHistory() {
return ` return `
${coverLastResult(CONFIG.historys[0])} ${coverLastResult(CONFIG.historys[4])} ${coverLastResult(CONFIG.historys[8])} ${coverLastResult(CONFIG.historys[12])} ${coverLastResult(CONFIG.historys[16])} ${coverLastResult(CONFIG.historys[20])} ${coverLastResult(CONFIG.historys[24])} ${coverLastResult(CONFIG.historys[28])} ${coverLastResult(CONFIG.historys[32])} ${coverLastResult(CONFIG.historys[36])} ${coverLastResult(CONFIG.historys[0])} ${coverLastResult(
${coverLastResult(CONFIG.historys[1])} ${coverLastResult(CONFIG.historys[5])} ${coverLastResult(CONFIG.historys[9])} ${coverLastResult(CONFIG.historys[13])} ${coverLastResult(CONFIG.historys[17])} ${coverLastResult(CONFIG.historys[21])} ${coverLastResult(CONFIG.historys[25])} ${coverLastResult(CONFIG.historys[29])} ${coverLastResult(CONFIG.historys[33])} ${coverLastResult(CONFIG.historys[37])} CONFIG.historys[4]
${coverLastResult(CONFIG.historys[2])} ${coverLastResult(CONFIG.historys[6])} ${coverLastResult(CONFIG.historys[10])} ${coverLastResult(CONFIG.historys[14])} ${coverLastResult(CONFIG.historys[18])} ${coverLastResult(CONFIG.historys[22])} ${coverLastResult(CONFIG.historys[26])} ${coverLastResult(CONFIG.historys[30])} ${coverLastResult(CONFIG.historys[34])} ${coverLastResult(CONFIG.historys[38])} )} ${coverLastResult(CONFIG.historys[8])} ${coverLastResult(
${coverLastResult(CONFIG.historys[3])} ${coverLastResult(CONFIG.historys[7])} ${coverLastResult(CONFIG.historys[11])} ${coverLastResult(CONFIG.historys[15])} ${coverLastResult(CONFIG.historys[19])} ${coverLastResult(CONFIG.historys[23])} ${coverLastResult(CONFIG.historys[27])} ${coverLastResult(CONFIG.historys[31])} ${coverLastResult(CONFIG.historys[35])} ${coverLastResult(CONFIG.historys[39])} CONFIG.historys[12]
)} ${coverLastResult(CONFIG.historys[16])} ${coverLastResult(
CONFIG.historys[20]
)} ${coverLastResult(CONFIG.historys[24])} ${coverLastResult(
CONFIG.historys[28]
)} ${coverLastResult(CONFIG.historys[32])} ${coverLastResult(
CONFIG.historys[36]
)}
${coverLastResult(CONFIG.historys[1])} ${coverLastResult(
CONFIG.historys[5]
)} ${coverLastResult(CONFIG.historys[9])} ${coverLastResult(
CONFIG.historys[13]
)} ${coverLastResult(CONFIG.historys[17])} ${coverLastResult(
CONFIG.historys[21]
)} ${coverLastResult(CONFIG.historys[25])} ${coverLastResult(
CONFIG.historys[29]
)} ${coverLastResult(CONFIG.historys[33])} ${coverLastResult(
CONFIG.historys[37]
)}
${coverLastResult(CONFIG.historys[2])} ${coverLastResult(
CONFIG.historys[6]
)} ${coverLastResult(CONFIG.historys[10])} ${coverLastResult(
CONFIG.historys[14]
)} ${coverLastResult(CONFIG.historys[18])} ${coverLastResult(
CONFIG.historys[22]
)} ${coverLastResult(CONFIG.historys[26])} ${coverLastResult(
CONFIG.historys[30]
)} ${coverLastResult(CONFIG.historys[34])} ${coverLastResult(
CONFIG.historys[38]
)}
${coverLastResult(CONFIG.historys[3])} ${coverLastResult(
CONFIG.historys[7]
)} ${coverLastResult(CONFIG.historys[11])} ${coverLastResult(
CONFIG.historys[15]
)} ${coverLastResult(CONFIG.historys[19])} ${coverLastResult(
CONFIG.historys[23]
)} ${coverLastResult(CONFIG.historys[27])} ${coverLastResult(
CONFIG.historys[31]
)} ${coverLastResult(CONFIG.historys[35])} ${coverLastResult(
CONFIG.historys[39]
)}
`; `;
} }