|
|
@@ -514,23 +514,24 @@ async function analyseBetProbability(planType, pksPlanItemData, pksPlanListData)
|
|
|
let turnNumA = Math.floor(Math.log2(oneCostA));
|
|
|
|
|
|
let maxTurnCount = turnNumA * 3;
|
|
|
+ let logMsg = '';
|
|
|
if (planType == 'A') {
|
|
|
maxMateCount = Math.min(planAArr.length, planBArr.length) + Math.min(planAArr.length, planCArr.length);
|
|
|
curMateCount = calcPlanMatchCount(planAArr, planB) + calcPlanMatchCount(planAArr, planC);
|
|
|
maxTurnCount = turnNumA * 3;
|
|
|
- magicJS.logger.info(`[1]推荐计划A与BC号码交合次数:${curMateCount}/${maxMateCount}`);
|
|
|
+ logMsg += `\n[1]推荐计划A与BC号码交合次数:${curMateCount}/${maxMateCount}`;
|
|
|
} else if (planType == 'B') {
|
|
|
maxMateCount = Math.min(planBArr.length, planAArr.length) + Math.min(planBArr.length, planCArr.length);
|
|
|
curMateCount = calcPlanMatchCount(planBArr, planA) + calcPlanMatchCount(planBArr, planC);
|
|
|
maxTurnCount = turnNumB * 3;
|
|
|
- magicJS.logger.info(`[1]推荐计划B与AC号码交合次数:${curMateCount}/${maxMateCount}`);
|
|
|
+ logMsg += `\n[1]推荐计划B与AC号码交合次数:${curMateCount}/${maxMateCount}`;
|
|
|
} else {
|
|
|
maxMateCount = Math.min(planCArr.length, planAArr.length) + Math.min(planCArr.length, planBArr.length);
|
|
|
curMateCount = calcPlanMatchCount(planCArr, planA) + calcPlanMatchCount(planCArr, planB);
|
|
|
maxTurnCount = turnNumC * 3;
|
|
|
- magicJS.logger.info(`[1]推荐计划C与AB号码交合次数:${curMateCount}/${maxMateCount}`);
|
|
|
+ logMsg += `\n[1]推荐计划C与AB号码交合次数:${curMateCount}/${maxMateCount}`;
|
|
|
}
|
|
|
- magicJS.logger.info(`[2]推荐计划CBA相合系数:(${turnNumC}+${turnNumB}+${turnNumA})=${(turnNumC + turnNumB + turnNumA)}/${maxTurnCount}`);
|
|
|
+ logMsg += `\n[2]推荐计划CBA相合系数:(${turnNumC}+${turnNumB}+${turnNumA})=${(turnNumC + turnNumB + turnNumA)}/${maxTurnCount}`;
|
|
|
let factor1 = 25 * (curMateCount / maxMateCount);
|
|
|
let factor2 = 0;
|
|
|
if (maxTurnCount > 5) {
|
|
|
@@ -544,7 +545,7 @@ async function analyseBetProbability(planType, pksPlanItemData, pksPlanListData)
|
|
|
let killData = await getPksKillNumListFirst(gLotteryCode, nowDate, 30);
|
|
|
if (killData) {
|
|
|
let killNumDict = killData.firstNumDict;
|
|
|
- magicJS.logger.info(`[3]杀号:${JSON.stringify(killNumDict)}`);
|
|
|
+ logMsg += `[3]杀号:${JSON.stringify(killNumDict)}`;
|
|
|
if (planType == 'A') {
|
|
|
factor3 = calcPlanKillFactor(killNumDict, planAArr);
|
|
|
} else if (planType == 'B') {
|
|
|
@@ -554,9 +555,10 @@ async function analyseBetProbability(planType, pksPlanItemData, pksPlanListData)
|
|
|
}
|
|
|
}
|
|
|
probability = probability - factor3;
|
|
|
- magicJS.logger.info(`概率减 系数1=${factor1} 系数2=${factor2} 系数3=${factor3} `);
|
|
|
+ logMsg += `\n综合概率减 系数1=${factor1} 系数2=${factor2} 系数3=${factor3}`;
|
|
|
+ magicJS.logger.info(logMsg);
|
|
|
|
|
|
- return probability;
|
|
|
+ return [probability, logMsg];
|
|
|
}
|
|
|
|
|
|
function calcPlanKillFactor(killNumDict, planArr, baseValue = 5) {
|
|
|
@@ -611,11 +613,12 @@ async function checkPlanCBuyNotify(pksPlanItemData, pksPlanListData) {
|
|
|
}
|
|
|
|
|
|
if (isPlanLotteryAutoBet()) {
|
|
|
- let probability = await analyseBetProbability('C', pksPlanItemData, pksPlanListData);
|
|
|
+ let [probability, analyseLogMsg] = await analyseBetProbability('C', pksPlanItemData, pksPlanListData);
|
|
|
let proAllowValue = getAllowBetProbability('C');
|
|
|
if (probability >= proAllowValue) {
|
|
|
let maxBetAmount = getPlanLotteryMaxBetAmount();
|
|
|
let betRet = await tryDragonBet(preDrawIssue, planC, turnOneCost, maxBetAmount);
|
|
|
+ tipsMsg += analyseLogMsg;
|
|
|
} else {
|
|
|
tipsMsg = '⚠️' + tipsMsg;
|
|
|
tipsMsg += `\n胜率:${probability.toFixed(2)},不大于预设值${proAllowValue},请自主下单`;
|
|
|
@@ -668,11 +671,12 @@ async function checkPlanBBuyNotify(pksPlanItemData, pksPlanListData) {
|
|
|
}
|
|
|
|
|
|
if (isPlanLotteryAutoBet()) {
|
|
|
- let probability = await analyseBetProbability('B', pksPlanItemData, pksPlanListData);
|
|
|
+ let [probability, analyseLogMsg] = await analyseBetProbability('B', pksPlanItemData, pksPlanListData);
|
|
|
let proAllowValue = getAllowBetProbability('B');
|
|
|
if (probability >= proAllowValue) {
|
|
|
let maxBetAmount = getPlanLotteryMaxBetAmount();
|
|
|
let betRet = await tryDragonBet(preDrawIssue, planB, turnOneCost, maxBetAmount);
|
|
|
+ tipsMsg += analyseLogMsg;
|
|
|
} else {
|
|
|
tipsMsg = '⚠️' + tipsMsg;
|
|
|
tipsMsg += `\n胜率:${probability.toFixed(2)},不大于预设值${proAllowValue},请自主下单`;
|
|
|
@@ -725,11 +729,12 @@ async function checkPlanABuyNotify(pksPlanItemData, pksPlanListData) {
|
|
|
}
|
|
|
|
|
|
if (isPlanLotteryAutoBet()) {
|
|
|
- let probability = await analyseBetProbability('A', pksPlanItemData, pksPlanListData);
|
|
|
+ let [probability, analyseLogMsg] = await analyseBetProbability('A', pksPlanItemData, pksPlanListData);
|
|
|
let proAllowValue = getAllowBetProbability('A');
|
|
|
if (probability >= proAllowValue) {
|
|
|
let maxBetAmount = getPlanLotteryMaxBetAmount();
|
|
|
let betRet = await tryDragonBet(preDrawIssue, planA, turnOneCost, maxBetAmount);
|
|
|
+ tipsMsg += analyseLogMsg;
|
|
|
} else {
|
|
|
tipsMsg = '⚠️' + tipsMsg;
|
|
|
tipsMsg += `\n胜率:${probability.toFixed(2)},不大于预设值${proAllowValue},请自主下单`;
|