From 32203dcb2d06b93e4b6c81f9121b00531a91395e Mon Sep 17 00:00:00 2001 From: Administrator <admin@example.com> Date: 星期五, 06 六月 2025 18:43:07 +0800 Subject: [PATCH] bug修复 --- strategy/今日量是否足够.py | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 43 insertions(+), 0 deletions(-) diff --git "a/strategy/\344\273\212\346\227\245\351\207\217\346\230\257\345\220\246\350\266\263\345\244\237.py" "b/strategy/\344\273\212\346\227\245\351\207\217\346\230\257\345\220\246\350\266\263\345\244\237.py" new file mode 100644 index 0000000..3d1edb0 --- /dev/null +++ "b/strategy/\344\273\212\346\227\245\351\207\217\346\230\257\345\220\246\350\266\263\345\244\237.py" @@ -0,0 +1,43 @@ +from strategy.strategy_variable import StockVariables + +sv = StockVariables() + + +def can_buy(): + """ + @return: 鏄惁鍙拱, 涓嶈兘涔扮殑鍘熷洜/鍙拱鐨勬澘鍧� + """ + # print(f"{target_code}:鎵ц绛栫暐") + if target_code.find("60") != 0 and target_code.find("00") != 0: + return False, "鍒涗笟鏉�/绉戝垱鏉跨殑绁ㄤ笉涔�" + if not sv.鏄ㄦ棩闈炶穼鍋� or not sv.鏄ㄦ棩闈炴定鍋� or not sv.鏄ㄦ棩闈炵偢鏉�: + return False, "鏃涓嶆弧瓒虫潯浠�" + if not sv.棰嗘定鏉垮潡淇℃伅: + return False, "娌℃湁鏉垮潡" + if sv.鑷敱娴侀�氬競鍊� > 300e8 or sv.鑷敱娴侀�氬競鍊� < 10e8: + return False, f"鑷敱甯傚�硷紙{sv.鑷敱娴侀�氬競鍊紏锛変笉婊¤冻瑕佹眰" + + if sv.浠婃棩娑ㄥ仠浠� > 60 or sv.浠婃棩娑ㄥ仠浠� < 2.99: + return False, "浠婃棩娑ㄥ仠浠烽珮浜�60/浣庝簬2.99" + if sv.娑ㄥ仠鏁癬30 <= 0 and not sv.鏃ユ斁鍊嶉噺鏃ユ湡_15: + return False, "30涓氦鏄撴棩鏃犳定鍋滀笖15涓氦鏄撴棩鏃犲�嶉噺" + + if abs((sv.褰撳墠浠� - round(sv.浠婃棩鎴愪氦棰� / sv.浠婃棩鎴愪氦閲�, 2)) / sv.鏄ㄦ棩鏀剁洏浠�) >= 0.01: + return False, f"涔板叆浠烽珮浜庡潎浠�1.0涓偣" + + tr = 0.03 + rate = (sv.褰撳墠浠� - sv.鏄ㄦ棩鏀剁洏浠�) / sv.鏄ㄦ棩鏀剁洏浠� + if rate >= tr or rate < 0: + return False, f"娑ㄥ箙杩囬珮:{rate}" + + if sv.浠婃棩鎴愪氦閲� < sv.鏄ㄦ棩鎴愪氦閲� * 0.9: + return False, f"閲忎笉澶�" + if sv.浠g爜绮鹃�夋澘鍧� and sv.寮�鐩樺暒绮鹃�夋澘鍧楁定鍋�: + buy_blocks = sv.浠g爜绮鹃�夋澘鍧� - sv.鏃ュ嚭鐜扮殑鏉垮潡_5 + buy_blocks = buy_blocks & set(sv.寮�鐩樺暒绮鹃�夋澘鍧楁定鍋�.keys()) + if len(buy_blocks) >= 3: + return True, f"鍙拱鏉垮潡{[(b, sv.寮�鐩樺暒绮鹃�夋澘鍧楁定鍋�.get(b)) for b in buy_blocks]}" + return False, "娌℃湁鏉垮潡" + + +compute_result = can_buy() -- Gitblit v1.8.0