找回密码
 立即注册

QQ登录

只需一步,快速开始

广告载入中...
查看: 157|回复: 3

指标编写问答119学习的宝藏-

[复制链接]
发表于 2022-1-11 02:33 | 显示全部楼层 |阅读模式

马上注册,享用更多功能,让你轻松玩转本论坛。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
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分,再近两分
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|股海明灯官网 ( 京ICP备18020431号 )

GMT+8, 2024-11-23 14:58 , Processed in 0.090257 second(s), Total 12, Slave 11 queries , Gzip On, MemCached On.

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表