任何票,只有首次才可以激进下单,之后每次下单要看总卖额,当总卖额≥500万,才可以激进下单。
5个文件已修改
70 ■■■■■ 已修改文件
huaxin_client/l1_subscript_codes_manager.py 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
l2/l2_data_manager_new.py 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
l2/l2_sell_manager.py 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
test/test.py 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
trade/huaxin/huaxin_trade_server.py 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
huaxin_client/l1_subscript_codes_manager.py
@@ -95,4 +95,4 @@
if __name__ == '__main__':
    pass
    print( request_l1_subscript_target_codes())
l2/l2_data_manager_new.py
@@ -2253,8 +2253,8 @@
                continue
            safe_count = 1
            if active_buy_blocks:
                # 有激进板块
            if active_buy_blocks and current_sell_data[1] > 5000000:
                # 有激进板块且大于500w才能激进下单
                safe_count = 1
            else:
                # 无激进下单板块
l2/l2_sell_manager.py
@@ -79,6 +79,11 @@
        self.__current_total_sell_data_cache[code] = (time_str, round(money), volume, sell_1_info)
    def get_current_total_sell_data(self, code):
        """
        @param code:
        @return:(时间, 总买额, 总量, 卖1信息)
        """
        return self.__current_total_sell_data_cache.get(code)
    # 获取参考卖的数据
test/test.py
@@ -1,3 +1,5 @@
from huaxin_client import l1_subscript_codes_manager
from third_data.history_k_data_util import JueJinHttpApi
from utils import tool
@@ -18,4 +20,12 @@
if __name__ == "__main__":
    print(test_active_buy())
    results = JueJinHttpApi.get_exchanges_codes("SHSE,SZSE", sec_types=[8], skip_suspended=True, skip_st=True,
                                                fields="symbol, sec_type, sec_id,sec_name, underlying_symbol, delisted_date")
    fresults = []
    for r in results:
        tool.get_now_date_str()
        if int(tool.get_now_date_str('%Y%m%d')) >= int(r['delisted_date'].strftime('%Y%m%d')):
            continue
        fresults.append(r)
    print(len(fresults))
trade/huaxin/huaxin_trade_server.py
@@ -53,7 +53,7 @@
from third_data.kpl_data_manager import KPLDataManager
from third_data.kpl_util import KPLDataType
from trade import trade_manager, l2_trade_util, \
    l2_trade_factor
    l2_trade_factor, trade_data_manager
from trade.deal_big_money_manager import DealOrderNoManager
from trade.huaxin import huaxin_trade_api as trade_api, huaxin_trade_api, huaxin_trade_data_update, \
@@ -1737,26 +1737,31 @@
                sell_info = (current_total_sell_data[0], current_total_sell_data[1])
            if _type == L2TradeSingleDataManager.TYPE_PASSIVE and mode_descs:
                # 被动下单且大单数量大于0/激进下单板块就可以激进下单
                mode_descs.insert(0, "成交触发")
                last_index = total_datas[-1]["index"]
                volume_rate = code_volumn_manager.get_volume_rate(code)
                order_begin_pos = OrderBeginPosInfo(buy_single_index=last_index,
                                                    buy_exec_index=last_index,
                                                    buy_compute_index=last_index,
                                                    num=0, count=1,
                                                    max_num_set=set(),
                                                    buy_volume_rate=volume_rate,
                                                    mode=OrderBeginPosInfo.MODE_ACTIVE,
                                                    mode_desc=",".join(mode_descs),
                                                    sell_info=sell_info,
                                                    threshold_money=0)
                l2_data_manager_new.L2TradeDataProcessor.save_order_begin_data(code, order_begin_pos)
                l2_log.debug(code, "激进下单,获取到买入执行位置:{} 成交数据触发模式:{} 大单数量:{}",
                             order_begin_pos.buy_exec_index,
                             _type, big_buy_order_count)
                l2_data_manager_new.L2TradeDataProcessor.start_buy(code, total_datas[-1], total_datas[-1]["index"],
                                                                   True)
                # 可以激进下单且必须是首次下单才能激进
                place_order_count = trade_data_manager.PlaceOrderCountManager().get_place_order_count(code)
                if place_order_count == 0:
                    mode_descs.insert(0, "成交触发")
                    last_index = total_datas[-1]["index"]
                    volume_rate = code_volumn_manager.get_volume_rate(code)
                    order_begin_pos = OrderBeginPosInfo(buy_single_index=last_index,
                                                        buy_exec_index=last_index,
                                                        buy_compute_index=last_index,
                                                        num=0, count=1,
                                                        max_num_set=set(),
                                                        buy_volume_rate=volume_rate,
                                                        mode=OrderBeginPosInfo.MODE_ACTIVE,
                                                        mode_desc=",".join(mode_descs),
                                                        sell_info=sell_info,
                                                        threshold_money=0)
                    l2_data_manager_new.L2TradeDataProcessor.save_order_begin_data(code, order_begin_pos)
                    l2_log.debug(code, "激进下单,获取到买入执行位置:{} 成交数据触发模式:{} 大单数量:{}",
                                 order_begin_pos.buy_exec_index,
                                 _type, big_buy_order_count)
                    l2_data_manager_new.L2TradeDataProcessor.start_buy(code, total_datas[-1], total_datas[-1]["index"],
                                                                       True)
                else:
                    l2_log.debug(code, "激进下单,但不是首次下单,无法激进")
            else:
                if code.find("00") != 0:
                    return