趋势直线副图和主图指标,旨在通过技术分析工具帮助交易者识别市场趋势和潜在的买卖点。
副图指标:基于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;
策略思维导图: