指标编写问答119学习的宝藏-
597.问:是否可以请帮我写个公式:MACD里的MACD在DIFF和DEA在没有死亡交叉的前提下,
MACD柱状线回落后又重新放大的公式。在放大的时候,信号要用大于0的箭头表示出
来, MACD的曲线,就不要写在上面了
答(流光之星):
{12\26\9\5\5}
DIFF:=EMA(CLOSE,SHORT) - EMA(CLOSE,LONG);
DEA:=EMA(DIFF,M);
MACD:2*(DIFF-DEA), COLORSTICK;
aa:=cross(diff,dea);
aaa:=barslast(aa)=N1;
bb:=ma(macd,N);
cc:=( ref(bb,0)>ref(bb,1) and ref(bb,1)>ref(bb,2) and ref(bb,2)>ref(bb,3) and ref(bb,3)>
ref(bb,4) and ref(bb,4)>ref(bb,5) );
dd:=( ref(bb,5)<ref(bb,6) and ref(bb,6)<ref(bb,7) and ref(bb,7)<ref(bb,8) and ref(bb,8)<ref
(bb,9) );
eee:if(aaa and cc and dd,1,0),linethick0,precis0;
drawicon(aaa and cc and dd,0.5,4);
{选股与评价用EEE>0,N1、N自调;cc、DD是放大与缩小的区间,自改};
598.问:
写一个换手率指标能够看到一个月,三个月,半年,一年的换手率
答(流光之星):
AA:=DATE>=D;
BB:=DATE<=D1;
累计换手率%:sum(if(AA and BB,vol,0),0)*100/capital;
累计换手率2%:sum(vol,X)*100/capital;
{D=1050101,D1=1050519;05.01.01日--05.05.19日;
X=30,30日累计换手}
599.问:
问题:相信很多FXJ用户和我一样,不会太注意计算结果准确性的问题,
因为说实话,我想那么几位小数点不会有太大的影响,可实际却是这样的:
a:amout;
b:amout/10;
c:amout*100/100;
这三组数据理应是相等的——a=b*10=c;可实际在分析家中结果会如何,试一下。我晕死过去,
也没差这么多的,原本以为C差一点是正常的,因为放大了100倍在先,可能超出计算大数(放在
B股里是a=c可以证明),没想到实际情况比较糟糕,在做除运算时,6位数就过不了要出错;
钻心虫说超过2的24次方就会出错,d:16777217+1,软件会显示16777216,这个我已经证实了,
奇怪的是在测试B股时,随便举例:e:3435782/10,软件会显示343578.188、还有183117/10,
会显示18311.699,怪的是,这种变化没有规律,不是数值大于某个值时一定出错,好像是随机的。
这是不是代表我们用AMOUNT/常数、或是做统计、求和,得到的最后值都要打个问号了?
看似小的误差对测试平台最后造成的累计影响大不大?如何解决
答(竹林):
“e:3435782/10,软件会显示343578.188、还有183117/10,会显示18311.699”
好像是四舍五入的缘故。你看343578.188后面的0.188进到个位不就是2,343578.188*
10 等于3435782。
答(jsyjsybt):
分析家和飞狐都存在这个问题,原因是分析家和飞狐都采用单精度实数(Float)
进行运算,目的是为了提高软件的执行速度,而单精度实数只有最多七位有效数字,
第七位之后的数就是随机的,所以就会出现这种情况。但对测试不会产生影响。如
果用双精度实 数运算就不会有这种现象!打开十字光标移动,每只股票都会有这种
现象
600.问:
一根水平线的两个点怎样编写?我用的《分析家》。
答(知无不言):
在图形上绘制直线段。
用法:
DRAWLINE(COND1,PRICE1,COND2,PRICE2,EXPAND),当COND1条件满足时,在PRICE1位置画直线起点,
当COND2条件满足时,在PRICE2位置画直线终点,EXPAND为延长类型。
例如:DRAWILINE(HIGH>=HHV(HIGH,20),HIGH,LOW<=LLV(LOW,20),LOW,1)表示
在创20天新高与创20天新低之间画直线并且向右延长。
还差359分,真希望出现一位侠士给我评点分,让这个进程快一点 还差357分,在近两分 还差355分,再近两分
页:
[1]