分享

各种周期DELTA的彩线绘制源码

 昵称30443304 2017-12-24
本书中文版由鼎砥投资论坛金融研究员 stu先生 翻译
以下是各种周期DELTA的彩线绘制源码,适用于飞狐软件。各段代码都可用于主图和副图,并提醒注意,每种DELTA有各自适用的K线周期
短期DELTA(STD):
//叠加K线——如果用于主图,以下五行可以不要+ B* d7 D0 g: B4 F0 f
STICKLINE(OPEN>CLOSE, LOW,HIGH,   0,0),COLORWHITE;
STICKLINE(OPEN>CLOSE, CLOSE,OPEN, 8,0),COLORWHITE;' J0 ^' S0 }- a5 r* p& e
STICKLINE(OPEN<=CLOSE,OPEN, CLOSE,8,1),COLORRED;
STICKLINE(OPEN<=CLOSE,CLOSE,HIGH, 0,0),COLORRED;
STICKLINE(OPEN<=CLOSE,LOW,OPEN,   0,0),COLORRED;; G$ M! @* Y, n/ y1 P- `8 q6 z
//光标所在画面的最高价和最低价- J! e' {% d$ x
HH:=SYSPARAM(4);4 g- `' K- C; c# P' Z8 u
LL:=SYSPARAM(5);
+ q5 v$ X5 R$ y/ E$ Q, C. x
//判断是否绘制彩线的位置
日:=date;                                                                                 //求当前K线的日期6 v  B( w  p, H- T; o
isColor:=if(日>ref(日,1) or BARSCOUNT(c)=1,1,0);        //当K线的日期发生变化时,就是新的彩线绘制位置
DIS:=if(BARSCOUNT(C)=1,0,日-ref(日,1)-1);               //星期六、星期日以及节假日也要考虑6 B( g) m$ J7 f) ^+ `$ g) qNum:=count(isColor,0)+DIS;                                                 //计算彩线个数
8 ^2 x* `4 O( W: ~4 o/ M
//绘制彩线
STICKLINE(isColor and mod(Num,4)=0,LL,HH,1,0),colorred      ;; L: v4 @+ ?- i% t/ x
STICKLINE(isColor and mod(Num,4)=1,LL,HH,1,0),coloryellow   ;8 E6 q7 r7 S' [3 d4 Z4 T' k
STICKLINE(isColor and mod(Num,4)=2,LL,HH,1,0),colorblue     ;9 J3 _1 T) j5 H
STICKLINE(isColor and mod(Num,4)=3,LL,HH,1,0),colorwhite    ;
适用于60分钟线、30分钟线,15分钟线,5分钟线。* J8 V$ Q4 e# Z5 |$ C; V8 e& t
) s. [1 E# Q# J' F# c: ]; P2 S
(补充:黑体部分很重要,原先给出的代码缺少这句,即忽略了周末和节假日的处理。根据吉姆.索罗门的解释,周末和节假日也在DELTA序列内,虽然它没有K线。原文中用双线来标注周末和节假日,我觉得,只要正确按照顺序标注彩线即可,因此不采用双线。另外,本程序现在已经处理任意长短的节假日和周末。)
中短期DELTA(ITD):
. s% j* h/ p1 Z( K
//叠加K线--如果用于主图,以下五行可以不要
STICKLINE(OPEN>CLOSE, LOW,HIGH,   0,0),COLORWHITE;
STICKLINE(OPEN>CLOSE, CLOSE,OPEN, 8,0),COLORWHITE;
STICKLINE(OPEN<=CLOSE,OPEN, CLOSE,8,1),COLORRED;9 N0 f5 F7 T4 P. ?2 o
STICKLINE(OPEN<=CLOSE,CLOSE,HIGH, 0,0),COLORRED;
STICKLINE(OPEN<=CLOSE,LOW,OPEN,   0,0),COLORRED;, j, Y6 B% j' `, X! X' ], Y
/ k' d5 e1 X  J
//光标所在画面的最高价和最低价* E( V3 c4 t7 r% i; c( p) W
HH:=SYSPARAM(4);
LL:=SYSPARAM(5);5 Z* @0 K- }4 u; I
//判断是否绘制彩线的位置
农历smi49liesDay,LineThick0;) J, G. s- @) t$ o( I
isFirst:=if(农历>Ref(农历,1) and ref(农历,1)<15 and 农历>15,1,0);
isColor:=iif(lday=15 or isFirst,1,0);                            //农历15,或者农历15后的第一个交易日,就是绘制彩线的位置& ?- B1 a$ x! [' |
Num:=count(isColor,0);                                           //计算彩线个数7 Y7 o- R; P/ d, }' \
//绘制彩线4 u5 Z  T( |, M6 I( o0 f
STICKLINE(isColor and mod(Num,4)=0,ll,hh,1,0),colorred      ;
STICKLINE(isColor and mod(Num,4)=1,ll,hh,1,0),coloryellow   ;  B0 M( A5 C* o
STICKLINE(isColor and mod(Num,4)=2,ll,hh,1,0),colorblue     ;
STICKLINE(isColor and mod(Num,4)=3,ll,hh,1,0),colorwhite    ;6 K9 Z( ]) j# d. H
6 z, j# i9 g9 W! V0 u  c
适用于日线,周线好像亦可,推荐用于日线。
中期DELTA(MTD):
) i8 h, J3 r7 L: f( C5 D, r% i2 V, L* F
//叠加K线——如果用于主图,以下五行可以不要- a% d: J+ P4 m2 p6 s3 x$ S
STICKLINE(OPEN>CLOSE, LOW,HIGH,   0,0),COLORWHITE;
STICKLINE(OPEN>CLOSE, CLOSE,OPEN, 8,0),COLORWHITE;  C; z: ]  \* {; `8 N9 p
STICKLINE(OPEN<=CLOSE,OPEN, CLOSE,8,1),COLORRED;/ G/ g, L8 s' P8 [
STICKLINE(OPEN<=CLOSE,CLOSE,HIGH, 0,0),COLORRED;
STICKLINE(OPEN<=CLOSE,LOW,OPEN,   0,0),COLORRED;. I! G8 R' s. ^/ y' P. {6 ]8 w1 e
0 F3 y5 |1 g* @- V9 d
//光标所在画面的最高价和最低价, b' r' B; f; x
HH:=SYSPARAM(4);
LL:=sysparam(5);2 |1 Q! ~) g: u3 y
//判断是否绘制彩线的位置
农历smi49liesDay,LineThick0;
isFirst:=if(lday=15 or (农历>Ref(农历,1) and ref(农历,1)<15 and 农历>15),1,0);  //农历15,或者农历15后的第一个交易日9 L; P4 K' V& y- D7 Q7 {
isColor:=if(mod(count(isFirst,0),3)=1 and isFirst,1,0),linethick0;                            //每三个农历满月的位置绘制彩线6 y$ y' K3 R5 H* G7 X
Num:=count(isColor,0);                                                                                                //计算彩线个数
+ _8 w# j# U0 o$ ^+ O
//绘制彩线
STICKLINE(isColor and mod(Num,4)=0,ll,hh,1,0),colorred      ;4 @- s3 m/ ?$ t' j
STICKLINE(isColor and mod(Num,4)=1,ll,hh,1,0),coloryellow   ;, v6 f, d8 e6 C9 _  s8 D
STICKLINE(isColor and mod(Num,4)=2,ll,hh,1,0),colorblue     ;
STICKLINE(isColor and mod(Num,4)=3,ll,hh,1,0),colorwhite    ;
适用于日线、周线
长期DELTA(LTD):1 N' q& j( ^( t$ e9 ]' T- b
//叠加K线--如果用于主图,以下五行可以不要
STICKLINE(OPEN>CLOSE, LOW,HIGH,   0,0),COLORWHITE;
STICKLINE(OPEN>CLOSE, CLOSE,OPEN, 8,0),COLORWHITE;' S1 ~! p# R9 t: f& \' p/ \
STICKLINE(OPEN<=CLOSE,OPEN, CLOSE,8,1),COLORRED;5 v3 W/ E; ]5 `6 B1 y
STICKLINE(OPEN<=CLOSE,CLOSE,HIGH, 0,0),COLORRED;
STICKLINE(OPEN<=CLOSE,LOW,OPEN,   0,0),COLORRED;. O* l- G: |1 ], [
//光标所在画面的最高价和最低价
HH:=SYSPARAM(4);, B1 y9 f+ ~% N0 ?
LL:=sysparam(5);$ N8 Y/ _& p. W
% [% G. Q4 _8 C( D3 t/ t& q/ Q
//判断是否绘制彩线的位置
年:=year;- j- w; \# a/ ^4 B7 s
isColor:=if(年>ref(年,1),1,0);                          //当K线的年份发生变化,就是绘制彩线的位置
Num:=count(isColor,0);                                  //计算彩线个数
//绘制彩线
STICKLINE(isColor and mod(Num,4)=0,ll,hh,1,0),colorred      ;: B4 q; l3 j. R% B
STICKLINE(isColor and mod(Num,4)=1,ll,hh,1,0),coloryellow   ;
STICKLINE(isColor and mod(Num,4)=2,ll,hh,1,0),colorblue     ;% |6 h* _1 W- Z7 J4 g& e
STICKLINE(isColor and mod(Num,4)=3,ll,hh,1,0),colorwhite    ;
- i' H' P4 A7 E2 g
适用于日线、周线、月线,推荐用于周线、月线。
超长期DELTA(SLTD):
+ _! `7 t' T# m* `5 Y/ i- ~
//叠加K线--如果用于主图,以下五行可以不要9 \3 y4 q5 e! R4 c/ `
STICKLINE(OPEN>CLOSE, LOW,HIGH,   0,0),COLORWHITE;: X5 u4 }0 _- w' Z$ W# d+ q: _
STICKLINE(OPEN>CLOSE, CLOSE,OPEN, 8,0),COLORWHITE;
STICKLINE(OPEN<=CLOSE,OPEN, CLOSE,8,1),COLORRED;0 T! @  x4 O% x3 y& D% L  [
STICKLINE(OPEN<=CLOSE,CLOSE,HIGH, 0,0),COLORRED;8 n0 m. ?$ b2 J$ L8 @8 _1 R
STICKLINE(OPEN<=CLOSE,LOW,OPEN,   0,0),COLORRED;. g) [) Q: Y# P2 e; `; C: M- g
//光标所在画面的最高价和最低价
HH:=SYSPARAM(4);
LL:=SYSPARAM(5);
8 e3 C' |! R# ~4 y6 `
//判断是否绘制彩线的位置# v3 J+ p* T0 `  X  u
月:=month;$ s8 K* v4 N; R. F
isFirst:=if(月>ref(月,1) or 月isColor:=if(mod(count(isFirst,0),57)=1 and isFirst,1,0);    //每57个月绘制一次彩线;# A, ?/ m3 R# X: w' z
Num:=count(isColor,0);                                                         //计算彩线个数6 G; u9 M9 p: }5 R5 l! J
//绘制彩线: U9 ~/ i; r+ w9 [& V  T) U
STICKLINE(isColor and mod(Num,4)=0,ll,hh,1,0),colorred      ;8 e9 e9 E( e' ?# I' F# @0 E7 M8 g4 U
STICKLINE(isColor and mod(Num,4)=1,ll,hh,1,0),coloryellow   ;
STICKLINE(isColor and mod(Num,4)=2,ll,hh,1,0),colorblue     ;% L2 R4 x! W3 H
STICKLINE(isColor and mod(Num,4)=3,ll,hh,1,0),colorwhite    ;
适用于日线、周线、月线,推荐用于周线、月线。* h1 R4 j- }' R% T! j2 i2 k
由于中国股市没有那么长的历史,所以此DELTA在很长时间内都没有意义,呵呵。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约