基于订单流的日内盘口策略

量化策略开发,高质量社群,交易思路分享等相关内容

『正文』

ˇ

目录

    一、基于订单流的日内盘口策略

    二、亚努斯量化交易图表介绍
 

一、基于订单流的日内盘口策略

大家好,我是乌克兰剑圣。

在7月份的时候我们发布了第一版盘口策略专享策略06 | 盘口策略CTP实盘版,这个策略写了订单流的核心算法及最基础的交易规则,加入了固定与移动的止损止盈。

今日发布的日内版本在前版基础之上加入了夜盘白盘的收盘清仓修改了开仓条件跟踪止损改为跟踪止盈定时启动程序。同时提供了回测,模拟,实盘三个版本源码

图片

OK,下面我们来说说修改的部分。

收盘清仓

def 收盘清仓(data):# 获取当前时间current_time = datetime.now().time()# 设置清仓操作的时间范围1:14:55到15:00clearing_time1_start = s_time(14, 55)clearing_time1_end = s_time(15, 0)# 设置清仓操作的时间范围2:22:55到23:00clearing_time2_start = s_time(22, 55)clearing_time2_end = s_time(23, 0)# 创建一个标志变量,用于记录是否已经执行过清仓操作clearing_executed = False# 检查当前时间是否在第一个清仓操作的时间范围内,并且清仓操作未执行过if clearing_time1_start <= current_time <= clearing_time1_end and not clearing_executed :if self.pos>0:#平多self.insert_order(data['ExchangeID'], data['InstrumentID'], data['BidPrice1'],1,b'1',b'3')self.pos=0print("多头清仓操作")passelif self.pos<0:#平空self.insert_order(data['ExchangeID'], data['InstrumentID'], data['AskPrice1'],1,b'0',b'3')self.pos=0print("空头清仓操作")passclearing_executed = True  # 设置标志变量为已执行# 检查当前时间是否在第二个清仓操作的时间范围内,并且清仓操作未执行过elif clearing_time2_start <= current_time <= clearing_time2_end and not clearing_executed :if self.pos>0:#平多self.insert_order(data['ExchangeID'], data['InstrumentID'], data['BidPrice1'],1,b'1',b'3')self.pos=0print("多头清仓操作")passelif self.pos<0:#平空self.insert_order(data['ExchangeID'], data['InstrumentID'], data['AskPrice1'],1,b'0',b'3')self.pos=0print("空头清仓操作")passclearing_executed = True  # 设置标志变量为已执行# 如果不在任何清仓操作的时间范围内,可以执行其他操作或不执行任何操作else:clearing_executed = Falsepass#print("不在清仓操作时间范围内")

回测版本的收盘清仓写法不一,这里是实盘平仓的代码。

开平仓条件

 #开仓#多头开仓条件 if self.pos!=1:if self.pos==-1 and trader_df['dj'].iloc[-1]>self.dj_X :#self.buy_close(data['ExchangeID'], data['InstrumentID'], data['AskPrice1'],1,True)print('平空:','ExchangeID: ',data['ExchangeID'],'InstrumentID',data['InstrumentID'],'AskPrice1',data['AskPrice1'])#平空self.insert_order(data['ExchangeID'], data['InstrumentID'], data['AskPrice1'],1,b'0',b'3')print('datetime+sig: ', trader_df['datetime'].iloc[-1], '反手平空:', '平仓价格:', data['AskPrice1'],'堆积数:', trader_df['dj'].iloc[-1])if  trader_df['dj'].iloc[-1]>self.dj_X  and trader_df['close'].iloc[-1] > rinei_ma and trader_df['close'].iloc[-1]>trader_df['open'].iloc[-1] :print('开多:','ExchangeID: ',data['ExchangeID'],'InstrumentID',data['InstrumentID'],'AskPrice1',data['AskPrice1'])#self.buy_open(data['ExchangeID'], data['InstrumentID'], data['AskPrice1'], 1)#开多self.insert_order(data['ExchangeID'], data['InstrumentID'], data['AskPrice1'],1,b'0',b'0')print('datetime+sig: ', trader_df['datetime'].iloc[-1], '多头开仓', '开仓价格:', data['AskPrice1'],'堆积数:', trader_df['dj'].iloc[-1])self.pos=1self.long_trailing_stop_price=data['AskPrice1']self.sl_long_price=data['AskPrice1']#空头开仓条件省略

开平仓条件:

  1. 满足堆积条件后,需要日内均线判断顺势开仓,同时信号BAR必须是同向(多头堆积必须是阳线)。

  2. 仅满足堆积条件同时持有反向的持仓,执行反手平仓。

  3. 将跟踪出场改为跟踪止盈,只有盈利的情况下触发。

定时启动程序

图片

为了保证策略每日变量重置,我们写了一个辅助脚本来全天后自动运行。

回测报告

回测报告分为隔夜和日内两个模式:

测试参数:

  1. 2023年1月1日-6月1日,6个月内(TICK数据合成1M)。

  2. 手续费均为实盘费率。

  3. 没有优化参数。

尿素(隔夜):

图片

尿素(日内):

图片

白糖(隔夜):

图片

白糖(日内):

图片

纯碱(隔夜):

图片

纯碱(日内):

图片

菜粕(隔夜):

图片

菜粕(日内):

图片

螺纹(隔夜):

图片

螺纹(日内):

图片

花生(隔夜):

图片

花生(日内):

图片

篇幅有限,还有更多的品种小伙伴们下载后自己回测研究吧。隔夜的代码版本是前版,日内的代码就是今天发布的这版,回测用的行情数据在俱乐部后台下载。

PS:9月12日起,松鼠将实盘测试7天订单流日内策略代码,用一个小账户挂在七禾网跑,观看地址在俱乐部发布供学员跟踪研究,最终交付无BUG源码给到俱乐部小伙伴。

、亚努斯量化交易图表介绍

同义词 亚努斯(古罗马神话人物)一般指雅努斯

Janus,雅努斯(Janus [1]  )是罗马人的门神,也是罗马人的保护神。具有前后两个面孔或四方四个面孔,象征开始。最古老的信息告诉人们,雅努斯是起源神,执掌着开始和入门,也执掌着出口和结束,同时他又被称为“门户总管”,他永远都象征着世界上矛盾的万事万物,所以,他的肖像被画成两张脸,有“双头雅努斯“的说法。

传说中,雅努斯有两副面孔:一副看着过去,一副看着未来。

亚努斯量化-交易图表的主旨是辅助交易者分析行情,把握买卖点,总览市场强弱变化。

1、日内全市场delta累计(加权)实时,总览市场多空力量变化趋势。

图片

2、日内市场全景delta强弱排序(实时),实时监测最强最弱品种变化。

图片

3、日内K线信号图表(实时)交易信号,辅助判断交易时点。

图片

4、多图同列-多周期-多品种及时把握多品种买卖点。

图片

目前亚努斯量化交易图表处于内测阶段,俱乐部内部试用。预计10月份正式上线,同时松鼠沙盘订单流图表将合并到亚努斯量化图表里。

图片

图片

本策略仅作学习交流使用,实盘交易盈亏投资者个人负责。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/107370.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【python零基础入门学习】python基础篇之系统模块调用shell命令执行(四)

本站以分享各种运维经验和运维所需要的技能为主 《python》&#xff1a;python零基础入门学习 《shell》&#xff1a;shell学习 《terraform》持续更新中&#xff1a;terraform_Aws学习零基础入门到最佳实战 《k8》暂未更新 《docker学习》暂未更新 《ceph学习》ceph日常问题解…

Redis 初识与入门

1. 什么是Redis Redis 是一种基于内存的数据库&#xff0c;对数据的读写操作都是在内存中完成&#xff0c;因此读写速度非常快&#xff0c;常用于缓存&#xff0c;消息队列、分布式锁等场景。 Redis 提供了多种数据类型来支持不同的业务场景&#xff0c;比如 String(字符串)、…

论文阅读 (100):Simple Black-box Adversarial Attacks (2019ICML)

文章目录 1 概述1.1 要点1.2 代码1.3 引用 2 背景2.1 目标与非目标攻击2.2 最小化损失2.3 白盒威胁模型2.4 黑盒威胁模型 3 简单黑盒攻击3.1 算法3.2 Cartesian基3.3 离散余弦基3.4 一般基3.5 学习率 ϵ \epsilon ϵ3.6 预算 1 概述 1.1 要点 题目&#xff1a;简单黑盒对抗攻…

mysql在ubuntu上命令行登陆密码不正确

1.登陆提示如下 2.使用mysql -u root -p登录也是类似的 3.打开宝塔面板 点击root密码&#xff0c;更改密码后即可在命令行界面登录 4.登录效果如下

大数据Flink(七十八):SQL 的水印操作(Watermark)

文章目录 SQL 的水印操作(Watermark) 一、为什么要有 WaterMark

论数据库的种类

摘要 数据库是现代信息管理和数据存储的重要工具&#xff0c;几乎在各个领域都有广泛应用。不同类型的数据库适用于不同的应用场景和需求。本文将介绍几种常见的数据库种类&#xff0c;并探讨它们的特点和适用范围。 正文 一、关系型数据库&#xff08;RDBMS&#xff09; 关…

02JVM_垃圾回收GC

二、垃圾回收GC 在堆里面存放着java的所有对象实例&#xff0c;当对象为“死去”&#xff0c;也就是不再使用的对象&#xff0c;就会进行垃圾回收GC 1.如何判断对象可以回收 1.1引用计数器 介绍 在对象中添加一个引用计数器&#xff0c;当一个对象被其他变量引用时这个对象…

C++中使用R“()“标记符书写多行字符串

在C#中使用表示的字符串能够跨越数行。用于在C#中写JS或SQL代码比较方便。 string sqlInsert "INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format) VALUES(2, 24, 0, 1, 1, a04005, .3);INSERT INTO tb_param(protocol, slave, number, ptype, …

stm32---外部中断

一、EXTI STM32F10x外部中断/事件控制器&#xff08;EXTI&#xff09;包含多达20个用于产生事件/中断请求的边沿检测器。EXTI的每根输入线都可单独进行配置&#xff0c;以选择类型&#xff08;中断或事件&#xff09;和相应的触发事件&#xff08;上升沿触发、下降沿触发…

HashMap初始化大小

1.参考阿里巴巴开发规范 2.写了个工具类 供大家参考 import java.util.HashMap;/*** 阿里巴巴开发规范* 【推荐】 集合初始化时&#xff0c; 指定集合初始值大小。* 说明&#xff1a; HashMap 使用 HashMap(int initialCapacity) 初始化&#xff0c;如果暂时无法确定集合大小…

计算机二级公共基础知识-2023

计算机基础知识&#xff1a; 计算机的发展&#xff1a; 第一台电子计算机eniac 埃尼阿克 1946 第一台存储程序计算机 edvac 艾迪瓦克 根据电子元器件的发展分类 1.电子管 2.晶体管 3.集成电路 4.超大规模继承电路 按照电脑的用途可以分为 专用计算机 专门用于处理…

OpenCV学习笔记(6)_由例程学习高斯图像金字塔和拉普拉斯金字塔

1 图像金字塔 图像金字塔是图像多尺度表达的一种。 尺度&#xff0c;顾名思义&#xff0c;可以理解为图像的尺寸和分辨率。处理图像时&#xff0c;经常对源图像的尺寸进行缩放变换&#xff0c;进而变换为适合我们后续处理的大小的目标图像。这个对尺寸进行放大缩小的变换过程…