QUOTE: 851.问: 如何将字符串2005-04-20,转换成数字20050420 答(bajatje): ty:=STRLEFT('2005-04-20',4); tm:=STRMID('2005-04-20',6,2); td:=STRRIGHT('2005-04-20',2); STRTONUM(ty+tm+td) QUOTE: 852.问: 昨天,突然放量(小阴线,十字线,小阳线,大阴线)这里的放量是指相对其近期来说的。 但是,第2天,或者第3天就能以小的量,收复那天放量的K线 答(股市骑兵00): x1:=v/ref(v,1)>=3; x2:=BARSLAST(x1); x3:=v/ref(v,x2)<=0.5; x2<3 and all(x3,x2) and c>ref(c,x2); 答(原野): 还可以如下表示: ref(v,1)/ref(ma(v,5),2)>=3 and ref(c/o,1)<1.02 and v/ref(v,1)<0.55 and c>ref(c,1); QUOTE: 853.问: 在一分钟k线上能显示3-4天的高低点延长线 答(bajatje): w:=sumbars(barslast(hour<ref(hour,1))=0,3); hh:=hhv(h,w); hh[datacount]; LL:=LLv(L,w); LL[datacount]; 答(股市骑兵00): tb:=date<>ref(date,1); x1:=sumbars(tb,1); x2:=sumbars(tb,2); h1:=hhv(h,x1);l1:=llv(l,x1); h2:=ref(hhv(h,ref(x1,x1)),x1); l2:=ref(llv(l,ref(x1,x1)),x1); h3:=ref(hhv(h,ref(x1,x2)),x2); l3:=ref(llv(l,ref(x1,x2)),x2); h1[datacount];l1[datacount]; h2[datacount];l2[datacount]; h3[datacount];l3[datacount]; QUOTE: 854.问: 找出 10日乖離率在高(低)檔產生背離 之個股, 股價創新高 ,Bias(10)數值 卻比上一個(Bias(10)數值)波峰低0.5以上, (比如 設距今日30個交易日之內) 1)"誰"跟"誰"作比較產生乖離率?股價 跟 Bias(10)數值 作比較產生 "背離 " 2)、差異要多大您才認為是背離?Bias(10) 數值差 >0.5 以上 請問這樣條件 寫得出公式嗎? 或者不用選股 只要做出指標"會特別標示背離產生"即可 答(股市骑兵00): 大概这个样子的。 BIAS10:=(CLOSE-MA(CLOSE,10))/MA(CLOSE,10)*100; hhv(c,30)>ref(hhv(c,30),1) and hhv(BIAS10,30)-BIAS10>0.5; QUOTE: 855.问: 上式可否再幫我改成: BIAS低檔背離的原碼? (條件相同),或者幫我把 高低檔背離 的公式合成一個 答(股市骑兵00): BIAS10:=(CLOSE-MA(CLOSE,10))/MA(CLOSE,10)*100; 顶背离:hhv(c,30)>ref(hhv(c,30),1) and hhv(BIAS10,30)-BIAS10>0.5; 底背离:llv(c,30)<ref(llv(c,30),1) and BIAS10-llv(BIAS10,30)>0.5; QUOTE: 856.问: 在副图画两条水平的白色彩带,第一条当周KD的K大于D时变为黄色, 第二条当月KD的K大于D时变为红色. 用在日线上,最好是全部周期. 答(股市骑兵00): zk:="kd.k#week";zd:="kd.d#week"; rk:="kd.k#MONTH";rd:="kd.d#MONTH"; PARTLINE(1,0),COLORWHITE,LINETHICK10; PARTLINE(zk>zd,0),COLORYELLOW,LINETHICK10; PARTLINE(1,10),COLORWHITE,LINETHICK10; PARTLINE(rk>rd,10),COLORRED,LINETHICK10; QUOTE: 857.问: 这种平均线如何写?如果在日线图界面,则ma:(c,30)//下面的不显示 如果切换到120分钟,则ma:(c,20) //前面的ma:(c,30)不显示 如果切换到60分钟,则ma:(c,10) //前面的ma:(c,30) ma:(c,20)不显示 答(bajatje): if DATATYPE=6 then ma:(c,30)//下面的不显示 if DATATYPE=11 then ma:(c,20) //前面的ma:(c,30)不显示 if DATATYPE=5 then ma:(c,10) //前面的ma:(c,30) ma:(c,20) 不显示 QUOTE: 858.问: 根据指定日期,以光标控制黄金分割位置 答(hx817): 参考 input:n(1040618,700101,1341231);//N 为日期,可在参数中设置 tj:=date=n; tj1:=(BARPOS-BARSLAST(tj)); kn:SYSPARAM(1)-tj1; kn1:INTPART(0.382*kn); kn2:INTPART(0.618*kn); VERTLINE(tj); VERTLINE(BARPOS=tj1+kn1); VERTLINE(BARPOS=tj1+kn2); QUOTE: 859.问: 我要把成本分布中的90%集中度的数值 引用出来,放在k线的上方,怎么做 答(股市骑兵00): 是这个意思吗? P90:(cost(95)-cost(5))/(cost(95)+cost(5))*100; QUOTE: 860.问: 我想用数字来表示月K线天数怎么做 答(hx817): 1.先建立一个调用公式,比如 ttt 用来计算每个月多少天 fm:=month<>refx(month,1); fn:=BARSLAST(fm)+1; nn:if(fm=1 or ISLASTBAR,ref(fn,1),0); 2.再建立新公式 "ttt.nn#day" 则在月线周期上可看到当月交易周期 QUOTE: 861.问: 如果A=EMA(CLOSE,10),(A为常量).请问任何求CLOSE的值 答(股市骑兵00): 根据EMA定义推算。 若Y=EMA(X,N) 则Y=[2*X+(N-1)*Y']/(N+1) QUOTE: 862.问: 前一天的阴线实体大于5%,今天的K线孕育在昨天阴线实体之内, 同时KDJ值均小于20。 答(bajatje): ref((o-c)/ref(c,1)>0.05,1) and max(h,l)<ref(o,1) and min(h,L)>ref(c,1) and "kdj.d"<20; QUOTE: 863.问: 能否把FH1的数据相应的往前移动 fh:=SPLITDATA(4)/10; ts:DIVIDBARS(0); fh1:sum(fh,ts+1); 答(股市骑兵00): fh:=SPLITDATA(4)/10; ts:=DIVIDBARS(0); fh1:sum(fh,ts+1); a:0*c; for i=datacount downto 2 do begin if fh>0 then a[i-1]:=fh; else a[i-1]:=max(a[i-1],a); end; QUOTE: 864.问: 这几天为了还原C,忙于校对原始数据,始终有出入, 不知什么原因,搞的头都快晕了,错在哪里 送股:=SPLITDATA(1)*0.1; 配股:=SPLITDATA(2)*0.1; sp:=送股+配股; sp1:=sp; sp1[datacount]:=1; for i=datacount downto 2 do sp1[i-1]:=sp1/(1+sp); fh:=SPLITDATA(4)/10; ts:=DIVIDBARS(0); fh1:sum(fh,ts+1); a:=0*c; for i=datacount downto 2 do begin if fh>0 then a[i-1]:=fh; else a[i-1]:=max(a[i-1],a); end; FH1:=A; HYCA:C/SP1+FH1; 答(股市骑兵00): 送股:=SPLITDATA(1)/10;配股:=SPLITDATA(2)/10;分红:=SPLITDATA(4)/10; sp:=c; fh:=0*c;//分红前移 sp[datacount]:=1;//送配股复权比例 for i=datacount downto 2 do begin sp[i-1]:=sp/(1+送股+配股); fh[i-1]:=fh; if 分红>0 then fh[i-1]:=分红; end; 复权价:c/sp+fh; VERTLINE(送股+配股+分红>0); QUOTE: 865.问: 时段统计中的阳换手率是什么意思公式是什么?:(阳量的值是从哪个公式或函数提出来的? 答(bajatje): 阳换手:sum((o<=c)*v,N)/capital*100; 阴换手:sum((o>c)*v,N)/capital*100; QUOTE: 866.问: 我想做个阴阳换手比的指标用分笔周期,按您的指点 第一次输出为0 (N=0): 阳换手:s=um((o<=c)*v,N)/capital*100; 阴换手:sum((o>c)*v,N)/capital*100 阳换手/阴换手 第二次用一句输出却等于阴阳换手之和: 阳换手:s=um((o<=c)*v,N)/capital*100; 第三次用另一句输出为0,说明分母是0,所以第一次输出都是0: 阴换手:sum((o>c)*v,N)/capital*100 答(bajatje): 阳换手:sum((o<=c)*v,N)/capital*100; 阴换手:sum((o>c)*v,N)/capital*100; 这样的表达式没有问题。你的capital是否有数据? SUM(IF(CLOSE/REF(CLOSE,1)>1,VOL,0),0)/capital*100 这样也对(注意:是 >1 不是 >0) QUOTE: 867.问: 如何引用实时图上的预估量 答(hx917): 自己计算,用 (交易时间/一天总时间)×已经成交的量 QUOTE: 868.问: 编一个《无未来数据的周MA指标》,周均线能够在日线图每日变化显示 答(股市骑兵00): INPUT:N(5);//均线周数调节 x:=datediff(ref(date,1),date)<>weekday-ref(weekday,1); z:=refx(x,1);zq1:=sumbars(z,n-1); zq2:=sumbars(z,n); 周均线:if(z,sum(z*c,zq2)/n,(sum(z*c,zq1)+c)/n); QUOTE: 869.问: 如果在小时段引用日线MA如何编写?将weekday改为day结果不对 答(股市骑兵00): 改成这样试试: x:=date>ref(date,1); QUOTE: 870.问: 我通常是在日线周期上看k线和kdj指标,又懒得开多个窗口看5分钟周期的kdj,而且也很麻烦。 想在日线周期的窗口上能看见5分钟周期的kdj线,这样有两个kdj副图,一个是日线周期的,一个 是5分钟的,对于掌握盘口买卖很有好处,怎么编这种指标 答(股市骑兵00): 日线引用5分钟KD只能显示每天最后一笔的KD数据。 k:STKINDI(STKLABEL,'kd.k',0,2); d:STKINDI(STKLABEL,'kd.d',0,2); QUOTE: 871.问: mr:ma(c,5)>ma(c,10); mc:ma(c,5)<ma(c,10) or ? 买入条件:5日均线大于10日均线(不是上穿)。 卖出条件:1、5日均线小于10日均线;2、最低价格低于第一个买入条件成立时的最低价。 请问第2个条件如何编写?尝试过 l<ref(l,barslast(mr)),可是结果显示的是上一次条 件成立时的最低价而不是第一个,又不希望买入条件采用cross(ma(c,5),ma(c,10)), 答(股市骑兵00): 这样试试。 mr:ma(c,5)>ma(c,10); mc:ma(c,5)<ma(c,10) or c<ref(l,BARSLAST(cross(mr,0.5))); QUOTE: 872.问: 如何编辑公式在波段的高低点处显示涨跌幅的数值? 如:AB段的涨幅为15%,如何在B点显示15%这个数。 答(hx817): 别名: 前M个波峰值 所属类别: 指标函数 参数数量: 3 前M个ZIG转向波峰值。 用法: PEAK(X,N,M)表示之字转向ZIG(X,N)的前M个波峰的数值,M必须大于等于1 例如: PEAK(1,5,1)表示5%最高价ZIG转向的上一个波峰的数值 PEAK(MA(C,20),10,1)表示均线的10%的ZIG转向的上一个波峰的数值 别名: 前M个波谷值 所属类别: 指标函数 参数数量: 3 答(股市骑兵00): 这样试试。 x:=4;n:=10;w:=FLATZIG(x,n); DRAWNUMBER(w=1,h*1.02,c/TROUGH(x,n,1)*100-100,2); DRAWNUMBER(w=0,l*0.98,c/PEAK(x,n,1)*100-100,2); QUOTE: 873.问: 我想找出主图界面内包含K线的数量,但这个值是浮动的,随着主图放大、 缩小而变,请教用什么函数表示? 答(bajatje): SYSPARAM(3)-SYSPARAM(2) SYSPARAM(3) 系统参数:主图可见K线最后位置 注意:该函数仅K线图形分析且打开十字光标时有效,否则返回值不确定 SYSPARAM(2) 系统参数:主图可见K线最初位置 注意:该函数仅K线图形分析且打开十字光标时有效,否则返回值不确定 QUOTE: 874.问: 怎样在分时上做 昨天的高点和低点各画一条直线,还有昨天5日均线画一条直线; 答(股市骑兵00): 1)先建个引用公式,名称:X21 HH:H; LL:L; M:MA(C,5); 2)再建公式选主图叠加。 HH:"X21.HH##day"; LL:"X21.LL##day"; M:"X21.M##day"; 问: 可不可以做出30分钟内的分时上最高画一条横线 答(股市骑兵00): 1) HHM:=HHV(H,30); HH:HHM[DATACOUNT]; 2) HH:"X21.HH#MIN1"; QUOTE: 875.问: 鬼变脸文字化表述的解盘公式 答(股市骑兵00): 利用鬼变脸公式的数据,用下面涵数做。 别名: 显示解盘数值 所属类别: 解盘函数 参数数量: 5 在[解]中输出带数值的解盘。 用法: EXPLAINEX(COND,TEXT,NUMBER,PRECISION,SKIPLINES) 在COND条件满足时在[解]中输出数值解说。 PRECISION为小数显示位数,SKIPLINES为空出几行显示下一个解盘 例如: EXPLAINEX(HIGH>=HHV(HIGH,20), '20天新高价:',HIGH,2,1)表示在创20天新高时在 [解]中输出数值解说。 ...... 帮你做3天解盘 pg:=SYSPARAM(1); w1:=BARSLAST(kk=3 or kk=4 or kk=5);w2:=BARSLAST(kk=1 or kk=2 or kk=6); EXPLAINEX(kk=1 or kk=2 or kk=6,'红'+NUMTOSTR(w1[pg],0)+'今天:',c,2,0),COLORRED; EXPLAINEX(kk=3 or kk=4 or kk=5,'绿'+NUMTOSTR(w2[pg],0)+'今天:',c,2,0),COLORGREEN; EXPLAINEX(ref(kk=1 or kk=2 or kk=6,1),'红'+NUMTOSTR(w1[pg-1],0)+'昨天:',ref(c,1),2,0),COLORRED; EXPLAINEX(ref(kk=3 or kk=4 or kk=5,1),'绿'+NUMTOSTR(w2[pg-1],0)+'昨天:',ref(c,1),2,0),COLORGREEN; EXPLAINEX(ref(kk=1 or kk=2 or kk=6,2),'红'+NUMTOSTR(w1[pg-2],0)+'前天:',ref(c,2),2,0),COLORRED; EXPLAINEX(ref(kk=3 or kk=4 or kk=5,2),'绿'+NUMTOSTR(w2[pg-2],0)+'前天:',ref(c,2),2,0),COLORGREEN; QUOTE: 876.问: 我想在K线副图上连续显示等份的竖线 答(凹地): 看这个。等分 : 10天 VERTLINE(MOD(BARPOS,10)=0) QUOTE: 877.问: 如何在一分钟K线图附图显示日K线图 已建立附图显示日K线图,如下: STICKLINE (ISEQUAL AND C>=REF(C,1),C,C,7,1) COLORRED; STICKLINE (ISEQUAL AND C<REF(C,1),C,C,7,1) COLORcyan; STICKLINE (ISUP,H,L,0,0) COLORRED; STICKLINE (ISUP,C,O,7,1) COLORRED; STICKLINE (ISDOWN,H,L,0,0) COLORcyan; STICKLINE (ISDOWN,O,C,7,0) COLORcyan; 该公式只与主图同周期,如何在一分钟K线附图显示日K线图? 答(bajatje): 1分钟图日K线 w:=barslast(hour<ref(hour,1)); oo:=ref(o,w); cc:=refx(c,239-w); hh:=refx(hhv(h,w+1),239-w); LL:=refx(LLv(L,w+1),239-w); f:=cc-ref(cc,w+1); k:=BACKSET(ISLASTBAR,w+1); STICKLINE (cc>oo and BETWEEN(w,INTPART(w[datacount]/2*0.93),INTPART(w[datacount]-w/2*1.07)),hh,LL,10,0) COLORRED; STICKLINE (cc>oo,oo,cc,10,0) COLORRED; STICKLINE (cc<oo and BETWEEN(w,INTPART(w[datacount]/2*0.93),INTPART(w[datacount]-w/2*1.07)),hh,LL,10,0) COLORcyan; STICKLINE (cc<oo,oo,cc,10,0) COLORcyan; STICKLINE (cc=oo and f>=0 and BETWEEN(w,INTPART(w[datacount]/2*0.93),INTPART(w[datacount]-w/2*1.07)),hh,LL,10,0) COLORRED; STICKLINE (cc=oo and f>=0,oo,cc,10,0) COLORRED; STICKLINE (cc=oo and f<0 and BETWEEN(w,INTPART(w[datacount]/2*0.93),INTPART(w[datacount]-w/2*1.07)),hh,LL,10,0) COLORcyan; STICKLINE (cc=oo and f<0,oo,cc,10,0) COLORcyan; QUOTE: 878.问: 昨天的K线形态与前天的K线形态基本相同怎样编写? 答(bajatje): a:=BETWEEN(c,ref(c,1)-0.02,ref(c,1)+0.02) and BETWEEN(l,ref(l,1)-0.02,ref(l,1)+0.02) and BETWEEN(h,ref(h,1)-0.02,ref(h,1)+0.02) and BETWEEN(o,ref(o,1)-0.02,ref(o,1)+0.02) ; ref(a,1); 答(股市骑兵00): n:=1.003;n1:=0.997;co:=c/o;hl:=h/l;hc:=h/c; BETWEEN(co/ref(co,1),n,n1) and BETWEEN(hl/ref(hl,1),n,n1) and BETWEEN(hc/ref(hc,1), n,n1); QUOTE: 879.问: 请介绍<分析家4.0转3.0公式转换器>具体操作步骤 答(范数): 1.把原版分析家40的公式导出,置于桌面,命名123 2.退出原版分析家40.再打开分析家4.0转3.0公式转换器 3.将置于桌面,命名123的公式导入分析家4.0转3.0公式转换器的版本内 4.再将分析家4.0转3.0公式转换器内的公式导出,在导出时选择30格式. 5.一切工作完成后,则40变成了30. QUOTE: 880.问: 我是想在电脑解盘里面显示以前均线交叉时的买进价位. 比如:EXPLAINEX(5日线大于25日线,'起始买进价位=',起始买进价位,0,0),colorcc10ff; 怎样才能让 (起始买进价位)显示以前均线交叉时的价位???? 答(hx817): ma1:=ma(c,5); ma2:=ma(c,25); fc:ref(c,BARSLAST(cross(ma1,ma2))+1); EXPLAINEX(ma1>ma2,'起始买进价位=',fc,2,0),colorcc10ff; QUOTE: 881.问: 当出现买入信号时都会出现很多"买入"字样,因为符合条件的K线太多,我只想让它只出现前两个, 后面的就不显示了.除非由"买入"转入"卖出",就再只显示"卖出"的前两个.. 答(股市骑兵00): B:=MA(C,20); A:=C>B; A1:=C<B; B1:=REF(HHV(H,5),1); B2:=REF(LLV(L,5),1); X:=A AND c>B1 AND C>O or barpos=1 or barpos=2; Y:=A1 AND c<B2 AND C<O or barpos=1 or barpos=2; dx:=sumbars(x,1);ex:=sum(y,dx); dy:=sumbars(y,1);ey:=sum(x,dy); x1:=(cross(ey,ex) or ey<3 and barpos<>2 and barpos<>1)*x; y1:=(cross(ex,ey) or ex<3 and barpos<>2 and barpos<>1)*y; DRAWTEXT(X1,L,'买进'),colorWHITE; DRAWTEXT(Y1,H,'卖出'),colorGREEN; 问:如果我只单独选择第一个或者单独选择第二个用公式怎么表达? 答(股市骑兵00): 每次买卖只发一个信号,就去除 or ey<3 or ex<3 问:如果只显示第二个"买进",而不显示第一个,应该怎么表示??? 答(股市骑兵00): 改这2句,上面barpos=2多余了 x1:=(ey=2 and barpos<>1)*x; y1:=(ex=2 and barpos<>1)*y; QUOTE: 882.问: 选出股价在60均线正负2%之内的股票 答(股迷): ABS(CLOSE-MA(CLOSE,60))/CLOSE<0.02; QUOTE: 883.问: x1:=(cross(ey,ex) and barpos<>2 andbarpos<>1)*x; y1:=(cross(ex,ey) and barpos<>2 and barpos<>1)*y; 我是想把x1这个K线的收盘价作为买进价写在电脑解盘里面 EXPLAINEX(BBB>0,'★起始多单价位= ',起始买进价位,0,0),colorcc10ff; 就是不知道怎么样来用 "起始买进价位"表达x1时K线的收盘价??? 答(股市骑兵00): B:=MA(C,20); A:=C>B; A1:=C<B; B1:=REF(HHV(H,5),1); B2:=REF(LLV(L,5),1); X:=A AND c>B1 AND C>O or barpos=1; Y:=A1 AND c<B2 AND C<O or barpos=1; dx:=sumbars(x,1);ex:=sum(y,dx); dy:=sumbars(y,1);ey:=sum(x,dy); x1:=(cross(ey,ex) or ey<3 and barpos<>1)*x; y1:=(cross(ex,ey) or ex<3 and barpos<>1)*y; DRAWTEXT(X1,L,'买进'),colorWHITE; DRAWTEXT(Y1,H,'卖出'),colorGREEN; sj:=MOD(date,10000)/100;fc:=c;x2:=sumbars(x1,1);y2:=sumbars(y1,1);gb:=SYSPARAM(1); EXPLAIN(X2,'买入时间:'+NUMTOSTR(sj[gb-x2[gb]+1],2)+' 买入价:'+NUMTOSTR(fc[gb-x2[gb]+1],2)),COLORRED; EXPLAIN(Y2,'卖出时间:'+NUMTOSTR(sj[gb-y2[gb]+1],2)+' 卖出价:'+NUMTOSTR(fc[gb-y2[gb]+1],2)),COLORGREEN; QUOTE: 884.问: 可以在一个选股公式里面设多个条件,而且这多个条件里面的数值都可以设置,如选择 1、最高价与最低价10元到15元; 2、开盘价在某一范围; 3、涨跌幅度在某一范围等。 答(hx817): input:年(2004),月(7),日(16),收盘小价格(5),收盘大价格(5.3),最高价格(15),最低价格(10); n:=DATEDIFF(((年-1900)*10000+月*100+日),DATE);//计算输入日期和现在日期时间差 tj1:REF(CLOSE,n)>收盘小价格 and REF(CLOSE,n)<收盘大价格;//选择收盘价 tj2:REF(HIGH,n)<最高价格 and REF(LOW,n)>最低价格;//选择收盘价 //开盘价、涨跌幅度 方法和 tj1 类似 QUOTE: 885.问: 对飞狐RSI指标理论性失误的疑问 在飞狐里的RSI公式为 N1:6,2,10O N2:12,2,100 N3:24,2,100 LC := REF(CLOSE,1); RSI1:SMA(MAX(CLOSE-LC,0),N1,1)/SMA(ABS(CLOSE-LC),N1,1)*100; RSI2:SMA(MAX(CLOSE-LC,0),N2,1)/SMA(ABS(CLOSE-LC),N2,1)*100; RSI3:SMA(MAX(CLOSE-LC,0),N3,1)/SMA(ABS(CLOSE-LC),N3,1)*100; 以下是我翻看函数说明的一些个人注解,不知道对不对 ABS(X) 绝对值 数学 取X的绝对值 MAX (A,B) 最大值 数学 取A和B中最大的值 SMA (X,N,M) 移动平均 引用 求X的N日静态平均,M为权重 若Y=SMA(X,N,M) 则 Y=[M*X+(N-M)*Y')/N, 其中Y'表示上一周期Y值,N必须大于M。 REF(X,N) 向前引用 引用 引用N周期前的X值 LC:=REF(CLOSE,1) 该句为中间语句,不显示 因为1天前的收盘价格CLOSE 可以理解为“上日收盘价格” CLOSE-LC:今日收盘价格-上日收盘价格“LC:=REM(CLOSE,1)” max(a,b)back to max a,or b. max(close-lc,0) 取CLOSE-LC 或0的最大值 可以理解为,如果收盘价格大于LC,则取他们的差值,否则取0。 SMA(MAX(CLOSE-LC,0),N1,1) 求移动平滑因子为1时的N1日的(今日收盘价-上日收盘价)或0的移动平均价 ABS(CLOSE-LC) 取CLOSE-LC的绝对值 SMA(ABS(CLOSE-LC),N1,1) 取移动平滑因子为1是的N1天前的(收盘价-上日收盘价的绝对值)的移动平均价 在期货市场技术分析书中第273页,对RSI的定义是 RS=X天内上涨收市价的平均值/X内下跌收市价的平均值 解释:X天内的上涨了的收市价格的上涨幅度相加,然后除于X,在结算下跌幅度时则把所有的下跌了的收市价格的下跌幅度相加,然后除于X,得出相对力度(RS) RSI=100-(100/(1+RS)) 我觉的飞狐里的RSI出现了理论性的错误。 SMA(MAX(CLOSE-LC,0),N1,1)/SMA(ABS(CLOSE-LC),N1,1)*100 里面取的是 N1天前的收盘差最大值/N1天前的收盘差绝对值*100 而墨非定义的是涨跌幅度之间的关系,RSI并非是最大值与绝对值之间的关系。 因为不会编程,不能够自己编写与原来RSI进行对比严整 答(hx817): 在期货市场技术分析书中第273页,对RSI的定义是 RS = X天内上涨收市价的平均值/X内下跌收市价的平均值 解释:X天内的上涨了的收市价格的上涨幅度相加,然后除于X, 在结算下跌幅度时则把所有的下跌了的收市价格的下跌幅度相加,然后除于X,得出相对力度(RS) RSI=100-(100/(1+RS)) 涨跌幅度=C-REF(C,1)=C-LC 上涨幅度 C>LC 即 C-LC>0 MAX(C-LC,0) 只计算上涨的幅度 X天内上涨幅度的平均值=SMA(MAX(C-LC,0),X,1) 每天涨跌幅度的总和:ABS(CLOSE-LC) SMA(ABS(CLOSE-LC),N1,1) RSI = 100-100/(1+RS) = (100*(1+RS)-100)/(1+RS) = (100+100*RS-100)/(1+RS) = (100*RS)/(1+RS) = RS/(1+RS)*100 RS = X天内上涨幅度的平均值/X天内下跌幅度的平均值 假设 RS=R1/R2 那么: RSI = (R1/R2)/(1+R1/R2)*100 = R1/(R1+R2)*100 R1为 X天内上涨幅度的平均值 = SMA(MAX(C-LC,0),X,1) R2为 X天内下跌幅度的平均值 R1+R2 为X天内涨跌幅度的平均值 = SMA(ABS(CLOSE-LC),N1,1) 那么: RSI = SMA(MAX(C-LC,0),X,1)/SMA(ABS(CLOSE-LC),N1,1)*100 CODE:[Copy to clipboard]886.问: 请南客老师将这段源码转成飞狐公式,谢谢。 input:N(5,0,100,1),D(1050426,0,1999999,1),M(80,1,1000,1), M1(50,1,1000,1),N1(0,0,1000,1); variable:AA=0,BB=0,CC=0,DD=0, EE=0,FF=0,HH=0,II=0; varAA:=0; varBB:=0; varCC:=0; varDD:=barpos-1; varEE:=capital*(M/100); varFF:=capital*(m1/100); varD:=date>=D; var0:=ma( ref(vol,1),N );{N=1,与上一交易日比较} var00:=var0*( (100+N1)/100 ); varV:=vol/var00-1; var1:=if(vol>var00,vol-var00,0); var2:=if(vol<var00,var00-vol,0); var3:=(vol-var0)*100/var0; 差:vol-var0,colorffcc00,linethick0,precis0; 幅%:var3,colorccffff,linethick0,precis0; STICKLINE(vol>var0,0,var1,6,0),COLORffccff; STICKLINE(vol<var0,0,var2,6,1),colorccff33; if varD then begin for i=0 to varDD do begin if varAA< varEE then begin varAA := varAA + ref(vol,i); if varAA >= varEE then varZZ:=i+1; end end for i=0 to varDD do begin if varBB< varFF then begin varBB := varBB + ref(var1,i); if varBB >= varFF then varXX:=i+1; end end for i=0 to varDD do begin if varCC< varFF then begin varCC := varCC + ref(var2,i); if varCC >= varFF then varYY:=i+1; end end if Vol>var00 then begin AA:=AA+varV; BB:=BB+1; end else if Vol<var00 then begin CC:=CC+varV; DD:=DD+1; end if C>O then begin EE:=EE+varV; FF:=FF+1; end else if C<O then begin HH:=HH+varV; II:=II+1; end end 涨%:if(BB=0,0,AA*100/BB),precis2,colorffccff; 跌%:if(DD=0,0,CC*100/DD),precis2,colorcyan; 阳%:if(FF=0,0,EE*100/FF),precis2,color99ffff; 阴%:if(II=0,0,HH*100/II),precis2,colorffff99; (天):varZZ,precis0,linethick0,coloreeeeee; 天↑:varXX,precis0,linethick0,colorffcccc; 天↓:varYY,precis0,linethick0,colorccff33; 答(股市骑兵00): 上面的公式是分析家的,和飞狐写法不同,一个字都没改怎么能用呢 input:N(5,0,100,1),D(1050426,0,1999999,1),M(80,1,1000,1), M1(50,1,1000,1),N1(0,0,1000,1); variable:AA=0*c,BB=0*c,CC=0*c,DD=0*c, EE=0*c,FF=0*c,HH=0*c,II=0*c; varAA:=0*c; varBB:=0*c; varCC:=0*c; varDD:=barpos-1; varEE:=capital*(M/100); varFF:=capital*(m1/100); varD:=date>=D; var0:=ma( ref(vol,1),N );{N=1,与上一交易日比较} var00:=var0*( (100+N1)/100 ); varV:=vol/var00-1; var1:=if(vol>var00,vol-var00,0); var2:=if(vol<var00,var00-vol,0); var3:=(vol-var0)*100/var0; 差:vol-var0,colorffcc00,linethick0,PRECISION0; 幅%:var3,colorccffff,linethick0,PRECISION0; STICKLINE(vol>var0,0,var1,6,0),COLORffccff; STICKLINE(vol<var0,0,var2,6,1),colorccff33; fv:=v;fc:=c;fo:=o; for i=1 to datacount do begin if varD then begin for j=i downto 1 do begin if varaa[j]<varee then varaa:=varaa+fv[j]; if varaa>=varee then begin varzz:=i-j+1; break; end; end; for j=i downto LBOUND(var1) do begin if varbb[j]<varff then varbb:=varbb+var1[j]; if varbb>=varff then begin varxx:=i-j+1; break; end; end; for j=i downto LBOUND(var2) do begin if varcc[j]<varff then varcc:=varcc+var2[j]; if varcc>=varff then begin varyy:=i-j+1; break; end; end; if fv>var00 then begin aa:=aa[i-1]+varv; bb:=bb[i-1]+1; end;else begin aa:=aa[i-1]; bb:=bb[i-1]; end; if fv<var00 then begin cc:=cc[i-1]+varv; dd:=dd[i-1]+1; end;else begin cc:=cc[i-1]; dd:=dd[i-1]; end; if fc>fo then begin ee:=ee[i-1]+varv; ff:=ff[i-1]+1; end;else begin ee:=ee[i-1]; ff:=ff[i-1]; end; if fc<fo then begin hh:=hh[i-1]+varv; ii:=ii[i-1]+1; end;else begin hh:=hh[i-1]; ii:=ii[i-1]; end; end; end; 涨%:if(BB=0,0,AA*100/BB),PRECISION2,colorffccff; 跌%:if(DD=0,0,CC*100/DD),PRECISION2,colorcyan; 阳%:if(FF=0,0,EE*100/FF),PRECISION2,color99ffff; 阴%:if(II=0,0,HH*100/II),PRECISION2,colorffff99; (天):varZZ,PRECISION2,linethick0,coloreeeeee; 天↑:varXX,PRECISION2,linethick0,colorffcccc; 天↓:varYY,PRECISION2,linethick0,colorccff33; CODE:[Copy to clipboard]887.问: 在电脑解盘中: EXPLAIN(x1,提示平仓一半),有没有办法让"提示平仓一半"不重复出现啊! 因为在一段时间x1条件会反复出现. count(x1,m)=1; 答(南客): 如何使买入信号、卖出信号一一对应 (1) 在设计公式时,我们经常遇到这样的问题,如何使买卖信号一一对应? 比如下面的代码: input:n(26,5,300),p(2,0.1,10); close; mid : ma(close,n); upper: mid + p*std(close,n); lower: mid - p*std(close,n); tjb:=cross(close,lower); tjs:=cross(upper,close); drawicon(tjb,close,4); drawicon(tjs,close,5); 可以看出,买入信号连续发出多次后,才出现卖出信号,卖出信号连续发出多次后, 才发出买入信号。 (2) 如何过滤连续的买入、卖出信号,使买入后只要没有发出卖出信号,就不再发出买入信号;同样,卖出后只要没有出现买入信号,就不再发出卖出信号。即买入、卖出信号一一对应。 容易想到的是使用过滤函数filter(),但这个函数是难以实现的,因为未来有多少个连续的买入(或卖出)信号是未知的。 另一种方法是,从前一次卖出(或买入)信号开始累加买入(或卖出)信号,如果累加次数等于1,则发出真正的买入(或卖出)信号。 但这里还有一个问题,如果首次信号是卖出信号的话,也应该过滤,因为没有买入哪来卖出?应让首次信号是买入信号才合理。方法是,在第1根K线的位置,虚拟一个卖出信号。 以下是实现上述想法的常规函数代码: input:n(26,5,300),p(2,0.1,10); close; mid : ma(close,n); upper: mid + p*std(close,n); lower: mid - p*std(close,n); //以下为常规函数处理代码// tjb:=cross(close,lower);//初始买入信号,可换成其它任意买入条件 tjs:=cross(upper,close);//初始卖出信号,可换成其它任意卖出条件 {以下代码,使买、卖信号一一对应} tsb:=barssince(tjb); tss:=barssince(tjs); if tjs[datacount]<tjb[datacount] then begin a:=setlbound(tjs,1); tjs:=tjs or barpos=1; end; tjbuy:=count(tjb,barslast(tjs))=1 and tjb; //买入信号 tjsell:=count(tjs,barslast(tjb))=1 and tjs; //卖出信号 drawicon(tjbuy,low,4); drawicon(tjsell,high,5); 答(cwy): 如下也可解决 input:n(26,5,300),p(2,0.1,10); close; mid:ma(close,n); upper:mid + p*std(close,n); lower:mid - p*std(close,n); tjb:=cross(close,lower); tjs:=cross(upper,close); tsb:=barslast(tjb); tss:=barslast(tjs); tj1:=tjb and count(tjb,tss+1)<2; tj2:=tjs and count(tjs,tsb+1)<2; drawicon(tj1,close,4); drawicon(tj2,close,5); 允许连续出现2次买入信号或卖出信号 input:n(26,5,300),p(2,0.1,10); close; mid:ma(close,n); upper:mid + p*std(close,n); lower:mid - p*std(close,n); tjb:=cross(close,lower); tjs:=cross(upper,close); tsb:=barslast(tjb); tss:=barslast(tjs); tj1:=tjb and count(tjb,tss+1)<3; tj2:=tjs and count(tjs,tsb+1)<3; drawicon(tj1,close,4); drawicon(tj2,close,5); 答(股市骑兵00): 1.用循环我试着答一下。 input:n(26,5,300),p(2,0.1,10),s(1,1,5);//S为允许连续出现信号调节参数! close; mid := ma(close,n); upper: mid + p*std(close,n); lower: mid - p*std(close,n); //以下为常规函数处理代码// tjb:=cross(close,lower);//初始买入信号,可换成其它任意买入条件 tjs:=cross(upper,close);//初始卖出信号,可换成其它任意卖出条件 /////////////////////////////////////////////////////////// m:=0*c;w:=0*c;mm:=0*c; for i=LBOUND(upper) to datacount do begin mm:=mm[i-1]+tjb; m:=m[i-1]+tjb; w:=w[i-1]+tjs; if tjs then m:=0; if tjb then w:=0; if m<=s and tjb then z:=1; if w<=s and tjs and mm>0 then t:=1;//首次要发卖出信号去掉and mm>0 end; drawicon(z,low,4); drawicon(t,high,5); 2.稍微改下思路试试。 /////////////////////////////////////////////////////////// m:=0*c;w:=0*c;mm:=0*c; for i=LBOUND(upper) to datacount do begin mm:=mm[i-1]+tjb; m:=m[i-1]+tjb; w:=w[i-1]+tjs; if w>w[i-1] then m:=0; if m>m[i-1] or mm=0 then w:=0; if m-w>s then m:=m[i-1]; if w-m>s then w:=w[i-1]; end; drawicon(m>ref(m,1),low,4); drawicon(w>ref(w,1),high,5); 问: 刚刚发现问题。如果将买入、卖出条件改为以下方式,就无法实现信号的对应了。请问老师在买入条件仍然保持“C>MID”,而不是“CROSS(C,MID)”的情况下如何实现? MID:MA(C,30); tjb:=C>MID AND L>MID;//初始买入信号,可换成其它任意买入条件 U1:=L<REF(L,BARSLAST(CROSS(TJB,0.5))); U2:=L<MID; tjs:=U1 OR U2;//初始卖出信号,可换成其它任意卖出条件 {以下代码,使买、卖信号一一对应} tsb:=barssince(tjb); tss:=barssince(tjs); if tjs[datacount]<tjb[datacount] then begin a:=setlbound(tjs,1); tjs:=tjs or barpos=1; end; tjbuy:=count(tjb,barslast(tjs))=1 and tjb; //买入信号 tjsell:=count(tjs,barslast(tjb))=1 and tjs; //卖出信号 drawicon(tjbuy,low,4); drawicon(tjsell,high,5); 答(股市骑兵00): 你的买卖条件不对呀! tjs//初始卖出信号 tjb//初始买入信号 2个条件自相矛盾了,同时买卖信号都会发的,那你听买的呢,还是卖的呢? 你硬要这个条件,下面的你参考 MID:=MA(C,30); tjb:=C>MID AND L>MID; U1:=L<REF(L,BARSLAST(CROSS(TJB,0.5))); U2:=L<MID; tjs:=U1 OR U2;//初始卖出信号,可换成其它任意卖出条件 tjb:=tjb and not(tjs);//初始买入信号,可换成其它任意买入条件 {以下代码,使买、卖信号一一对应} tsb:=barssince(tjb); tss:=barssince(tjs); if tjs[datacount]<tjb[datacount] then begin a:=setlbound(tjs,1); tjs:=tjs or barpos=1; end; tjbuy:=count(tjb,barslast(tjs))=1 and tjb; //买入信号 tjsell:=count(tjs,barslast(tjb))=1 and tjs; //卖出信号 drawicon(tjbuy,low,4); drawicon(tjsell,high,5); 问: 公式中的“U2”又改了一下: U2:=C>REF(C,BARSLAST(CROSS(TJB,0.5))); 请教怎样才能在“tjsell”条件成立后,当“C>MID AND L>MID”条件满足时即可产生新的“tjbuy”信号?谢谢! 答(股市骑兵00): 你的买卖条件本身有重叠的问题。肯定有信号损失的,如果以买入信号为基准。 损失卖出信号改为如下表达。 MID:=MA(C,30); tjb:=C>MID AND L>MID;//初始买入信号,可换成其它任意买入条件 U1:=L<REF(L,BARSLAST(CROSS(TJB,0.5))); //U2:=L<MID; U2:=C>REF(C,BARSLAST(CROSS(TJB,0.5))); tjs:=(U1 OR U2) and not(tjb);//初始卖出信号,可换成其它任意卖出条件 答(cwy): 这个作业不能说是真正的用循环语句来实现,对常规函数使用的考虑还是较多, 如处理第一个卖出信号,实际上我不是做出来而是试出来的, input:n(26,5,300),p(2,0.1,10); close; mid:ma(close,n); upper:mid + p*std(close,n); lower:mid - p*std(close,n); //以下为常规函数处理代码// tjb:=cross(c,lower);//初始买入信号,可换成其它任意买入条件 tjs:=cross(upper,c);//初始卖出信号,可换成其它任意卖出条件 tss1:=BARSSINCE(tjb);//第一个卖出信号 /////////////////////////////////////////////////////// fb:=0*c; fs:=0*c; for i =n to datacount do begin fb:=fb[i-1]+tjb; fs:=fs[i-1]+tjs; if tjs then fb:=0; if tjb then fs:=0; if fb=1 and tjb then fb1:=1; if fs=1 and tjs then fs1:=1; end; drawicon(fb1 ,l,4); drawicon(fs1 and tss1>2 ,h,5); QUOTE: 888.问: 在100日内,从股价最低点到最高点,标出0。618。0。382的位置上画出线。 相反从最高到最低,也同样标出2条线 答(股市骑兵00): hh:hhv(h,100); ll:llv(l,100); f1:(hh-ll)*0.618+ll; f2:(hh-ll)*0.382+ll; QUOTE: 889.问: 我想只输出指标线,而不输出数值,如何写? 如:ma5:ma9c,5);只输出指标线,而不输出数值 答(bajatje): 别名: 画分段线 所属类别: 绘图函数 参数数量: 2 分段绘制指标线。 用法: PARTLINE(COND,PRICE),满足COND条件绘制PRICE连线。 例如:PARTLINE(C>REF(C,1),C),colorred表示收盘大于前收以红色绘制收盘价连线。 PARTLINE(1,ma5); QUOTE: 890.问: 求今日向前有多少根k线的最高价大于且最低价小于今日收盘价? 答(股市骑兵00): 最后周期和光标位统计大致这样。 fc:=c;pg:=datacount;//可改为SYSPARAM(1)光标统计 x:=h>fc[pg] and l<fc[pg]; y:=sum(x,0)-x[pg]; y[pg]; QUOTE: 891.问: 只计算今天与前几日连续符合条件的数量,不是累计相加的数量。 答(股市骑兵00): n:=5;//天数调节 fc:=c;pg:=SYSPARAM(1);//可改为SYSPARAM(1)光标统计 x:=h>fc[pg] and l<fc[pg]; y:=sum(x,n)-x[pg]; y[pg]; QUOTE: 892.问: 如何取图表内第一根K线到最后一根K线之间的时间差? 要求几天几小时几分钟。 答(hx817): rj:=date;fz:=time; d1:=rj[SYSPARAM(3)];d2:=rj[SYSPARAM(2)]; t1:=fz[SYSPARAM(3)];t2:=fz[SYSPARAM(2)]; fh1:=intpart(t1/10000);fh2:=intpart(t2/10000); fm1:=intpart((t1-fh1*10000)/100);fm2:=intpart((t2-fh2*10000)/100); fd:=DATEDIFF(d2,d1); hh:=fh1-fh2; mm:=fm1-fm2; if mm<0 then begin hh:=hh-1; mm:=mm+60; end; if hh<0 then begin fd:=fd-1; hh:=hh+24; end; 天:fd; 时:hh; 分:mm; QUOTE: 893.问: 如何引用05年4月中旬--6月初,这段时间周期内的最低价。 答(bajatje): w1:=barslast(date<=m1); w2:=barslast(date<=m2); ref(LLv(L,w1),w2); macd 预计交叉价 d:ema(c,12)LINETHICK; a:ema(c,26)LINETHICK; e:=ema(d-a,9); 今日交叉价:(351*ref(e,1)+325*ref(a,1)-297*ref(d,1))/28LINETHICK; 明日交叉价:(351*e+325*a-297*d)/28LINETHICK; QUOTE: 894.问: 个数学公式,如何写 {[(1+2+3+4+5)*5-2]*2*3*4+20}*2/64 其中(1+2+3+4+5)这里面是最近5天的收盘价格,其它的数字是常数 是不是用datacount引用前5天的价格? 答(清扬): ((MA(C,5)*5*5-2)*2*3*4+20)*2/64 // MA(C,5)*5 为最近五天收盘价之和 答(hx817): m1:ma(c,5); m2:(c+ref(c,1)+ref(c,2)+ref(c,3)+ref(c,4))/5; QUOTE: 895.问: 帮忙编一个5分钟与60分钟K线同图显示公式. 答(股市骑兵00): 以前做的公式改了下,5分钟K线使用 if DATATYPE<>2 then exit; bc:=12;sj:=MOD(BARPOS-1,bc)=0 OR BARPOS=1; zsj:=sum(sj,0);dzsj:=zsj[DATACOUNT]-zsj; x:=DATACOUNT-BARPOS+1;zq:=SUMBARS(sj,1); y:=SUMBARS(sj,x-dzsj);y1:=SUMBARS(sj,x-1-dzsj); 开60:ref(o,y-1),LINETHICK0; 高60:if(ISLASTBAR,hhv(h,zq),ref(hhv(h,bc),y1)),LINETHICK0; 低60:if(ISLASTBAR,llv(l,zq),ref(llv(l,bc),y1)),LINETHICK0; 收60:if(ISLASTBAR,ref(c,y1-1),ref(c,y1)),LINETHICK0; STICKLINE(收60>=开60,收60,开60,7,1),colorred; STICKLINE(收60>=开60,收60,高60,0.1,1),colorred; STICKLINE(收60>=开60,开60,低60,0.1,1),colorred; STICKLINE(收60<开60,收60,开60,7,0),colorcyan; STICKLINE(收60<开60,开60,高60,0.1,0),colorcyan; STICKLINE(收60<开60,收60,低60,0.1,0),colorcyan; 涨幅60:收60/ref(收60,1)*100-100,LINETHICK0; 答(股市骑兵00) 要同图 1.建个引用公式名:X5 cc:c; oo:o; hh:h; ll:l; 2.再用下面的公式 if DATATYPE<>2 then exit; n:=12;pn:=mod(barpos-1,n); ik:=pn=0 or ISLASTBAR or refx(pn=0,1); 收:"x5.cc#min60",LINETHICK0; 开:"x5.oo#min60",LINETHICK0; 高:"x5.hh#min60",LINETHICK0; 低:"x5.ll#min60",LINETHICK0; m:=收>=开;w:=收<开;f:=ISLASTBAR*(pn<6); PARTLINE(pn>0 and m,收),COLORRED; PARTLINE(pn>0 and m,开),COLORRED; PARTLINE(pn>0 and w,收),COLORBLUE; PARTLINE(pn>0 and w,开),COLORBLUE; STICKLINE(ik and m,开,收,0.1,1),COLORRED; STICKLINE(ik and w,开,收,0.1,1),COLORBLUE; STICKLINE((pn=6 or f) and m,收,高,0.1,1),COLORRED; STICKLINE((pn=6 or f) and m,开,低,0.1,1),COLORRED; STICKLINE((pn=6 or f) and w,开,高,0.1,1),COLORBLUE; STICKLINE((pn=6 or f) and w,收,低,0.1,1),COLORBLUE; QUOTE: 896.问: 求某天(可以设定)到今天的换手率总和。 答(cwy): RQ:=IF(DATE=1050104,1,0);//在1050104处换入你的日期 N天的换手率总和:SUM(IF(BARSLAST(RQ)>0,V,0),0)/FINANCE(7); QUOTE: 897.问: 5日ma、10日ma、30日ma相交在一点时,当日股价上穿该点涨停,(包括st),成功率很高 答(hx817): st:=if(INBLOCK('ST板块') or INBLOCK('*ST板块'),1.05,1.1); zt:=ROUND(100*st*ref(c,1))/100<=c; m1:=ma(c,5); m2:=ma(c,10); m3:=ma(c,30); tj:BETWEEN(m1,o,c) and BETWEEN(m2,o,c) and BETWEEN(m3,o,c) and zt CODE:[Copy to clipboard]898.问: 我想请你帮做一下,就是我用光标在一个点位拉到另一个点位时,就出现一个长方形,在这个长方形里出现三条横线,它们分别在三分之一,三分之二和二分之一的点位上,最好能显示出数据. 答(股市骑兵00): INPUT:m(48);//周期调节 x:=3;p:=SYSPARAM(1); ws:=BARPOS;ws1:=if(ws<m,ws,m); wsp:=p-ws1+1;wsp1:=ws1-1; h1:=hhv(h,ws1);l1:=llv(l,ws1); hp:=h1[p];lp:=l1[p];hlpx:=(hp-lp)/x; if p=1 then exit; DRAWSL(ws=wsp[p],hp,0,wsp1[p],3); DRAWSL(ws=wsp[p],lp,0,wsp1[p],3); DRAWSL(ws=wsp[p],lp+hlpx,0,wsp1[p],3); DRAWSL(ws=wsp[p],lp+hlpx*2,0,wsp1[p],3); STICKLINE(ws=wsp[p],hp,lp,0.5,1); STICKLINE(ws=p,hp,lp,0.5,1); DRAWNUMBER(ws=wsp[p],hp,hp,2),SHIFT2; DRAWNUMBER(ws=wsp[p],lp,lp,2),SHIFT2; DRAWNUMBER(ws=wsp[p],lp+hlpx,lp+hlpx,2),SHIFT2; DRAWNUMBER(ws=wsp[p],lp+hlpx*2,lp+hlpx*2,2),SHIFT2; DRAWSL(ws=wsp[p],lp+(hp-lp)/2,0,wsp1[p],3); QUOTE: 899.问: 前一天的K线振幅为5%以上,跌幅为—3%以上。今天的振幅孕育在昨天的 振幅之内,同时KDJ值均小于20。 答(欣儿): a1:=ref((h/l-1)*100,1)>5 and (ref(c,1)/ref(c,2)-1)*100<-3 and h<ref(h,1) and l<ref(l,1); a2:="kdj.k"<20 and "kdj.d"<20 "kdj.j"<20; a1 and a2; QUOTE: 900.问: 节气不在交易日内,如何在离它最近的这一天近似表示出来? 比如: VAR7:=DRAWTEXT(date=LSOLARTERMDATE(9),0,'*立夏'); VAR8:=DRAWTEXT(date=LSOLARTERMDATE(10),0,'*小满'); VAR9:=DRAWTEXT(date=LSOLARTERMDATE(11),0,'*芒种'); 今年内这三个节气都不在交易日内,如何在离它最近的这一天近似表示出来?并与正常能表示的节气区别开来? 答(bajatje): VAR7:DRAWTEXT(barslast(date<=LSOLARTERMDATE(9))=1,0,'*立夏'); VAR8:DRAWTEXT(barslast(date<=LSOLARTERMDATE(10))=1,0,'*小满'); VAR9:DRAWTEXT(barslast(date<=LSOLARTERMDATE(11))=1,0,'*芒种'); [ 本帖最后由 AHFYXL1 于 2005-11-29 20:26 编辑 ] 附件: 您目前的身份是游客,无法下载或查看附件。立即注册,即可享受MACD所有免费服务。 |
变色卡 提升卡 加粗卡 |
期货交易系统(内日交易)—蒋敏老师 |
ahfyxl 微博 |
|
联系客服