以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  求个K线标记代码  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=160821)

--  作者:hj007s
--  发布时间:2018/1/3 12:44:18
--  求个K线标记代码
我想做个当5日均线下穿10日均线后,第一根阴线记为1,第二根记为2,连续阴线过后出现第一根阳线后清零,就是个全局变量的一个计数,请问应该怎么写?
谢谢大神!!!

--  作者:FireScript
--  发布时间:2018/1/3 13:14:39
--  

死叉所在的K是否在统计范围内。就是说死叉本身是阴线。


--  作者:hj007s
--  发布时间:2018/1/3 13:24:13
--  
死叉算信号,信号那根K线不算,出信号的那根K线后的第一根开始算
--  作者:FireScript
--  发布时间:2018/1/3 13:35:14
--  

做了一个参考样例,且用绘图函数标记了位置,方便你查看。全局变量没用到。


sc:cross(ma(c,10),ma(c,5));//死叉
lastSc:BARSLAST(sc);//上一次死叉的位置,在死叉当根K上返回0

U:=count(c<o,lastSc);//统计阴线数,阴线按照严格的c<o来确立。
B:=ref(c<o,1);//ref和count不能在if里面直接用,这里放到if外部处理。

if LASTSC<>0 then
begin
if u=1 and c<o  then DRAWTEXT(1,low ,\'OK\' );//当前是阴线并且死叉以来阴线数是1,说明当前K是第一个阴线
if u=2 and c<o and b then DRAWTEXT(1,low ,\'OK\' );//当前是阴线并且死叉以来阴线数是2,且上一个K是阴线说明是连续的2个阴线
end

 

 


--  作者:hj007s
--  发布时间:2018/1/3 13:36:28
--  
谢谢,我看看
--  作者:hj007s
--  发布时间:2018/1/3 13:42:30
--  
那个,我多添加了两个均线,MA5和MA10,
sc:cross(ma(c,10),ma(c,5));//死叉
MA5:MA(C,5),NOAXIS;
MA10:MA(C,10),NOAXIS;
lastSc:BARSLAST(sc);//上一次死叉的位置,在死叉当根K上返回0
U:=count(c<o,lastSc);//统计阴线数,阴线按照严格的c<o来确立。
B:=ref(c<o,1);//ref和count不能在if里面直接用,这里放到if外部处理。
if LASTSC<>0 then
begin
if u=1 and c<o  then DRAWTEXT(1,low ,\'OK\' );//当前是阴线并且死叉以来阴线数是1,说明当前K是第一个阴线
if u=2 and c<o and b then DRAWTEXT(1,low ,\'OK\' );//当前是阴线并且死叉以来阴线数是2,且上一个K是阴线说明是连续的2个阴线
end

在主图叠加上,我运用NOAXIS,但是指标还是被压缩了,请问如何解决?


--  作者:FireScript
--  发布时间:2018/1/3 14:05:57
--  
指标被压缩了?在Y轴上右键-仅随K线变动,这个勾选上。
--  作者:hj007s
--  发布时间:2018/1/3 14:12:12
--  
你看看,好像没用啊
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20180103141124.png
图片点击可在新窗口打开查看

--  作者:FireScript
--  发布时间:2018/1/3 14:19:37
--  

你是多窗体。你在对应窗体的那个Y轴上操作下。也就是图中上面的窗体的Y轴上右键 然后设置。你可能是设置到了下面的那个窗体了。

 


--  作者:hj007s
--  发布时间:2018/1/3 14:53:34
--  
谢谢,解决了!!!