趋势直线指标
趋势直线副图和主图指标,旨在通过技术分析工具帮助交易者识别市场趋势和潜在的买卖点。
副图指标:基于KDJ指标的交易策略
1. RSV值计算:
- RSV(未成熟随机值)反映了当前收盘价在过去一段时间内的相对位置。通过计算当前收盘价与过去9周期最低价的差值,再除以过去9周期最高价与最低价的差值,得到RSV值。
2. K值和D值的计算:
- K值是基于RSV值的简单移动平均值(SMA),计算周期为3。
- D值是基于K值的简单移动平均值,计算周期同样为3。
3. J值的计算:
- J值是K值和D值的线性组合,公式为:J = 3 * K - 2 * D。
4. 图表绘制:
- 在图表上绘制K值(白色)、D值(黄色)和J值(紫色)。
- 注释掉的代码原本用于绘制80和20的水平线,表示超买和超卖水平。
5. 趋势线创建:
- 创建两条新趋势线,分别表示超买(80)和超卖(20)水平。
- 设置趋势线的宽度、样式和颜色,以便在图表上清晰显示。
主图指标:阻力线和支撑线的绘制
1. 阻力线绘制:
- 当当前最高价是过去20周期的最高价时,删除旧的阻力线并绘制新的阻力线。
- 使用`tl_new_dt`函数基于时间和价格创建新的阻力线,线条向右延伸,颜色为红色,样式为5。
2. 支撑线绘制:
- 当当前最低价是过去20周期的最低价时,删除旧的支撑线并绘制新的支撑线。
- 使用`tl_new_dt`函数基于时间和价格创建新的支撑线,线条向右延伸,颜色为绿色,样式为4。
交易逻辑思路和特点
1. 副图指标的交易逻辑:
- 通过KDJ指标(随机指标)来判断市场的超买和超卖状态。K值和D值的交叉点可以作为买入和卖出的信号。
- J值是对K值和D值的进一步加工,提供了更多的交易信号。
- 超买和超卖水平线(80和20)可以帮助交易者识别市场的极端情况,避免在高风险区域进行交易。
2. 主图指标的交易逻辑:
- 阻力线和支撑线的绘制帮助交易者识别价格的关键水平。当价格接近这些关键水平时,可能会遇到阻力或支撑。
- 新的方法基于时间和价格创建线条,确保线条的准确性和实时性。
- 阻力线和支撑线的颜色和样式设置使得图表更加直观,便于交易者快速识别。
3. 综合分析:
- 副图指标和主图指标结合使用,可以提供更全面的市场分析。副图指标侧重于短期价格动量的分析,而主图指标则提供了中长期价格趋势的支持和阻力信息。
- 这种综合分析方法有助于交易者在不同时间框架内做出更准确的交易决策。
趋势直线指标通过副图和主图的结合,提供了一个多层次的市场分析工具。
副图指标基于KDJ指标,帮助交易者识别短期的超买和超卖状态,而主图指标则通过绘制阻力线和支撑线,提供了中长期价格趋势的关键信息。
这种综合分析方法有助于交易者在不同时间框架内做出更准确的交易决策,提高交易的成功率和风险管理能力。
以下是副图指标代码的逐行注释:
// 输入参数定义
Input: len(9), m1(3), m2(3), overbuy(80), oversell(20);
// 变量声明,用于存储RSV、K值、D值、J值
var: rsv(50), kvalue(50), dvalue(50), jvalue(50);
// 计算当前收盘价与过去len周期最低价的差值
value1 = Close - Lowest(low, len);
// 计算过去len周期最高价与最低价的差值
value2 = Highest(high, len) - Lowest(low, len);
// 如果value2不为0,则计算RSV值,避免除以零的错误
if value2 <> 0 then begin
// 计算RSV值,表示当前价格相对于过去len周期价格范围的位置
rsv = 100 * value1 / value2;
// 使用简单移动平均计算K值,基于RSV值
kvalue = SMA(rsv, m1, 1);
// 使用简单移动平均计算D值,基于K值
dvalue = SMA(kvalue, m2, 1);
end;
// 计算J值,它是K值和D值的一个组合
jvalue = 3 * kvalue - 2 * dvalue;
// 在图表上绘制K值,颜色为白色
plot1(kvalue, "K", white);
// 在图表上绘制D值,颜色为黄色
plot2(dvalue, "D", yellow);
// 注释掉的代码,原本用于绘制80和20的水平线,颜色分别为深灰色
// plot3(overbuy, "80", darkgray);
// plot4(oversell, "20", darkgray);
// 在图表上绘制J值,颜色为紫色
Plot5(jvalue, "J", rgb(255, 0, 255));
// 创建两条新趋势线,用于表示超买和超卖水平
value1 = tl_new_self_bn(1, 20, currentbar, 20); // 创建超卖水平线
value2 = tl_new_self_bn(1, 80, currentbar, 80); // 创建超买水平线
// 设置趋势线的宽度
tl_setsize(value1, 1);
tl_setsize(value2, 1);
// 设置趋势线的样式
tl_setstyle(value1, 4); // 样式4
tl_setstyle(value2, 3); // 样式3
// 设置趋势线的颜色
tl_setcolor(value1, lightgray); // 超卖水平线颜色为浅灰色
tl_setcolor(value2, Magenta); // 超买水平线颜色为洋红色
副图指标实现了一个基于KDJ指标(随机指标)的交易策略,其中K值和D值是通过RSV值计算得出的,而J值是K值和D值的线性组合。代码还包括在图表上绘制K值、D值和J值的命令,以及创建和设置表示超买和超卖水平趋势线的命令。
以下是主图指标代码的逐行注释:
// 绘制阻力线
if high = Highest(high, 20) then begin // 如果当前最高价是过去20周期的最高价,则表示新的最高点
tl_delete(value1); // 删除旧的阻力线
// 使用旧的方法创建新的阻力线,注释掉了
// value1 = tl_new(date, time, high, date, time, high); // 绘制新的阻力线
// 使用新的方法创建新的阻力线,基于时间和价格
value1 = tl_new_dt(datetime[20], high, datetime, high);
tl_setextright(value1, true); // 设置线条向右延伸
tl_setcolor(value1, red); // 设置线条颜色为红色
tl_setsize(value1, 1); // 设置线条宽度为1
tl_setstyle(value1, 5); // 设置线条样式为5
end;
// 绘制支撑线
if Low = Lowest(low, 20) then begin // 如果当前最低价是过去20周期的最低价,则表示新的最低点
tl_delete(value2); // 删除旧的支撑线
// 使用旧的方法创建新的支撑线,注释掉了
// value2 = tl_new(date, time, low, date, time, low); // 绘制新的支撑线
// 使用新的方法创建新的支撑线,基于时间和价格
value2 = tl_new_dt(datetime[20], low, datetime, low);
tl_setextright(value2, true); // 设置线条向右延伸
tl_setcolor(value2, green); // 设置线条颜色为绿色
tl_setsize(value2, 1); // 设置线条宽度为1
tl_setstyle(value2, 4); // 设置线条样式为4
end;
主图指标用于在图表上绘制阻力线和支撑线。当价格达到过去20个周期内的最高价或最低价时,它会删除旧的线并绘制一条新的线。新的线会向右延伸,并且有特定的颜色和样式。代码中使用的是`tl_new_dt`函数来创建线条,这是基于时间和价格的。线条的宽度被设置为1,阻力线颜色为红色,支撑线颜色为绿色,并且有不同的样式。
趋势直线指标(副图)代码:
Input:len(9),m1(3),m2(3),overbuy(80),oversell(20);
var:rsv(50),kvalue(50),dvalue(50),jvalue(50);
value1 = Close - Lowest(low,len);
value2 = Highest(high,len) - Lowest(low,len);
if value2 <> 0 then begin
rsv = 100*value1/value2;
kvalue = SMA(rsv,m1,1);
dvalue = SMA(kvalue,m2,1);
end;
jvalue = 3*kvalue - 2*dvalue;
plot1(kvalue,"K",white);
plot2(dvalue,"D",yellow);
//plot3(overbuy,"80",darkgray);
//plot4(oversell,"20",darkgray);
Plot5(jvalue,"J",rgb(255,0,255));
value1 = tl_new_self_bn(1,20,currentbar,20);
value2 = tl_new_self_bn(1,80,currentbar,80);
tl_setsize(value1,1);
tl_setsize(value2,1);
tl_setstyle(value1,4);
tl_setstyle(value2,3);
tl_setcolor(value1,lightgray);
tl_setcolor(value2,Magenta);
画趟势直线指标(主图)代码
if high = Highest(high,20) then begin
tl_delete(value1);
//value1 = tl_new(date,time,high,date,time,high);
value1 = tl_new_dt(datetime[20],high,datetime,high);
tl_setextright(value1,true);
tl_setcolor(value1,red);
tl_setsize(value1,1);
tl_setstyle(value1,5);
end;
if Low =Lowest(low,20) then begin
tl_delete(value2);
//value2 = tl_new(date,time,low,date,time,low);
value2 = tl_new_dt(datetime[20],low,datetime,low);
tl_setextright(value2,true);
tl_setcolor(value2,green);
tl_setsize(value2,1);
tl_setstyle(value2,4);
end;
策略思维导图:
相关文章:

趋势直线指标
趋势直线副图和主图指标,旨在通过技术分析工具帮助交易者识别市场趋势和潜在的买卖点。 副图指标:基于KDJ指标的交易策略 1. RSV值计算: - RSV(未成熟随机值)反映了当前收盘价在过去一段时间内的相对位置。通过计算当前…...

基线配置管理:为什么它对网络稳定性至关重要
什么是基线配置(Baseline Configuration) 基线配置(Baseline Configuration)是经过批准的标准化主设置,代表所有设备应遵循的安全、合规且运行稳定的配置基准,可作为评估变更、偏差或未授权修改的参考基准…...
AWS WebRTC:获取ICE服务地址(part 1)
建立WebRTC连接的第二步是获取ICE服务地址。 ICE全称:Interactive Connectivity Establishment,建立互动连接。 ICE 服务地址,主要是 TURN 和 STUN 服务器的地址,用于 WebRTC 在 NAT 网络环境中协商建立连接。 上代码ÿ…...

Nest全栈到失业(一):Nest基础知识扫盲
Nest 是什么? 问你一个问题,node是不是把js拉出来浏览器环境运行了?当然,他使用了v8引擎加上自己的底层模块从而实现了,在外部编辑处理文件等;然后它使用很多方式来发送请求是吧,你知道的什么http.request 或 https.request; 我们浏览器中,使用AJAX以及封装AJAX和http的Axios…...

摩尔线程S4000国产信创计算卡性能实战——Pytorch转译,多卡P2P通信与MUSA编程
简介 MTT S4000 是基于摩尔线程曲院 GPU 架构打造的全功能元计算卡,为千亿规模大语言模型的训练、微调和推理进行了定制优化,结合先进的图形渲染能力、视频编解码能力和超高清 8K HDR 显示能力,助力人工智能、图形渲染、多媒体、科学计算与物…...

Tesseract OCR 安装与中文+英文识别实现
一、下载 https://digi.bib.uni-mannheim.de/tesseract/ 下载,尽量选择时间靠前的(识别更好些)。符合你的运行机(我的是windows64) 持续点击下一步安装,安装你认可的路径即可,没必要配置环境变…...

Cypress + React + TypeScript
🧪 Cypress + React + TypeScript 组件测试全流程实战:从入门到自动化集成 在现代前端开发中,组件测试 是保障 UI 行为可靠性的重要手段。本文将通过一个 React 项目示例,实战演示如何结合 Cypress + React + TypeScript 实现从零配置到自动化集成的完整测试链路。 一、项…...
每个路由器接口,都必须分配所属网络内的 IP 地址,用于转发数据包
在IP网络中,主机(Host)和路由器接口(Router Interface)都需要分配网络地址(IP地址)。 1. 主机(Host)的IP地址分配 (1) 作用 主机的IP地址用于唯一标识该设备࿰…...
c++第四课(基础c)——布尔变量
1.前言 好,今天我们来学布尔变量(bool),开搞! 2.正文 2.1布尔数据的定义值 布尔数据的定义值,是只有真和假 顺便提一句0是假,非0的数字都是真 不过为了简便 我们一般都用0和1 2.2布尔数…...

第2期:APM32微控制器键盘PCB设计实战教程
第2期:APM32微控制器键盘PCB设计实战教程 一、APM32小系统介绍 使用apm32键盘小系统开源工程操作 APM32是一款与STM32兼容的微控制器,可以直接替代STM32进行使用。本教程基于之前开源的APM32小系统,链接将放在录播评论区中供大家参考。 1…...

Docker-搭建MySQL主从复制与双主双从
Docker -- 搭建MySQL主从复制与双主双从 一、MySQL主从复制1.1 准备工作从 Harbor 私有仓库拉取镜像直接拉取镜像运行容器 1.2 配置主、从服务器1.3 创建主、从服务器1.4 启动主库,创建同步用户1.5 配置启动从库1.6 主从复制测试 二、MySQL双主双从2.1 创建网络2.2 …...
LeetCode - 203. 移除链表元素
目录 题目 解题思路 读者可能出现的错误写法 正确的写法 题目 203. 移除链表元素 - 力扣(LeetCode) 解题思路 使用哨兵节点: 创建一个哨兵节点(dummy),将其next指向原链表头节点 哨兵节点的作用是统一处理所有情况&#x…...

canvas 实现全屏倾斜重复水印
参考: html、js、canvas实现水印_html页面使用canvas绘制重复水印-CSDN博客 效果 不求水印显示完全。 实现代码 <template><div class"watermark" ref"waterMark"></div></template><script lang&q…...

vue3项目 前端文件下载的两种工具函数
1、Blob 流下载 Blob 表示不可变的原始数据的类文件对象,通常用于处理文件或大块二进制数据。 注意:js中还有一个二进制数据类型ArrayBuffer,它们的区别如下 Blob 可以位于磁盘、高速缓存内存和其他不可用的位置;ArrayBuffer 是存…...
SpringAI系列 - 升级1.0.0
目录 一、调整pom二、MessageChatMemoryAdvisor调整三、ChatMemory get方法删除lastN参数四、QuestionAnswerAdvisor调整Spring AI发布1.0.0正式版了😅 ,搞起… 一、调整pom <properties><java.version>17</java.version><spring-ai.version>...

5.31 day33
知识点回顾: PyTorch和cuda的安装 查看显卡信息的命令行命令(cmd中使用) cuda的检查 简单神经网络的流程 数据预处理(归一化、转换成张量) 模型的定义 继承nn.Module类 定义每一个层 定义前向传播流程 定义损失函数和优…...
Vue3 + VTable 高性能表格组件完全指南,一个基于 Canvas 的高性能表格组件
Vue3 + VTable 高性能表格组件完全指南 前言 VTable 是一个高性能的多维表格组件,专为处理大数据量场景而设计。它支持数十万条数据的快速渲染,提供了丰富的表格功能和良好的用户体验。本文将详细介绍如何在 Vue3 项目中使用 VTable,并解决常见的配置问题。 什么是 VTabl…...
【七. Java字符串操作与StringBuilder高效拼接技巧】
7. java字符串 7.1 API 介绍:应用程序编程接口。在 Java 中,API 指的是 JDK 提供的各种功能类,这些类把底层实现封装好了,我们不用关心内部怎么写的,直接用就行 用 API 帮助文档步骤:以查Random类为例 打…...
题解:洛谷 P12672 「LAOI-8」近期我们注意到有网站混淆视听
设 LGR 存在数量为 x x x,CSP 存在数量为 y y y。 很明显,我们只需要将其中数量较小的一方改没就行了(一个巴掌拍不响)。 每两个字符串可同意进行一次更改,答案为: ⌈ min ( x , y ) 2 ⌉ \left\lce…...

HTML 计算网页的PPI
HTML 计算网页的PPI vscode上安装live server插件,可以实时看网页预览 有个疑问: 鸿蒙density是按照类别写死的吗,手机520dpi 折叠屏426dpi 平板360dpi <html lang"en" data - overlayscrollbars - initialize><header&…...
WIN11+eclipse搭建java开发环境
环境搭建(WIN11ECLIPSE) 安装JAVA JDK https://www.oracle.com/cn/java/technologies/downloads/#jdk24安装eclipse https://www.eclipse.org/downloads/ 注意:eclipse下载时指定aliyun的软件源,后面安装会快一些。默认是jp汉化e…...
Linux 环境下C、C++、Go语言编译环境搭建秘籍
引言 在当今多元化的编程世界里,C、C 和 Go 语言凭借各自独特的优势,在不同的领域发光发热。C 语言作为一门古老而强大的编程语言,以其高效、贴近硬件的特性,在操作系统、嵌入式系统等底层开发中占据着重要地位;C 作为…...

MMR-Mamba:基于 Mamba 和空间频率信息融合的多模态 MRI 重建|文献速递-深度学习医疗AI最新文献
Title 题目 MMR-Mamba: Multi-modal MRI reconstruction with Mamba and spatial-frequency information fusion MMR-Mamba:基于 Mamba 和空间频率信息融合的多模态 MRI 重建 01 文献速递介绍 磁共振成像(MRI)因其无创、无辐射特性以及…...

2.5/Q2,Charls最新文章解读
文章题目:Trajectories of depressive symptoms and risk of chronic liver disease: evidence from CHARLS DOI:10.1186/s12876-025-03943-7 中文标题:抑郁症状的轨迹和慢性肝病风险:来自 CHARLS 的证据 发表杂志:BM…...

Unity QFramework 简介
目录 什么是MVC模式? QFramework 架构提供了 Model 的概念 QFramework 架构引入 Command 的方式 QFramework 架构引入 Event事件机制 四个层:表现层、系统层、数据层、工具层 委托和回调函数的关系 命令和事件的区别 工具篇 QFramework整体基于M…...

C++ 日志系统实战第五步:日志器的设计
全是通俗易懂的讲解,如果你本节之前的知识都掌握清楚,那就速速来看我的项目笔记吧~ 本文项目代码编写收尾! 日志器类 (Logger) 设计(建造者模式) 日志器主要用于和前端交互。当我们需要使用日志系统打印 log 时&…...
@Docker Compose部署Alertmanager
文章目录 Docker Compose部署Alertmanager1. 准备工作1.1 系统要求1.2 目录结构准备 2. 配置文件准备2.1 创建docker-compose.yml文件2.2 创建Alertmanager配置文件 3. 部署Alertmanager3.1 启动服务3.2 验证服务状态3.3 检查日志 4. 服务验证4.1 访问Web UI 4.2 API健康检查5.…...
前端面试准备-3
1.let、const、var的区别 ①:let和const为块级作用域,var为全局作用域 ②:let和var可以重新赋值定义,而const不可以 ③:var会提升到作用域顶部,但不会初始化;let和const也会提升到作用不顶部…...

性能测试-jmeter实战1
课程:B站大学 记录软件测试-性能测试学习历程、掌握前端性能测试、后端性能测试、服务端性能测试的你才是一个专业的软件测试工程师 性能测试-jmeter实战1 为什么需要性能测试呢?性能测试的作用?性能测试体系性能测试基础性能测试工具性能监控…...
汽车高速通信的EMC挑战
随着“软件定义汽车”的理念全面渗透,中国汽车行业正加速向集中式电子电气架构(E/E架构)转型。SOA(面向服务的架构)理念推动下,整车开始围绕中央计算平台(OIB)与分布式域控制器(VIU)构建,硬件平台具备前所未有的数据处理能力,能掌控整车控制与实时感知决策。 一、…...