请老师帮忙,如何返回上一个上涨Bar的索引值? [开拓者 TB]
- 咨询内容:
假如有5个bar:
bar4,bar3,bar2,bar1,bar0
bar4上涨,其余是下跌,如何在bar0返回bar4的索引值?
另外,如何返回上上一个上涨bar的索引值? - TB技术人员:
本帖最后由 skawin88 于 2016-8-21 03:10 编辑
纠正一下问题。
意图是在5分钟图上,找上一个上涨日距离当日的天数。 - TB客服:
skawin88 发表于 2016-8-21 02:47
纠正一下问题。
意图是在5分钟图上,找上一个上涨日距离当日的天数。
这个需求,建议在是在日线上计算上涨日的信息,存入数据库,再在5分钟上读此信息较为简单。
日线上:- vars
- numeric aa;
- begin
- aa = nthcon(close[1]>open[1],1);
- settbprofilestring("mysection",text(date),text(aa));
- end
- vars
- numeric bb;
- begin
- bb = value( gettbprofilestring("mysection",text(date)));
- commentary("bb="+text(bb));
- end
- vars
- 网友回复:
这个办法巧,谢谢老师。
另外,还有个问题。
Vars
Numeric UPEntry;//开多上限
Numeric DOWNEntry;//开空下限
NumericSeries AA;//成交量/价差
Begin
AA = VolD(1) / ( HighD(1) - LowD(1)) ;
UPEntry = HighD(1) ;//初始上限为上日最高价
DOWNEntry = LowD(1) ;//初始下限为上日最低价
If (CloseD(1) > OpenD(1))
{
If (AA[1] > AA[2])
{
UPEntry = HighD(1);
}
Else
{
UPEntry = HighD(2);
}
}
PlotNumeric ( "UPEntry",UPEntry,0,red);
End
这个代码显示出的线段,总是有突出的部分。是哪里不对吗?
比如下图:
- 网友回复:
skawin88 发表于 2016-8-23 10:58
这个办法巧,谢谢老师。
另外,还有个问题。
序列函数放到条件下计算是可能出错的,应该使用中间变量,在外赋值 后再代入条件中使用。
试一下:- Vars
- Numeric UPEntry1;//开多上限
- Numeric UPEntry2;
- Numeric DOWNEntry;//开空下限
- NumericSeries AA;//成交量/价差
- NumericSeries bb;
- Begin
- AA = VolD(1) / ( HighD(1) - LowD(1)) ;
- UPEntry1 = HighD(1) ;//初始上限为上日最高价
- UPEntry2 = HighD(2);
- DOWNEntry = LowD(1) ;//初始下限为上日最低价
- If (CloseD(1) > OpenD(1))
- {
- If (AA[1] > AA[2])
- {
- bb = UPEntry1 ;
- }
- Else
- {
- bb = UPEntry2;
- }
- }
- PlotNumeric ( "UPEntry",bb,0,red);
- End
- Vars
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 511411198 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容