公式教程

  • 通达信三剑屠龙抄底指标公式

    N:=3;
    STICKLINE(C>0,0,0,10,0),COLORGRAY;
    STICKLINE(C>0,30,30,10,0),COLORRED;
    STICKLINE(C>0,60,60,10,0),COLORGREEN;
    STICKLINE(C>0,20,20,6,0),COLORCYAN;
    STICKLINE(C>0,40,40,6,0),COLORYELLOW;
    JJ:=(CLOSE-LLV(LOW,3*N))/(HHV(HIGH,3*N)-LLV(LOW,3*N))*100;
    JK:=(SMA(JJ,3,1));
    JD:=SMA(JK,3,1);
    J5:=(CLOSE-LLV(LOW,5*N))/(HHV(HIGH,5*N)-LLV(LOW,5*N))*100;
    J21:=(CLOSE-LLV(LOW,21*N))/(HHV(HIGH,21*N)-LLV(LOW,21*N))*100;
    K21:=SMA(J21,3,1);
    D21:=SMA(K21,3,1);
    PMC:=POW(MA(CLOSE,N),2)+MA(CLOSE,N);
    PML:=POW(MA(LOW,N),2)+MA(LOW,N);
    PMH:=POW(MA(HIGH,N),2)+MA(HIGH,N);
    JP:=((PMC-LLV(PML,14*N))/(HHV(PMH,14*N)-LLV(PML,14*N))*100);
    JPK:=SMA(JP,3,1);
    JPD:=SMA(JPK,3,1);
    JPJ:=3*JPK-2*JPD;
    BJ:=(J5+JJ+J21)/3;
    BK:=((2*JK+K21+JPK)/4);
    BD:=((2*JD+D21+JPD)/4);
    Bkd:=((J5+J21*2+BJ+BK+BD+JP+JPK+JPD+JPJ)/10);
    JN:=(HHV(HIGH,N)-CLOSE)/(HHV(HIGH,N)-LLV(LOW,N));
    N3:=(HHV(HIGH,3*N)-CLOSE)/(HHV(HIGH,3*N)-LLV(LOW,3*N));
    N7:=(HHV(HIGH,7*N)-CLOSE)/(HHV(HIGH,7*N)-LLV(LOW,7*N));
    N14:=(HHV(HIGH,14*N)-CLOSE)/(HHV(HIGH,14*N)-LLV(LOW,14*N));
    N21:=(HHV(HIGH,21*N)-CLOSE)/(HHV(HIGH,21*N)-LLV(LOW,21*N));
    N34:=(HHV(HIGH,34*N)-CLOSE)/(HHV(HIGH,34*N)-LLV(LOW,34*N));
    N55:=(HHV(HIGH,55*N)-CLOSE)/(HHV(HIGH,55*N)-LLV(LOW,55*N));
    BN:=((JN+N3+N7+N14+N21+N34+N55)/7)*100;
    NK:=SMA(BN,3,1);
    ND:=(SMA(NK,3,1));
    KL:=(BK+BD+BKD+JPK+JPD+JPJ+ND+D21)/8-20;
    K:SMA(KL,3,1);
    D:SMA(K,3,1);
    ED:SMA(D,3,1);
    VAR1:=LLV(LOW,3)<=LLV(LOW,60);
    VAR2:= C>O AND (C/O>1.03 OR C>1.03*REF(C,1));
    绝地反击:IF(VAR1 AND VAR2,65,0),COLORYELLOW,LINETHICK2;

    2023年9月21日
  • 反向推算KDJ推演全程(附公式源码)


    检索全网,尚未有反推kdj方案,双节之际,公布【 反向推算kdJ---推演全程 (附公式源码)】.
    由于价量乃为指标之母,亦即先有股价、成交量,始有指标的产生,亦称为“因果关系”,
    反向推算的意义在于“倒果为因”,将指标的预估值,反推回k线做预先预估。如此将可以
    于明日便于了解指标进入”高档区”、”多空分界”、”低档区”的预估,同时亦可采用
    这种观念,研判多头行情或空头行情之支撑区或压力区。


    <<如何实现KDJ的J值=50时候对应价格的输出?>>
    一般情况下指标显示的都是o、p、h、l几个已经固定的价格所计算出来的对应的值,我想知道
    当盘中kdj的j值为确定值(比如50)时候对应的价格,怎么把它输出呢?


    所涉问题是反向推算,即以KDJ中的J为已知数,从而求出公式中的C的值.


    n:=9;m1:=3;m2:=3;
    RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
    K:=SMA(RSV,M1,1);D:=SMA(k,M2,1);J:=3*K-2*D;

    以上是KDJ技术指标的原码及默认参数,关闭KDJ三线的输出.


    {=========去参数推演全程==========================}
    我们知道
    SMA(X,N,M),求X的N日移动平均,M为权重。
    算法: 若Y=SMA(X,N,M)
    则 Y=[M*X+(N-M)*Y')]/N,其中Y'表示上一周期Y值,N必须大于M。

    为了方便推演,把参数直接用m1=3;m2=3数值计算.根据以上数学式,
    则:k:=SMA(RSV,M1,1)即
    k:=SMA(rsv,3,1);
    可转化成
    k1:1/3*rsv+ref(k,1)/3*2;

    同样道理
    D:=SMA(k,3,1);
    可转化成
    d1:1/3*k+ref(d,1)/3*2;

    J:=3*K-2*D;
    可写成
    Jj:3*K1-2*D1;

    以上的k1,d1,jj等同于原式中的k,d,j值.
    把k1,d1代入jj项(为了叙述方便,jj用小序号标注,其值相等)
    则jj项可转化成

    Jd0:=3*(1/3*rsv+ref(k,1)/3*2)-2*(1/3*k+ref(d,1)/3*2);
    Jd1:=3*(1/3*rsv+ref(k,1)/3*2)-2/3*k-4/3*ref(d,1);             (去括号)
    jd2:=rsv+2*ref(k,1)-2/3*k-4/3*ref(d,1);                       (去括号,移项)
    jd3:=rsv+2*ref(k,1)-2/3*(1/3*rsv+ref(k,1)/3*2)-4/3*ref(d,1);  (把K代入上式)
    jd4:=rsv+2*ref(k,1)-2/3*(1/3*rsv+2/3*ref(k,1))-4/3*ref(d,1);  (化简)
    jd5:=rsv+2*ref(k,1)-2/9*rsv-4/9*ref(k,1)-4/3*ref(d,1);        (去括号)
    jd6:=rsv-2/9*rsv+2*ref(k,1)-4/9*ref(k,1)-4/3*ref(d,1);        (移项)
    jd7:=7/9*rsv+14/9*ref(k,1)-4/3*ref(d,1);                      (合并同类项)

    至此完成含未知数的rsv算术化简,jd7数值依然等于原公式中的j值.

    令j11=jd7;下面把上式置换位置,

    7/9*rsv:=j11-14/9*ref(k,1)+4/3*ref(d,1);                      (置换)
    rsv:=9/7*j11-2*ref(k,1)+12/7*ref(d,1);                        (化简)


    rsv:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))
    代入上式并化简后得
    (CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N)):=(9/7*j11-2*ref(k,1)+12/7*ref(d,1))/100;

    化简后得
    CLOSE-LLV(LOW,N):=((9/7*j11-2*ref(k,1)+12/7*ref(d,1))/100)*(HHV(HIGH,N)-LLV(LOW,N));

    令xxx等于所求的CLOSE,上式演化成
    xxx:=((9/7*j11-2*ref(k,1)+12/7*ref(d,1))/100)*(HHV(HIGH,N)-LLV(LOW,N))+LLV(LOW,N);

    至此所求的CLOSE即xxx己由j值来控制.大功告成!推演完毕!

    ================================================================

    {========反推公式源码============}
    {----试验参数(j1)说明:-----}
    {j1=-50读入即时j值,反推值是即时c值;
    j1=-49读入昨日j值,可知j值拐头时的价格;
    j1输入自定义值时,计算J线到达该值的临界值}

    input:j1(-50,-50,120);
    n:=9;m1:=3;m2:=3;
    RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
    K:=SMA(RSV,M1,1);
    D:=SMA(K,M2,1);
    J:=3*K-2*D;
    {-----线值------------}
    k1:1/3*rsv+ref(k,1)/3*2;
    d1:1/3*k+ref(d,1)/3*2;
    Jj:3*K1-2*D1;
    {-----显示-------------}
    j11:=j;j昨:=ref(j,1);jx:=if(j1=-50,j11,if(j1=-49,j昨,j1));
    xxx:((9/7*jx-2*ref(k,1)+12/7*ref(d,1))/100)*(HHV(HIGH,9)-LLV(LOW,9))+LLV(LOW,9),colorred;
    {DRAWTEXTREL(5 ,5 ,'设J='+NUMTOSTRN(jx,2)+' 所演股价: '+NUMTOSTRN(xxx ,2));}
    IF j1=-50 and barstatus=2 THEN BEGIN DRAWTEXTREL(2,5,'设J='+NUMTOSTRN(jx,2)+' 所演即时股价: '+NUMTOSTRN(xxx ,2)),colorc0c0c0;end;
    IF j1=-49 and barstatus=2 THEN BEGIN DRAWTEXTREL(2,5,'设J='+NUMTOSTRN(jx,2)+' J线拐头股价: '+NUMTOSTRN(xxx ,2)),colorff88ff;end;
    IF j1>-49 and barstatus=2 THEN BEGIN DRAWTEXTREL(2,5,'设J='+NUMTOSTRN(jx,2)+' J线达标临界股价: '+NUMTOSTRN(xxx ,2)),color00ff00;end;

    2023年9月20日
  • 手把手教你如何制作属于自己的电子股评

    1、点击技术分析——在“股票动态行情”点击右键——激活“电子股评”;

    2023年9月20日
  • 大智慧输出100线内存限制下充分利用光标函数

    在大智慧中如果将一个条件值输出为涨跌红绿双显示值,如果再加上不同输出柱状图形双显.
    在这种情况下一个条件值就变成四个输出值,当然可以变通减少输出。在不能减少输出且已
    经在100线内存输出限制的情况下。如果还需要再输出信号,并且该信号需要多种输出条件
    判断。这个时候可以允分利用光标函数。并且把各种多条件判断都交给光标函数来完成。最
    后再用调出光标来输出信号.
    =============================================================
    比如:
    AA:=DRAWFLAGTEXT(C,O,'开盘价'+NUMTOSTRN(O,2)+'元');
    BB:=DRAWFLAGTEXT(C,C,'收盘价'+NUMTOSTRN(C,2)+'元');
    CC:=DRAWFLAGTEXT(C,H,'最高价'+NUMTOSTRN(H,2)+'元');
    DD:=DRAWFLAGTEXT(C,L,'最低价'+NUMTOSTRN(L,2)+'元');

    AA:DRAWFLAGTEXT(C,O,'开盘价'+NUMTOSTRN(O,2)+'元');
    BB:DRAWFLAGTEXT(C,C,'收盘价'+NUMTOSTRN(C,2)+'元');
    CC:DRAWFLAGTEXT(C,H,'最高价'+NUMTOSTRN(H,2)+'元');
    DD:DRAWFLAGTEXT(C,L,'最低价'+NUMTOSTRN(L,2)+'元');
    这两组代码都需要调出光标会显示,最终效果是一至的。只是后者变成了100线内存输出限制中的输出语句。
    =============================================================

    2023年9月20日