高数常用的极限公式:公式求助1000例(18)
来源:百度文库 编辑:偶看新闻 时间:2024/04/28 01:07:32
引用: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)
引用: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);
引用:853.问:
在一分钟k线上能显示3-4天的高低点延长线
答(bajatje):
w:=sumbars(barslast(hourhh:=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];
引用: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;
引用: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)0.5;
引用: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;
引用: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) 不显示
引用: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);
引用:859.问:
我要把成本分布中的90%集中度的数值
引用出来,放在k线的上方,怎么做
答(股市骑兵00):
是这个意思吗?
P90:(cost(95)-cost(5))/(cost(95)+cost(5))*100;
引用: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"
则在月线周期上可看到当月交易周期
引用:861.问:
如果A=EMA(CLOSE,10),(A为常量).请问任何求CLOSE的值
答(股市骑兵00):
根据EMA定义推算。
若Y=EMA(X,N) 则Y=[2*X+(N-1)*Y']/(N+1)
引用:862.问:
前一天的阴线实体大于5%,今天的K线孕育在昨天阴线实体之内,
同时KDJ值均小于20。
答(bajatje):
ref((o-c)/ref(c,1)>0.05,1) and max(h,l)ref(c,1) and "kdj.d"<20;
[Copy to clipboard]CODE: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[i]>0 then
a[i-1]:=fh[i];
else
a[i-1]:=max(a[i-1],a[i]);
end;
[Copy to clipboard]CODE: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[i]/(1+sp[i]);
fh:=SPLITDATA(4)/10;
ts:=DIVIDBARS(0);
fh1:sum(fh,ts+1);
a:=0*c;
for i=datacount downto 2 do begin
if fh[i]>0 then
a[i-1]:=fh[i];
else
a[i-1]:=max(a[i-1],a[i]);
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[i]/(1+送股[i]+配股[i]);
fh[i-1]:=fh[i];
if 分红[i]>0 then
fh[i-1]:=分红[i];
end;
复权价:c/sp+fh;
VERTLINE(送股+配股+分红>0);
引用:865.问:
时段统计中的阳换手率是什么意思公式是什么?:(阳量的值是从哪个公式或函数提出来的?
答(bajatje):
阳换手:sum((o<=c)*v,N)/capital*100;
阴换手:sum((o>c)*v,N)/capital*100;
引用: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)
引用:867.问:
如何引用实时图上的预估量
答(hx917):
自己计算,用(交易时间/一天总时间)×已经成交的量
引用: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);
引用:869.问:
如果在小时段引用日线MA如何编写?将weekday改为day结果不对
答(股市骑兵00):
改成这样试试:
x:=date>ref(date,1);
引用: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);
引用:871.问:
mr:ma(c,5)>ma(c,10);
mc:ma(c,5)
买入条件:5日均线大于10日均线(不是上穿)。
卖出条件:1、5日均线小于10日均线;2、最低价格低于第一个买入条件成立时的最低价。
请问第2个条件如何编写?尝试过 l件成立时的最低价而不是第一个,又不希望买入条件采用cross(ma(c,5),ma(c,10)),
答(股市骑兵00):
这样试试。
mr:ma(c,5)>ma(c,10);
mc:ma(c,5)
引用: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);
引用:873.问:
我想找出主图界面内包含K线的数量,但这个值是浮动的,随着主图放大、
缩小而变,请教用什么函数表示?
答(bajatje):
SYSPARAM(3)-SYSPARAM(2)
SYSPARAM(3)
系统参数:主图可见K线最后位置
注意:该函数仅K线图形分析且打开十字光标时有效,否则返回值不确定
SYSPARAM(2)
系统参数:主图可见K线最初位置
注意:该函数仅K线图形分析且打开十字光标时有效,否则返回值不确定
引用: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";
引用: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;
引用:876.问:
我想在K线副图上连续显示等份的竖线
答(凹地):
看这个。等分 : 10天
VERTLINE(MOD(BARPOS,10)=0)
引用:877.问:
如何在一分钟K线图附图显示日K线图
已建立附图显示日K线图,如下:
STICKLINE (ISEQUAL AND C>=REF(C,1),C,C,7,1) COLORRED;
STICKLINE (ISEQUAL AND CSTICKLINE (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(houroo:=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 (ccSTICKLINE (ccSTICKLINE (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;
引用: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);
引用: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.
引用: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;
引用:881.问:
当出现买入信号时都会出现很多"买入"字样,因为符合条件的K线太多,我只想让它只出现前两个,
后面的就不显示了.除非由"买入"转入"卖出",就再只显示"卖出"的前两个..
答(股市骑兵00):
B:=MA(C,20);
A:=C>B;
A1:=CB1:=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 cdx:=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;
引用:882.问:
选出股价在60均线正负2%之内的股票
答(股迷):
ABS(CLOSE-MA(CLOSE,60))/CLOSE<0.02;
引用: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:=CB1:=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 cdx:=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;
引用: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 类似
引用: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
[Copy to clipboard]CODE: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(volvar3:=(vol-var0)*100/var0;
差:vol-var0,colorffcc00,linethick0,precis0;
幅%:var3,colorccffff,linethick0,precis0;
STICKLINE(vol>var0,0,var1,6,0),COLORffccff;
STICKLINE(vol
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 CC:=CC+varV;
DD:=DD+1;
end
if C>O then begin
EE:=EE+varV;
FF:=FF+1;
end
else if C 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(volvar3:=(vol-var0)*100/var0;
差:vol-var0,colorffcc00,linethick0,PRECISION0;
幅%:var3,colorccffff,linethick0,PRECISION0;
STICKLINE(vol>var0,0,var1,6,0),COLORffccff;
STICKLINE(vol
fv:=v;fc:=c;fo:=o;
for i=1 to datacount do begin
if varD[i] then begin
for j=i downto 1 do begin
if varaa[j] varaa[i]:=varaa[i]+fv[j];
if varaa[i]>=varee then begin
varzz[i]:=i-j+1;
break;
end;
end;
for j=i downto LBOUND(var1) do begin
if varbb[j] varbb[i]:=varbb[i]+var1[j];
if varbb[i]>=varff then begin
varxx[i]:=i-j+1;
break;
end;
end;
for j=i downto LBOUND(var2) do begin
if varcc[j] varcc[i]:=varcc[i]+var2[j];
if varcc[i]>=varff then begin
varyy[i]:=i-j+1;
break;
end;
end;
if fv[i]>var00[i] then begin
aa[i]:=aa[i-1]+varv[i];
bb[i]:=bb[i-1]+1;
end;else begin
aa[i]:=aa[i-1];
bb[i]:=bb[i-1];
end;
if fv[i] cc[i]:=cc[i-1]+varv[i];
dd[i]:=dd[i-1]+1;
end;else begin
cc[i]:=cc[i-1];
dd[i]:=dd[i-1];
end;
if fc[i]>fo[i] then begin
ee[i]:=ee[i-1]+varv[i];
ff[i]:=ff[i-1]+1;
end;else begin
ee[i]:=ee[i-1];
ff[i]:=ff[i-1];
end;
if fc[i] hh[i]:=hh[i-1]+varv[i];
ii[i]:=ii[i-1]+1;
end;else begin
hh[i]:=hh[i-1];
ii[i]:=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;
[Copy to clipboard]CODE: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] 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[i]:=mm[i-1]+tjb[i];
m[i]:=m[i-1]+tjb[i];
w[i]:=w[i-1]+tjs[i];
if tjs[i] then m[i]:=0;
if tjb[i] then w[i]:=0;
if m[i]<=s and tjb[i] then z[i]:=1;
if w[i]<=s and tjs[i] and mm[i]>0 then t[i]:=1;//首次要发卖出信号去掉and mm[i]>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[i]:=mm[i-1]+tjb[i];
m[i]:=m[i-1]+tjb[i];
w[i]:=w[i-1]+tjs[i];
if w[i]>w[i-1] then m[i]:=0;
if m[i]>m[i-1] or mm[i]=0 then w[i]:=0;
if m[i]-w[i]>s then m[i]:=m[i-1];
if w[i]-m[i]>s then w[i]:=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:=LU2:=Ltjs:=U1 OR U2;//初始卖出信号,可换成其它任意卖出条件
{以下代码,使买、卖信号一一对应}
tsb:=barssince(tjb);
tss:=barssince(tjs);
if tjs[datacount] 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:=LU2:=Ltjs:=U1 OR U2;//初始卖出信号,可换成其它任意卖出条件
tjb:=tjb and not(tjs);//初始买入信号,可换成其它任意买入条件
{以下代码,使买、卖信号一一对应}
tsb:=barssince(tjb);
tss:=barssince(tjs);
if tjs[datacount] 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”信号?谢谢!
[color=Red] 答(股市骑兵00):
你的买卖条件本身有重叠的问题。肯定有信号损失的,如果以买入信号为基准。
损失卖出信号改为如下表达。
MID:=MA(C,30);
tjb:=C>MID AND L>MID;//初始买入信号,可换成其它任意买入条件
U1:=L//U2:=LU2:=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[i]:=fb[i-1]+tjb[i];
fs[i]:=fs[i-1]+tjs[i];
if tjs[i] then fb[i]:=0;
if tjb[i] then fs[i]:=0;
if fb[i]=1 and tjb[i] then fb1[i]:=1;
if fs[i]=1 and tjs[i] then fs1[i]:=1;
end;
drawicon(fb1 ,l,4);
drawicon(fs1 and tss1>2 ,h,5);
引用: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;
引用:889.问:
我想只输出指标线,而不输出数值,如何写?
如:ma5:ma9c,5);只输出指标线,而不输出数值
答(bajatje):
别名: 画分段线
所属类别: 绘图函数 参数数量: 2
分段绘制指标线。
用法:
PARTLINE(COND,PRICE),满足COND条件绘制PRICE连线。
例如:PARTLINE(C>REF(C,1),C),colorred表示收盘大于前收以红色绘制收盘价连线。
PARTLINE(1,ma5);
引用:890.问:
求今日向前有多少根k线的最高价大于且最低价小于今日收盘价?
答(股市骑兵00):
最后周期和光标位统计大致这样。
fc:=c;pg:=datacount;//可改为SYSPARAM(1)光标统计
x:=h>fc[pg] and ly:=sum(x,0)-x[pg];
y[pg];
引用:891.问:
只计算今天与前几日连续符合条件的数量,不是累计相加的数量。
答(股市骑兵00):
n:=5;//天数调节
fc:=c;pg:=SYSPARAM(1);//可改为SYSPARAM(1)光标统计
x:=h>fc[pg] and ly:=sum(x,n)-x[pg];
y[pg];
引用: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;
引用: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;
引用: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;
引用: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;
引用:896.问:
求某天(可以设定)到今天的换手率总和。
答(cwy):
RQ:=IF(DATE=1050104,1,0);//在1050104处换入你的日期
N天的换手率总和:SUM(IF(BARSLAST(RQ)>0,V,0),0)/FINANCE(7);
引用: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
[Copy to clipboard]CODE:898.问:
我想请你帮做一下,就是我用光标在一个点位拉到另一个点位时,就出现一个长方形,在这个长方形里出现三条横线,它们分别在三分之一,三分之二和二分之一的点位上,最好能显示出数据.
答(股市骑兵00):
INPUT:m(48);//周期调节
x:=3;p:=SYSPARAM(1);
ws:=BARPOS;ws1:=if(wswsp:=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);
引用: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 hand la2:="kdj.k"<20 and "kdj.d"<20 "kdj.j"<20;
a1 and a2;
引用: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,'*芒种');
如何将字符串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)
引用: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);
引用:853.问:
在一分钟k线上能显示3-4天的高低点延长线
答(bajatje):
w:=sumbars(barslast(hourhh:=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];
引用: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;
引用: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)0.5;
引用: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;
引用: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) 不显示
引用: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);
引用:859.问:
我要把成本分布中的90%集中度的数值
引用出来,放在k线的上方,怎么做
答(股市骑兵00):
是这个意思吗?
P90:(cost(95)-cost(5))/(cost(95)+cost(5))*100;
引用: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"
则在月线周期上可看到当月交易周期
引用:861.问:
如果A=EMA(CLOSE,10),(A为常量).请问任何求CLOSE的值
答(股市骑兵00):
根据EMA定义推算。
若Y=EMA(X,N) 则Y=[2*X+(N-1)*Y']/(N+1)
引用:862.问:
前一天的阴线实体大于5%,今天的K线孕育在昨天阴线实体之内,
同时KDJ值均小于20。
答(bajatje):
ref((o-c)/ref(c,1)>0.05,1) and max(h,l)ref(c,1) and "kdj.d"<20;
[Copy to clipboard]CODE: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[i]>0 then
a[i-1]:=fh[i];
else
a[i-1]:=max(a[i-1],a[i]);
end;
[Copy to clipboard]CODE: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[i]/(1+sp[i]);
fh:=SPLITDATA(4)/10;
ts:=DIVIDBARS(0);
fh1:sum(fh,ts+1);
a:=0*c;
for i=datacount downto 2 do begin
if fh[i]>0 then
a[i-1]:=fh[i];
else
a[i-1]:=max(a[i-1],a[i]);
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[i]/(1+送股[i]+配股[i]);
fh[i-1]:=fh[i];
if 分红[i]>0 then
fh[i-1]:=分红[i];
end;
复权价:c/sp+fh;
VERTLINE(送股+配股+分红>0);
引用:865.问:
时段统计中的阳换手率是什么意思公式是什么?:(阳量的值是从哪个公式或函数提出来的?
答(bajatje):
阳换手:sum((o<=c)*v,N)/capital*100;
阴换手:sum((o>c)*v,N)/capital*100;
引用: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)
引用:867.问:
如何引用实时图上的预估量
答(hx917):
自己计算,用(交易时间/一天总时间)×已经成交的量
引用: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);
引用:869.问:
如果在小时段引用日线MA如何编写?将weekday改为day结果不对
答(股市骑兵00):
改成这样试试:
x:=date>ref(date,1);
引用: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);
引用:871.问:
mr:ma(c,5)>ma(c,10);
mc:ma(c,5)
买入条件:5日均线大于10日均线(不是上穿)。
卖出条件:1、5日均线小于10日均线;2、最低价格低于第一个买入条件成立时的最低价。
请问第2个条件如何编写?尝试过 l件成立时的最低价而不是第一个,又不希望买入条件采用cross(ma(c,5),ma(c,10)),
答(股市骑兵00):
这样试试。
mr:ma(c,5)>ma(c,10);
mc:ma(c,5)
引用: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);
引用:873.问:
我想找出主图界面内包含K线的数量,但这个值是浮动的,随着主图放大、
缩小而变,请教用什么函数表示?
答(bajatje):
SYSPARAM(3)-SYSPARAM(2)
SYSPARAM(3)
系统参数:主图可见K线最后位置
注意:该函数仅K线图形分析且打开十字光标时有效,否则返回值不确定
SYSPARAM(2)
系统参数:主图可见K线最初位置
注意:该函数仅K线图形分析且打开十字光标时有效,否则返回值不确定
引用: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";
引用: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;
引用:876.问:
我想在K线副图上连续显示等份的竖线
答(凹地):
看这个。等分 : 10天
VERTLINE(MOD(BARPOS,10)=0)
引用:877.问:
如何在一分钟K线图附图显示日K线图
已建立附图显示日K线图,如下:
STICKLINE (ISEQUAL AND C>=REF(C,1),C,C,7,1) COLORRED;
STICKLINE (ISEQUAL AND CSTICKLINE (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(houroo:=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
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;
引用: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);
引用: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.
引用: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;
引用:881.问:
当出现买入信号时都会出现很多"买入"字样,因为符合条件的K线太多,我只想让它只出现前两个,
后面的就不显示了.除非由"买入"转入"卖出",就再只显示"卖出"的前两个..
答(股市骑兵00):
B:=MA(C,20);
A:=C>B;
A1:=CB1:=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
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;
引用:882.问:
选出股价在60均线正负2%之内的股票
答(股迷):
ABS(CLOSE-MA(CLOSE,60))/CLOSE<0.02;
引用: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:=CB1:=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
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;
引用: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 类似
引用: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
[Copy to clipboard]CODE: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
差:vol-var0,colorffcc00,linethick0,precis0;
幅%:var3,colorccffff,linethick0,precis0;
STICKLINE(vol>var0,0,var1,6,0),COLORffccff;
STICKLINE(vol
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
DD:=DD+1;
end
if C>O then begin
EE:=EE+varV;
FF:=FF+1;
end
else if C
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
差:vol-var0,colorffcc00,linethick0,PRECISION0;
幅%:var3,colorccffff,linethick0,PRECISION0;
STICKLINE(vol>var0,0,var1,6,0),COLORffccff;
STICKLINE(vol
fv:=v;fc:=c;fo:=o;
for i=1 to datacount do begin
if varD[i] then begin
for j=i downto 1 do begin
if varaa[j]
if varaa[i]>=varee then begin
varzz[i]:=i-j+1;
break;
end;
end;
for j=i downto LBOUND(var1) do begin
if varbb[j]
if varbb[i]>=varff then begin
varxx[i]:=i-j+1;
break;
end;
end;
for j=i downto LBOUND(var2) do begin
if varcc[j]
if varcc[i]>=varff then begin
varyy[i]:=i-j+1;
break;
end;
end;
if fv[i]>var00[i] then begin
aa[i]:=aa[i-1]+varv[i];
bb[i]:=bb[i-1]+1;
end;else begin
aa[i]:=aa[i-1];
bb[i]:=bb[i-1];
end;
if fv[i]
dd[i]:=dd[i-1]+1;
end;else begin
cc[i]:=cc[i-1];
dd[i]:=dd[i-1];
end;
if fc[i]>fo[i] then begin
ee[i]:=ee[i-1]+varv[i];
ff[i]:=ff[i-1]+1;
end;else begin
ee[i]:=ee[i-1];
ff[i]:=ff[i-1];
end;
if fc[i]
ii[i]:=ii[i-1]+1;
end;else begin
hh[i]:=hh[i-1];
ii[i]:=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;
[Copy to clipboard]CODE: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]
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[i]:=mm[i-1]+tjb[i];
m[i]:=m[i-1]+tjb[i];
w[i]:=w[i-1]+tjs[i];
if tjs[i] then m[i]:=0;
if tjb[i] then w[i]:=0;
if m[i]<=s and tjb[i] then z[i]:=1;
if w[i]<=s and tjs[i] and mm[i]>0 then t[i]:=1;//首次要发卖出信号去掉and mm[i]>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[i]:=mm[i-1]+tjb[i];
m[i]:=m[i-1]+tjb[i];
w[i]:=w[i-1]+tjs[i];
if w[i]>w[i-1] then m[i]:=0;
if m[i]>m[i-1] or mm[i]=0 then w[i]:=0;
if m[i]-w[i]>s then m[i]:=m[i-1];
if w[i]-m[i]>s then w[i]:=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:=LU2:=L
{以下代码,使买、卖信号一一对应}
tsb:=barssince(tjb);
tss:=barssince(tjs);
if tjs[datacount]
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:=LU2:=L
tjb:=tjb and not(tjs);//初始买入信号,可换成其它任意买入条件
{以下代码,使买、卖信号一一对应}
tsb:=barssince(tjb);
tss:=barssince(tjs);
if tjs[datacount]
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”信号?谢谢!
[color=Red] 答(股市骑兵00):
你的买卖条件本身有重叠的问题。肯定有信号损失的,如果以买入信号为基准。
损失卖出信号改为如下表达。
MID:=MA(C,30);
tjb:=C>MID AND L>MID;//初始买入信号,可换成其它任意买入条件
U1:=L//U2:=L
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[i]:=fb[i-1]+tjb[i];
fs[i]:=fs[i-1]+tjs[i];
if tjs[i] then fb[i]:=0;
if tjb[i] then fs[i]:=0;
if fb[i]=1 and tjb[i] then fb1[i]:=1;
if fs[i]=1 and tjs[i] then fs1[i]:=1;
end;
drawicon(fb1 ,l,4);
drawicon(fs1 and tss1>2 ,h,5);
引用: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;
引用:889.问:
我想只输出指标线,而不输出数值,如何写?
如:ma5:ma9c,5);只输出指标线,而不输出数值
答(bajatje):
别名: 画分段线
所属类别: 绘图函数 参数数量: 2
分段绘制指标线。
用法:
PARTLINE(COND,PRICE),满足COND条件绘制PRICE连线。
例如:PARTLINE(C>REF(C,1),C),colorred表示收盘大于前收以红色绘制收盘价连线。
PARTLINE(1,ma5);
引用:890.问:
求今日向前有多少根k线的最高价大于且最低价小于今日收盘价?
答(股市骑兵00):
最后周期和光标位统计大致这样。
fc:=c;pg:=datacount;//可改为SYSPARAM(1)光标统计
x:=h>fc[pg] and l
y[pg];
只计算今天与前几日连续符合条件的数量,不是累计相加的数量。
答(股市骑兵00):
n:=5;//天数调节
fc:=c;pg:=SYSPARAM(1);//可改为SYSPARAM(1)光标统计
x:=h>fc[pg] and l
y[pg];
引用: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;
引用: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;
引用: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;
引用: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;
引用:896.问:
求某天(可以设定)到今天的换手率总和。
答(cwy):
RQ:=IF(DATE=1050104,1,0);//在1050104处换入你的日期
N天的换手率总和:SUM(IF(BARSLAST(RQ)>0,V,0),0)/FINANCE(7);
引用: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
[Copy to clipboard]CODE:898.问:
我想请你帮做一下,就是我用光标在一个点位拉到另一个点位时,就出现一个长方形,在这个长方形里出现三条横线,它们分别在三分之一,三分之二和二分之一的点位上,最好能显示出数据.
答(股市骑兵00):
INPUT:m(48);//周期调节
x:=3;p:=SYSPARAM(1);
ws:=BARPOS;ws1:=if(ws
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);
引用: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 hand la2:="kdj.k"<20 and "kdj.d"<20 "kdj.j"<20;
a1 and a2;
引用: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,'*芒种');
【求助】powerpoint 公式编辑
求助:顺逆水公式
求助!高二(下)数学所有公式?
求助椭圆的面积公式?
Excel 公式求助!高手请进!!!!
求助三相异步电动机的转矩公式?
求助~8的双阶乘公式
求助EXCEL的平方差函数公式
求助!所有几何图形的面积、周长公式!
求助关于Excel设定公式的问题
[求助]Excel单元格公式高手进
高中数学(文科)公式
【求助】组合数公式Cn m的Matlab修改,急
求助 : 怎么在word中打开公式编辑器阿
求助有人知道连云港的暴雨强度公式么?
数学计算(能用乘法公式就用乘法公式)
数理化公式汇总(多多益善)
一道题(要公式)
一元二次方程(公式法)
在线紧急求助:X的4次方+X的 3次方+4X的平方+18X=360的公式怎么解?
高分求助-高一化学网站`,要求有公式,内容,概念,要齐全的,包括(氧族元素,卤素,碳族元素,碱金属)
求解 2 2 6 4 18 6 ( ) 8 请把计算公式列出来
关于组合数公式的推导(除高中课本上的两个公式外的三个公式的推导)
1²+2²+3²…+n²的公式是什么?求助