Administrator
2024-06-26 5dab25fb56ee7f21e525c93a8ef1d028394964b7
策略修改
2个文件已修改
34 ■■■■■ 已修改文件
main.py 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
trade/buy_strategy.py 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
main.py
@@ -261,12 +261,12 @@
def __get_buy_money():
    time_str = tool.get_now_time_str().replace(":","")
    time_str = tool.get_now_time_str().replace(":", "")
    if int(time_str) < int("103000"):
        return 40000
    elif int(time_str) < int("113000"):
        return 30000
    elif  int(time_str) < int("140000"):
    elif int(time_str) < int("140000"):
        return 20000
    else:
        return 10000
@@ -290,7 +290,11 @@
                market_info = code_market_manager.get_market_info(cb_code)
                limit_up_price = target_codes_manager.get_limit_up_price(cb_code)
                if market_info:
                    volume = int(__get_buy_money()/ float(limit_up_price))
                    if market_info.rate > 0.139:
                        async_log_util.info(logger_trade, f"可转债涨幅过高::{cb_code}-{market_info.rate}")
                        continue
                    volume = int(__get_buy_money() / float(limit_up_price))
                    volume = (volume // 10) * 10
                    buy_price = round(min(float(market_info.price * 1.02), float(limit_up_price)), 3)
                    async_log_util.info(logger_trade, f"准备下单:{cb_code}-{buy_price}")
trade/buy_strategy.py
@@ -3,6 +3,8 @@
"""
import decimal
from log_module import async_log_util
from log_module.log import logger_trade
from third_data.kpl_data_manager import KPLLimitUpDataRecordManager
from trade.l2_transaction_data_manager import HuaXinBuyOrderManager
from utils import tool
@@ -36,7 +38,7 @@
            self.set_pre_close_price(code, info[8])
        self.__latest_market_info_dict[info[0]] = info
    def add_transaction_info(self, info, backtest = False):
    def add_transaction_info(self, info, backtest=False):
        """
        添加成交信息
@@ -55,8 +57,19 @@
        try:
            if info["TradePrice"] == self.__limit_up_price_dict.get(code):
                # 当前为涨停价
                if self.__latest_trade_price_dict.get(code) != self.__limit_up_price_dict.get(code):
                    return True
                if code not in self.__latest_trade_price_dict:
                    # 开1
                    # 查询买1金额
                    markekt = self.__latest_market_info_dict.get(info[0])
                    if markekt and markekt[3] * markekt[4] >= 1e8:
                        async_log_util.info(logger_trade, f"{code}:买1({markekt[3] * markekt[4]})超过1亿")
                        return True
                    else:
                        return False
                else:
                    if self.__latest_trade_price_dict.get(code) != self.__limit_up_price_dict.get(code):
                        # 之前那一次不是涨停价
                        return True
        finally:
            self.__latest_trade_price_dict[code] = info["TradePrice"]
        return False
@@ -76,8 +89,3 @@
        limit_up_datas = KPLLimitUpDataRecordManager.latest_origin_datas
        for item in limit_up_datas:
            pass