# strategy **Repository Path**: snow-eagle/strategy ## Basic Information - **Project Name**: strategy - **Description**: 主要用于pythongo策略代码编写验证用; 同时,方便多远程服务器代码更新用。 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-06-02 - **Last Updated**: 2023-07-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README //**************************************************** 2022年6月1日 //**************************************************** 1、MaCollectBreak.py 文件中,修改了加载时,报单价格为self.am.close[-2] 2、出现开仓后,5分钟后未成交,但后续没有撤单问题? 在连续两次报单,才出错的问题么? 经查逻辑上没有问题,可能还是订单执行在同一个tick上,取消上次OrderID,同时产生新 的orderID,才会出现问题,这个问题待后续再观察下 3、对开仓的价格,再进行优化下,前20日的最高价P20H,前20日收盘价的最高价P20C,前1根K的收盘价为P1C,前第2根最高价P2H, 开仓条件为,当前收盘价大于之前20天的最高价 则BUYP =P20C  self.am.close[-2] 改为 self.buyP = max(self.am.close[-21:-1:1]) # 开多仓价格 self.shortP = min(self.am.close[-21:-1:1]) # 开空仓价格 注:本策略开仓周期可调,策略默认加载5分钟周期,以5分钟k线计算开仓信号,在ontick中设定定额止损止赢; 策略为,5、10、20日均线粘合,在4以内,且当根收盘价大于前20日根线最高价(形态为均线粘合突破) 开仓价格,以当前k线之前的20根K线的最高收盘价为开仓价,在5分钟内未成交,则订单取消; 4、新增在一个参数,控制在多少分钟内不成交,则取消订单,在OnBar中去处理。 //**************************************************** 2022年6月2日 //**************************************************** 1、优化限值self.orderIDlimitX 变量赋值 在onstar中 2、再新增,为防止前一个开仓信号发出开仓,但未成交时,在下一个5分钟周期内又出现开仓信号,导致多次进行开仓,且会导致上次订单取消失败 ,需在开仓代码中进限制下 # 当前无仓位 if pos == 0 and self.orderID is None中 增加了(self.orderID is None)进行限制 3、准备编写一个高频交易策略MyHLStrategy。 4、另外 MaCollectBreak策略,今天在线实盘模拟时,仍出现了,同一时间发出两笔委托开仓信息,后续仍需要重点关注。开仓信号,出现两笔委托信号,这应该是系统问题,后续 重点关注下。 5、ctaTemplate内容还要再深入学习下,对里面代码要深入体会。 //**************************************************** 2022年6月3日 //**************************************************** 1、对MyHLStrategy策略,在原基础上微调,使代码正常运行,进行实盘摸拟运行;出现以tick.lastPrice最新价报单,存在不能成交,使亏损放大的问题,则调整(注:平仓要以对手价,开单按最新价) 2、仔细思考,上述策略平仓后,如开仓不能成交,则会导致策略不能按要求进行,则要有一个时效要求,增加在1分钟之内不成交,则取消订单。 //**************************************************** 2022年6月4日 //**************************************************** 1、以5分K线为基础,连续三根阴线,再加1根阳线,为开仓信号 ,此策略还在思考中 2、对MyHLStrategy策略,self.manage_position(1) # 增加持仓查询,否则开仓后,无法正常平仓; //**************************************************** 2022年6月6日 //**************************************************** 1、增加MaCollectBreak策略,防止多次开仓,新增一个控制变量self.sksk = 0 来控制开仓。 2、新仓一个平仓条件,在同周期内,如5分钟K线中,收盘价跌破10日均线,进行平仓,则在oNtick中,止损止赢可以设置大一点; 3、增加MaCollectBreak策略,止损止赢,放在onTick中执行 限价 或 最新价大于或小于上根10日均线 4、在onBar中对1分中查询持仓,供ontick中调用self.openbuyPos和self.openshortPos 5、开仓信号太少,调整为10日内最高点 注:本策略开仓周期可调,策略默认加载5分钟周期,以5分钟k线计算开仓信号,在ontick中设定定额止损止赢; 策略为,5、10、20日均线粘合,在4以内,且当根收盘价大于前10日根线最高价(形态为均线粘合突破) 开仓价格,以当前k线之前的10根K线的最高收盘价为开仓价,在5分钟内(时间可自定义)未成交,则订单取消; 6、K线图上,新增10日均线,便于查看平仓信息 7、突破的阴阳线的实体要大于收盘价的5/1000, 8、MyHLStrategy策略思路为,以5分周期为例,前根为大阳线,开仓价以 //**************************************************** 2022年6月9日 //**************************************************** 1、pythongo中显示上1根K线10日均线