以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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=175395)

--  作者:止水ldj
--  发布时间:2020/4/7 14:15:00
--  [求助]K线日期划线程序
想设计一个日期划线的小指标,不知道哪位大神能援助下,如有意愿,细节再沟通了。
--  作者:FireScript
--  发布时间:2020/4/7 14:16:35
--  
  你把思路贴上来看看。
--  作者:止水ldj
--  发布时间:2020/4/7 14:22:57
--  
日线设计思路:1、自然日K线图。2在每个月的阴历日期,初一上划一根竖线,3、每四个月一循环,就是四根不同颜色的线表示,比如,用红、蓝、黑、白,交替顺序显示。4、周线和月线也是这个思路。


--  作者:FireScript
--  发布时间:2020/4/7 14:45:31
--  
cd:LDAY=1;
ct:=count(cd,0);
x1:=if(mod(ct,4)=0,COLORWHITE,if(mod(ct,4)=1,COLORRED,if(mod(ct,4)=2, COLORBLUE,COLORYELLOW)));
VERTLINE(cd ,0,20000 ,x1);

大致效果:


图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看

--  作者:FireScript
--  发布时间:2020/4/7 14:49:54
--  
上面代码仅在日线上运行。周期,月线不行。

--  作者:止水ldj
--  发布时间:2020/4/7 14:51:08
--  
是的,大致是这样的,要不我把详细的思路写个文档,有些细节我要说的更明确些。怎么给你呢?
--  作者:止水ldj
--  发布时间:2020/4/7 15:18:43
--  
能麻烦再做个周线划线的代码吗?
设计思路:1、在某一个月阴历初一所在的周作为起始点划线。2、第四个月的阴历初一所在的周划第二根线。3、第七个月的阴历初一所在的周划第三根线。4、第十个月的阴历初一所在的周划第四根线。
      5、划线颜色也是用红、蓝、黑、白,交替顺序显示。
      6、但是可能需要调试,第一根线可能要能够推迟1个月或者2个月划线。
      7、闰月也算一个月,不单独处理,也就是每根线后都是三个阴历月份。
这个有点复杂了,能麻烦帮看下吗?

--  作者:FireScript
--  发布时间:2020/4/7 16:20:24
--  
 cd:=ref(LMONTH,1)<>LMONTH,NODRAW;//判断初一位置
ct:=count(cd,0);//统计初一次数
a:=mod(ct-1,3);
x:=(ct=1 and ref(ct,1)<>1) or (a=0 and ref(a,1)<>0);//画线条件
ct2:count(x,0);//统计画线位置次数 来进行颜色区分
x1:=if(mod(ct2,3)=0,COLORWHITE,if(mod(ct2,4)=1,COLORRED,if(mod(ct2,4)=2, COLORBLUE,COLORYELLOW)));
VERTLINE( x,0,20000 ,x1);



此外
6、但是可能需要调试,第一根线可能要能够推迟1个月或者2个月划线。”这个没太懂什么意思。

--  作者:止水ldj
--  发布时间:2020/4/7 16:36:01
--  
 6、但是可能需要调试,第一根线可能要能够推迟1个月或者2个月划线。”这个没太懂什么意思。
——这句话的意思,就是经过分析,可能是划线错误了,要进行划线修正:我的第一根线要推迟到第二个月初一所在周划第一根线,或者推迟到第三个月的初一所在周划第一根线。如果推迟到第四个月,我就直接使用原来的第二根划线就行了。是这个意思,我说明白了吗?谢谢!

--  作者:FireScript
--  发布时间:2020/4/7 16:55:21
--  
 就是希望能自行调整第一个画线的位置是吧。