分享

DELTA理论---如何在股票软件里画未来线

 xiaoyu0831 2014-07-06

(《DELTA理论——在所有市场里隐藏的次序》)

 【原著】Welles Wilder 威尔茨.维尔德  【翻译】 STU  

 

 

本书中文版由鼎砥投资论坛金融研究员 stu先生 翻译

 

 

 

如何在股票软件里画未来线

我没有深入思考这个问题,只是前两天有个朋友在本帖问起,我简单想了想,只做抛砖引玉之用。如果其他朋友有更好的方法,或者因为我对股票软件不熟悉,而没有充分利用现有函数功能,还望指出,也免耽误别人的时间。
/ |' H( K7 Z0 l2 [% D+ f; H
" A9 V3 C' h, l$ j1 l! U
基于我的粗浅了解,我觉得有这么几种思路种可以考虑:6 [0 `9 X8 m2 A# v. x
1)在飞狐函数里有SHIFT偏移函数,能够让指标(包括绘图输出结果)向后偏移若干周期。
          当然,这只能实现当前指标和图形的右移,并不能带来右边绘图区域的增加。
+ q+ P+ a7 A9 {( h6 ?, N
2)利用DLL函数,通过其他编程语言,如C等,实现更复杂和高级的功能。
          这一方面受制于编程者的开发能力,另一方面需要股票软件商提供接口的有关资料,来支持接口开发。一般来讲,比较复杂。
' [8 P& ]/ q4 W/ x1 M2 L
3)将图形整体左移,就把股票软件的右部作图区给扩大,在此可以绘制各种未来图形,前提是要有未来数据——未来数据可以是当前数据的右移,也可以任意其他方式计算得到,甚至直接假定。

以下在未来区域绘制ITD彩线的代码,只做示例。一些细节,并未做详细处理,比如:随着原K线的左移,图形中相应的日期是否也应该修改等等。但是,这都是细节,相信各人能够根据具体需要进行修正。8 i. q: x7 X, X9 C7 x5 l2 D
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

N:=100;                         //N是参数,表示向前移动多少天,也就是为未来画线留出多少天。

//隐去主图K线,只用于主图。如果是在副图绘制未来线,可以要,也可以不要此段代码,不影响
//叠加向前移动的K线,如果在主图叠加,则由于叠加K线的宽度,不一定和原K线吻合,可能会留下小白点,很小。
//单个小白点看不见,但是整体会有一点效果。通过调整叠加K线宽度可以解决。限于时间,这里没有尝试了。# n8 C/ E- M% @% o6 l
STICKLINE(OPEN>CLOSE, LOW,HIGH,   0,0),COLORblack;
STICKLINE(OPEN>CLOSE, CLOSE,OPEN, 8,0),COLORblack;
STICKLINE(OPEN<=CLOSE,OPEN, CLOSE,8,1),COLORblack;/ H3 b$ a' p$ h# B4 b; ]
STICKLINE(OPEN<=CLOSE,CLOSE,HIGH, 0,0),COLORblack;; r8 k% y. g# X; \! _" [  U
STICKLINE(OPEN<=CLOSE,LOW,OPEN,   0,0),COLORblack;& }4 Y* B: J2 P2 Q8 M3 i; c7 c
" H6 v# n4 N) k, l( t, C! y, A$ f6 A

//向前移动K线4 S7 [$ m- w7 N* z" j# @
O1:=REFX(O,N);3 \- H7 x# ]! q- ?
C1:=REFX(C,N);3 o2 S9 i% w# s1 G" C1 ]. y; [
H1:=REFX(H,N);, @+ |3 `6 A4 l! s  t; x% X5 ?% I
L1:=REFX(L,N);: \* J: b0 |  g1 W$ v  Q3 |0 a

//叠加前移的K线$ \7 {0 f8 p  |/ E$ c( n# k
STICKLINE(O1>C1, L1,H1,0,0),COLORWHITE;
STICKLINE(O1>C1, C1,O1,8,0),COLORWHITE;
STICKLINE(O1<=C1,O1,C1,8,1),COLORRED;7 [1 T" S7 d7 R5 W% W, @7 U5 _5 ~& U
STICKLINE(O1<=C1,C1,H1,0,0),COLORRED;
STICKLINE(O1<=C1,L1,O1,0,0),COLORRED;4 ]1 @- p' h+ B. u; n3 t: a8 k
" {/ s+ m, O  S* w7 m2 j
//以上代码可以用于任何需要绘制未来线的位置;2 D; J5 o( |* A5 T# Q6 I$ U, U, {5 @& D) R
//指标计算也可用相同办法实现向前移动;
: {6 Q& x2 A' s' s1 p* r$ p) h
//计算是否绘制彩线的位置: T+ [2 d- J0 c) B2 N) q
农历:=lday;
isFirst:=if(农历>Ref(农历,1) and ref(农历,1)<15 and 农历>15,1,0);
isColor:=iif(lday=15 or isFirst,1,0);                            //判断是否绘制彩线的位置:农历15,或者农历15后的第一个交易日
Num:=count(isColor,0);                                           //计算彩线个数
//光标所在画面的最高价和最低价
HH:=SYSPARAM(4);
LL:=sysparam(5);& C  ]/ ~; X) O/ s% B+ l1 f
农历smi49liesDay,LineThick0;, _; e, ?* L) m- z0 g
6 \: m& g1 q# y& h. A% J2 A
//绘制彩线(图中右部空白区域,就可以看做绘制未来线的效果。)9 L; v/ ]% R4 v1 a
STICKLINE(isColor and mod(Num,4)=0,ll,hh,3,0),colorred;     
STICKLINE(isColor and mod(Num,4)=1,ll,hh,3,0),coloryellow;1 `0 u, z' B5 ~  b
STICKLINE(isColor and mod(Num,4)=2,ll,hh,3,0),colorblue;
STICKLINE(isColor and mod(Num,4)=3,ll,hh,3,0),colorwhite;

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

    0条评论

    发表

    请遵守用户 评论公约