股友量 发表于 2022-1-11 02:33

指标编写问答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天新低之间画直线并且向右延长。

股友量 发表于 2022-1-11 02:37

还差359分,真希望出现一位侠士给我评点分,让这个进程快一点

股友量 发表于 2022-1-11 02:42

还差357分,在近两分

股友量 发表于 2022-1-11 02:44

还差355分,再近两分
页: [1]
查看完整版本: 指标编写问答119学习的宝藏-