以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  DRAWCOLORKLINE, DRAWCOLORLINE如何改成金字塔的语言?  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=176125)

--  作者:OscarDeng
--  发布时间:2020/5/19 14:25:14
--  DRAWCOLORKLINE, DRAWCOLORLINE如何改成金字塔的语言?
文华财经8 有两个函数DRAWCOLORKLINE, DRAWCOLORLINE, 一个画K线一个画均线(下面有文华的注释), 我下面的几句话, 如何改成金字塔的语言? 

DRAWCOLORKLINE(MA(C,3)>=MA(C,24),COLORRED,0);
DRAWCOLORKLINE(MA(C,3)<MA(C,24),COLORWHITE,1);
DRAWCOLORLINE(MA3>REF(MA48,1),MA12,COLORRED,COLORGREEN),LINETHICK2;
DRAWCOLORLINE(MA3>REF(MA48,1),MA48,COLORRED,COLORGREEN),LINETHICK3;
DRAWCOLORLINE(MA3>REF(MA48,1),MA6,COLORRED,COLORGREEN),LINETHICK2;
DRAWCOLORLINE(MA3>REF(MA48,1),MA24,COLORRED,COLORGREEN),LINETHICK2;
DRAWCOLORLINE(MA225>REF(MA225,1),MA225,RGB(162,0,81),RGB(0,94,0)),LINETHICK5;
DRAWCOLORLINE(MA225>REF(MA225,1),MA192,RGB(170,0,0),RGB(0,123,123)),LINETHICK4;
DRAWCOLORLINE(MA3>REF(MA48,1),MA96,COLORMAGENTA,COLORLIGHTGREEN),LINETHICK3;

DRAWCOLORLINE(COND,DATA,COLOR1,COLOR2);根据条件画相应颜色的线
用法:当满足COND时,DATA为COLOR1颜色的线,不满足COND时,DATA为COLOR2颜色的线
注:
1、不支持将该函数直接定义为变量,即不支持下面的写法:
A:DRAWCOLORLINE(COND,DATA,COLOR1,COLOR2);
2、该函数支持在函数后设置线型(LINETHICK1 - LINETHICK7、POINTDOT、DOT),即支持下面的写法:
DRAWCOLORLINE(COND,DATA,COLOR1,COLOR2),LINETHICK;

例1: 
MA1:=MA(C,5);
DRAWCOLORLINE(MA1>REF(MA1,1),MA1,COLORRED,COLORGREEN); //如果当根5日均线的值大于前一根5日均线的值,MA1画红线,否则画绿线

DRAWCOLORKLINE 绘制K线
用法:
DRAWCOLORKLINE(Cond,Color,Empty);
满足Cond条件时,按照Color颜色绘制K线,根据Empty标志判断是空心还是实心。COLOR代表颜色,Empty非0为空心。

注:
不支持将该函数定义为变量,即不支持下面的写法:
A:DRAWCOLORKLINE(Cond,Color,Empty);

例:
DRAWCOLORKLINE(C>O,COLORBLUE,0);//收盘价大于开盘价,用蓝色绘制实心K线


--  作者:FireScript
--  发布时间:2020/5/19 15:02:38
--  
 1.绘制K线这个没有现成函数。只能另辟蹊径,稍微有点麻烦。
//原理是单独绘制柱形和上下影线。因为上下影线收到阴阳K影响,所以还要区分阴阳K的情况。
cd:c>=o;
STICKLINE(1 ,C,H,0,0,if(cd,COLORRED,COLORGREEN));
STICKLINE(1,C,O,8,if(cd,1,0),if(cd,COLORRED,COLORGREEN));
STICKLINE(1,if(cd,O,c),L,0,0,if(cd,COLORRED,COLORGREEN));
你这里根据上面的改造下,具体如下:

cd:MA(C,3)>=MA(C,24);
STICKLINE(1 ,C,H,0,0,if(cd,COLORRED,COLORWHITE));
STICKLINE(1,C,O,8,if(cd,1,0),if(cd,COLORRED,COLORWHITE));
STICKLINE(1,if(cd,O,c),L,0,0,if(cd,COLORRED,COLORWHITE));


[此贴子已经被作者于2020/5/19 15:13:13编辑过]

--  作者:FireScript
--  发布时间:2020/5/19 15:12:53
--  
2.变色线的这个尝试了。不行。