请高手调试此选股指标。。谢谢

2024-05-11 23:19

1. 请高手调试此选股指标。。谢谢

{XMD-}
VARF1:=MA(HHV(HIGH,485),17);
VARF2:=MA(HHV(HIGH,222),17);
VARF3:=MA(HHV(HIGH,96),17);
VARF4:=MA(LLV(LOW,485),17);
VARF5:=MA(LLV(LOW,222),17);
VARF6:=MA(LLV(LOW,96),17);
VARF7:=MA((VARF4*0.96+VARF5*0.96+VARF6*0.96+VARF1*0.558+VARF2*0.558+VARF3*0.558)/6,17);
VARF8:=MA((VARF4*1.25+VARF5*1.23+VARF6*1.2+VARF1*0.55+VARF2*0.55+VARF3*0.65)/6,17);
VARF9:=MA((VARF4*1.3+VARF5*1.3+VARF6*1.3+VARF1*0.68+VARF2*0.68+VARF3*0.68)/6,17);
VARFA:=MA((VARF7*3+VARF8*2+VARF9)/6*1.738,17);
VARFB:=IF(C=C,VARFA,VARFA*DAY);
VARFC:=LOW;
VARFD:=REF(LOW,1);
VARFE:=SMA(ABS(VARFC-VARFD),3,1)/SMA(MAX(VARFC-VARFD,0),3,1)*100;
VARFF:=MA(IF(CLOSE*1.35<=VARFB,VARFE*10,VARFE/10),3);
VARF10:=LLV(LOW,30);
VARF11:=HHV(VARFF,30);
买点:=IF(C=C,MA(IF(LOW<=VARF10,(VARFF+VARF11*2)/2,0),3),100000000)/(200);

DIFF:= EMA(CLOSE,12) - EMA(CLOSE,26);
DEA:=EMA(DIFF,9);
JC:=CROSS(DIFF,DEA);
ZQ:=SUMBARS(CROSS(买点,0.5),1);
选买点:JC AND COUNT(JC,ZQ)=1;
通过测试。{ 个人看法,仅供参考。}

请高手调试此选股指标。。谢谢

2. 请高手帮忙把代码调试成功并注释(云计算),急急急!在线等 答得好分数可追加!

#include 
#include 
#include 
#define BUF_SIZE  2048

int my_map(char *buffer,char (*mapbuffer)[100]);          //函数参数 一个char*指针 和 一个 mapbuffer指针指向一个一位字符数组  就是一个一维数组和二维数组
int my_reduce(char (*mapbuffer)[100],char (*reducebuffer)[100],int *count,int num);  

int main(int argc,char *argv[])                               //多了一个d
{
 char buffer[BUF_SIZE];
 char mapbuffer[BUF_SIZE][100];
 char reducebuffer[BUF_SIZE][100];
 int  count[BUF_SIZE]={0};          //记录位全部置0  显示字符子串个数
 int  num;
 int  i;
 int  countnum;
 fgets(buffer,BUF_SIZE-1,stdin);  //从 buffer 中读入 BUD_SIZE-1个数据   读完后清除缓冲区内容,输入数组buffer  功能
 buffer[strlen(buffer)-1]='\0';   // 输入完毕后 说明字符串结束
 num=my_map(buffer,mapbuffer);    //接收返回值
 printf("num:%d\n",num);
 printf("this is map results:\n");
 for(i=0;i<num;i++)
 {
  printf("\n",mapbuffer[i]);   //输出二维数组对应的一维数组   即每一个输出 [i][0]-[i][100]
  
 }
 countnum=my_reduce(mapbuffer,reducebuffer,count,num); //接收返回值
 printf("countnum:%d\n",countnum);
 printf("this is reduce results:\n");
 for(i=0;i<countnum;i++)                               //
 {
  printf("\n",reducebuffer[i],count[i]);  //漏了一个右括号           输出 二维数组对应的一维数组 和一维数组 
 }
 return 0;                                         //没有返回一个 0 对应int main()
}

int my_map(char *buffer, char(*mapbuffer)[100])  //这个函数作用是分割你在主函数输入的字符以空格为分割标准 返回分割后字符串个数
{
    char *p;
    int num=0;
    if(p=strtok(buffer, " "))   //漏了一个右括号   strok 为分解字符串  碰上空格就分解字符串将一个字符串以空格为界分成两个
 {
  strcpy(mapbuffer[num],p); //用一个二维数组接收 分解好第一个字符串的首地址
  num++;                    //自加移动到二维数组 的下一列   记录分解次数  分割字符串个数
 }
    else
  return num;               //如果字符串到了尾部 返回NULL 就直接返回  分解次数   分割字符串个数
    while(p=strtok(NULL," "))     //碰到下一个空格继续进行分割  知道  没有空格为止
 {
  strcpy(mapbuffer[num],p);
  num++;
 } 
    return num;                 //返回   分割字符串个数
 //将  buffer 的字符  分割后送给了二维数组 mapbuffer
}

int my_reduce(char (*mapbuffer)[100], char(*reducebuffer)[100],int *count,int num)  //这个函数主要作用计算分割字符子串的相同个数
{
 //mapbuffer  是分割的字符串
 int i,j;
 int flag[BUF_SIZE]={0};           //定义一个记录数组   表示已存在的字符子串
 char tmp[100];
 int countnum=0;
 for(i=0;i<num;i++)          //收索到分割的字符子串结束
 {
  if(flag[i]==0)
  {
   strcpy(tmp,mapbuffer[i]);           //将二维数组对应的[i][0]~[i][100]送给一维临时数组
   flag[i]=1;                          //第一个标志位置1
   strcpy(reducebuffer[countnum],mapbuffer[i]);    //将mapbuffer二维数组对应的一维数组给二维数组reducebuffer对应的一维数组  对应的  ruduce
   count[countnum]=1;                        //漏了一个t  传入的一位数组记录1
   for(j=0;j<num;j++)
   {
    if(memcmp(tmp,mapbuffer[j],strlen(tmp))==0  && (strlen(tmp)==strlen(mapbuffer[j]))&& (flag[j]==0))  //漏了一个右括号
    {//比较 tmp数组和mapbuffer对应一维数组前tmp字符长度位的长度  tmp数组长度与mapbuffer对应一维数组长度如果相等 且 记录位是0
     count[countnum]++;  //传入数组对应的 countnum 自加1  对应标志位显示 字符串存在的个数
     flag[j]=1;    //记录为标志为1  
    }
   } 
   countnum++;   //记数自加1  下一个记录位
  }
    }
 return countnum;   //返回记数
}

3. 请高手指教,keil 单步调试的时候为什么会跳到中断入口?

你说的进中断是自带的保护中断吧,如果进中断死循环语句表示你程序有问题,非法访问内存,数组越界等等都容易产生这样的情况
如果进的是你自己定义的中断,那就是你中断配置 有问题,或者你调试方法有问题

请高手指教,keil 单步调试的时候为什么会跳到中断入口?

4. excel中,按入党时间不同发放不同的金额,做了一个公式,调试正确,但太复杂了,请教高手把他简化。

首先说说你这个公式and函数没有必要,=40=50<55的情况。
之所以这么复杂,是因为你想一次性补从6月到11月的钱。如果你单独写公式的话,完全可以在旁边一个2*3的区域(比如区域在$U$1:$V$3)输入40  80 ; 50  100 ; 55  120这样的数据,然后以6月为例,公式如下
IF(OR(DATEDIF(H101,"2011-6-30","y")55),"",LOOKUP(DATEDIF(H101,"2011-6-30","y"),$U$1:$V$3)),这里得到的只是6月应发的补贴,然后后面列数相应的7月,8月,9月,10月,11月单独改2011-6-30日期,然后得当月应补贴数,最后来个合计补贴数,这样表格岂不更一目了然么。

5. 请教高手:弱电中链路调试如何计算

链路测试通常是指端到端的测试,所以它跨越了干线和支线。
比如网络的链路测试,从终端模块到机房配线架之间进行测试。

请教高手:弱电中链路调试如何计算

6. Excel中我想利用COUNTIFS函数统计点东西,请高手指出我错在哪里了

公式大概是 =COUNTIFS(sheet3!$C3:sheet3!$C1000,B5,sheet3!$L3:sheet3!$L1000,C4)
即把B5/C4的""符号去掉,我用的是03没法试

7. 大智慧自编公式调试无效,求教高手

请问问题解决木有?浏览看到您的问题好像和前段时间另一问题很像,就进来啦。顺便就说两句,如果您的问题没解决也许有点帮助,如果已经解决,那就恭喜您啦。
您的问题是大智慧公式调试无效,这不算啥问题(起码表示通过了),好多一句函数的公式调试时属性都无效,包括系统自带的换手率公式,您去用公式编辑器调试,属性也是无效。
再有就是您说是涨幅的问题,也许和这问题类似,不妨去看这里一下:
http://zhidao.baidu.com/question/2075430668480913988
 
祝您投资愉快、股市好运。

大智慧自编公式调试无效,求教高手

8. 请高手帮我编辑一个选股公式,突破最近5个月(参数可修改)箱体最高点,且最近回调到最高点,通达信软件

a1:=hhv(h,60);
a2:=barslast(a1);
cross(c,ref(h,a2));
 
该公式的意思是:突破前面60天阶段高点时选股。这个周期跨度可以自己根据需要调整。