以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  [原创]在指定K线之间画直线  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=182067)

--  作者:tjtgl
--  发布时间:2020/9/7 12:38:08
--  [原创]在指定K线之间画直线

在当天开盘K线的前3根K线开始画值线到最新K线

AAA如何定义
下方是具体代码,请指教,谢谢

DRAWLINE(AAA,4700,islastbar ,4750 ,0 ,COLORGREEN ,1,VTDOT );

--  作者:FireScript
--  发布时间:2020/9/7 13:11:46
--  
“当天开盘K线的前3根K” 指开盘的第三个K?

--  作者:tjtgl
--  发布时间:2020/9/7 13:43:34
--  
当天开盘K线的前3根K线,如3分钟图,9:30开盘 ,是从上一个交易日14:51开始画线到当天的最新K线
--  作者:FireScript
--  发布时间:2020/9/7 14:00:13
--  
 dif:time0-timetot0(ref(time,1));//周期数值,秒为单位
E:OPENMINUTES(CLOSETIME(0))-OPENMINUTES(TIME);


locate:E*60/dif;

locate=0 是最后一个K,也是就时间等于15:00的K,以此类推

--  作者:tjtgl
--  发布时间:2020/9/7 14:36:42
--  
是否可以提取 当天开盘的第一根K线的编号,减去3,得到,开盘之前3根K线的编号,以此为起点画线,谢谢

以下代码可能不对,以此为例的
3分钟K线
DTKH:=VALUEWHEN(date,BARPOS);//当天日k线的编号
DTKP:=VALUEWHEN(time=93300,BARPOS);//当天开盘k线的编号
QSQDL1:=BARPOS-DTKP-3;//起点的k线编号 

--  作者:FireScript
--  发布时间:2020/9/7 14:42:59
--  
 能获取到开盘第一个K的编号。但是没什么用。
画线函数是从当前开始画,不能回过头从过去的位置进行判断然后绘制。


--  作者:FireScript
--  发布时间:2020/9/7 14:56:02
--  
 你如果只是画线,倒是可以在序列模式下用未来函数操作下。

这样倒是很简单了,直接一个refx函数就搞定了,只是需要公式在序列模式下。
DRAWLINE(refx(date,3)=CURRENTDATE,3750,islastbar ,3800 ,0 ,COLORGREEN ,1,VTDOT );

--  作者:tjtgl
--  发布时间:2020/9/7 15:41:56
--  
问题解决,非常感谢