📄 hangqingkuaiche4.c
字号:
ls++;if feof(f3) {ls=0;fseek(f3,cjl0[ls],0);}} fclose(f3);}key=0;disp_tx();}
//11 *指标变换
if (key==42) {setviewport(2,302,579,428,0); zb=(zb+1)%5;
clearviewport();setviewport(0,0,639,479,0); disp_zb(zb);}
//f7 名称更新
if (key==65) {fclose(f1);fclose(f3);bar(1*8,24*18,79*8,25*18);
hxs(1*8,24*18," 正在更新代码表..... ",3);
ch8[79]=' ';
if (sjgs==3) sprintf(ch8,"dir %c:%s\\5?????.day/on/b>name",pf,cs[1]);
else sprintf(ch8,"dir %c:%s\\day\\5?????.day/on/b>name",pf,cs[1]);
for (i=0;i<78;i++) { while (ch8[i]==' '&&i<78&&i>3)
{for (j=i;j<78;j++) ch8[j]=ch8[j+1];}} system(ch8);
if (sjgs==3) sprintf(ch8,"dir %c:%s\\6?????.day/on/b>>name",pf,cs[1]);
else sprintf(ch8,"dir %c:%s\\day\\6?????.day/on/b>>name",pf,cs[1]);
for (i=0;i<78;i++) { while (ch8[i]==' '&&i<78&&i>3)
{for (j=i;j<78;j++) ch8[j]=ch8[j+1];}} system(ch8);
if (sjgs==0) sprintf(ch8,"dir %c:%s\\day\\00????.day/on/b>>name",pf,cs[2]);
else if (sjgs==3) sprintf(ch8,"dir %c:%s\\00????.day/on/b>>name",pf,cs[2]);
else sprintf(ch8,"dir %c:%s\\day\\00????.day/on/b>>name",pf,cs[2]);
for (i=0;i<78;i++) { while (ch8[i]==' '&&i<78&&i>3)
{for (j=i;j<78;j++) ch8[j]=ch8[j+1];}} system(ch8);
if (sjgs==0) sprintf(ch8,"dir %c:%s\\day\\18????.day/on/b>>name",pf,cs[2]);
else if (sjgs==3) sprintf(ch8,"dir %c:%s\\18????.day/on/b>>name",pf,cs[2]);
else sprintf(ch8,"dir %c:%s\\day\\18????.day/on/b>>name",pf,cs[2]);
for (i=0;i<78;i++) { while (ch8[i]==' '&&i<78&&i>3)
{for (j=i;j<78;j++) ch8[j]=ch8[j+1];}} system(ch8);
f3=_fsopen("name","rt",SH_DENYNO);fseek(f3,0,2);if (ftell(f3)!=0)
{f1=_fsopen("sh.txt","wt+",SH_DENYNO);rewind(f3);
for (i=0;i<6;i++) chh[i]='k';fwrite(&chh,6,1,f1);chh[0]='1';chh[1]='A';
chh[2]='0';chh[3]='0';chh[4]='0';chh[5]='1';fwrite(&chh,6,1,f1);
chh[0]='0';chh[1]='0';chh[2]='2';chh[3]='A';chh[4]='0';chh[5]='1';
fwrite(&chh,6,1,f1); fread(&chh,6,1,f3);
while (!feof(f3)&&chh[4]!='.') {fwrite(&chh,6,1,f1);fseek(f3,6,1);fread(&chh,6,1,f3);}
for (i=0;i<6;i++) chh[i]='e'; fwrite(&chh,6,1,f1);fclose(f1);}
fclose(f3); bar(1*8,24*18,79*8,25*18);
hxs(7*8,24*18," 代码表更新完毕!任意键退回!",3); cch=getch();fclose(f1);
if ((f1=_fsopen("sh.txt","rt",SH_DENYNO))!=0) fseek(f1,6,1);
sprintf(ch,ch3);
fscanf(f1,"%6s",&ch1); if (ch3[0]==32) sprintf(ch,ch1);
while ((ch1[0]!=ch[0])||(ch1[1]!=ch[1])||(ch1[2]!=ch[2])||(ch1[3]!=ch[3])
||(ch1[4]!=ch[4])||(ch1[5]!=ch[5]))
fscanf(f1,"%6s",&ch1); fseek(f1,-6,1); //定位
gotoxy(60,25);cprintf(" "); disp_tx();
}
// H帮助功能
if (key==104) { setfillstyle(1,7);bar(10*8,7*17,74*8,21*17);
hxs(10*8,7*17,"┌──────────────────────────────┐",0);
hxs(10*8,8*17,"│ 功 能 说 明 │",0);
hxs(10*8,9*17,"│ │",0);
hxs(10*8,10*17,"│ H:帮助 F1,F2,F3:选股 F7:代码更新 F8:周期 F10:个股资料 │",0);
hxs(10*8,11*17,"│ │",0);
hxs(10*8,12*17,"│ *:指标↑:放大图形 ↓:缩小图形 →:左移查询 ←:右移查询 │",0);
hxs(10*8,13*17,"│ │",0);
hxs(10*8,14*17,"│ /:涨跌 Ctrl+Home:增加翻页天数 Ctrl+End:减少翻页天数 │",0);
hxs(10*8,15*17,"│ │",0);
hxs(10*8,16*17,"│ Pageup:上翻 Pagedn:下翻 Ctrl+→:往前翻 Ctrl+→:往后翻 │",0);
hxs(10*8,17*17,"│ │",0);
hxs(10*8,18*17,"│ (选股时出现退出或者死机现象,证明你的数据有误,要更新!) │",0);
hxs(10*8,19*17,"│ │",0);
hxs(10*8,20*17,"└──────────────────────────────┘",0);
textcolor(3);textbackground(0);getch();disp_tx();}
//12 周期变换
if (key==66) { if (w==1) bc=bc*5;if (w==2) bc=3.*bc/5.;if (w==3||w==4) bc=2.*bc;if (w==5) bc=bc/12.;
w=w%5+1; disp_tx();}
//13 F2自动推荐 f1为全目录 f2为条件选股目录 f3为即时文件 zd.txt为自动文件
if (key==59||key==60||key==61||key==62) { fclose(f1);x=atol(rq1);if (x>30020512l||x<19900101l) return;
zdzt=(zdzt+1)%2; setfillstyle(1,7); bar(10*8,7*17,74*8,21*17);
if (key==59) {
hxs(10*8,7*17,"┌──────────────────────────────┐",0);
hxs(10*8,8*17,"│ 必涨形态选股(10天5%成功率在95%左右) │",0);
hxs(10*8,9*17,"│ │",0);
hxs(10*8,10*17,"│ 该形态是在上升通道或者盘跌尾端突然出现大幅低开, │",0);
hxs(10*8,11*17,"│ │",0);
hxs(10*8,12*17,"│ 然后引起股价急速上行的现象,从物理学原理解释,这种股 │",0);
hxs(10*8,13*17,"│ │",0);
hxs(10*8,14*17,"│ 价的运动起其惯性趋势最强,如果我们买在该趋势刚出现的 │",0);
hxs(10*8,15*17,"│ │",0);
hxs(10*8,16*17,"│ 第一天,那么赚的概率就是最高。该算法数量每年15只左右 │",0);
hxs(10*8,17*17,"│ │",0);
hxs(10*8,18*17,"│ 正在分析: │",0);
hxs(10*8,19*17,"│ │",0);
hxs(10*8,20*17,"└──────────────────────────────┘",0);}
if (key==61) {
hxs(10*8,7*17,"┌──────────────────────────────┐",0);
hxs(10*8,8*17,"│ 穿三线(10天3%成功率在70%左右) │",0);
hxs(10*8,9*17,"│ │",0);
hxs(10*8,10*17,"│ 按F2键实现自动推荐和不推荐之间的互相转换,自动推荐后按 │",0);
hxs(10*8,11*17,"│ │",0);
hxs(10*8,12*17,"│ 翻页键只能查询到自动推荐的股票,不推荐则恢复到推荐之前, │",0);
hxs(10*8,13*17,"│ │",0);
hxs(10*8,14*17,"│ 该算法将推荐探底短期均线且均线多头排列的股票。一般大盘 │",0);
hxs(10*8,15*17,"│ │",0);
hxs(10*8,16*17,"│ 走牛的时候,可以天天找到,成功率很高! │",0);
hxs(10*8,17*17,"│ │",0);
hxs(10*8,18*17,"│ 正在分析: │",0);
hxs(10*8,19*17,"│ │",0);
hxs(10*8,20*17,"└──────────────────────────────┘",0);}
if (key==62) {
hxs(10*8,7*17,"┌──────────────────────────────┐",0);
hxs(10*8,8*17,"│ 底 部 形 态(10天3%成功率在70%左右) │",0);
hxs(10*8,9*17,"│ │",0);
hxs(10*8,10*17,"│ 该算法将推荐具备七大底部形态特征的股票,七大底部形态是 │",0);
hxs(10*8,11*17,"│ │",0);
hxs(10*8,12*17,"│ 指:阳夹阴、平台底、海底月、红三兵、均线星、探底线、长 │",0);
hxs(10*8,13*17,"│ │",0);
hxs(10*8,14*17,"│ 尾线;该算法在行情启动之初相当实用,对走出盘局即将拉升 │",0);
hxs(10*8,15*17,"│ │",0);
hxs(10*8,16*17,"│ 的股票有很高的预见性! │",0);
hxs(10*8,17*17,"│ │",0);
hxs(10*8,18*17,"│ 正在分析: │",0);
hxs(10*8,19*17,"│ │",0);
hxs(10*8,20*17,"└──────────────────────────────┘",0);}
if (key==60) {
hxs(10*8,7*17,"┌──────────────────────────────┐",0);
hxs(10*8,8*17,"│ 熊 市 克 星 (10天3%成功率在77%左右) │",0);
hxs(10*8,9*17,"│ │",0);
hxs(10*8,10*17,"│ 该算法推荐调整比较充分,低位启动比较明显的股票! │",0);
hxs(10*8,11*17,"│ │",0);
hxs(10*8,12*17,"│ │",0);
hxs(10*8,13*17,"│ │",0);
hxs(10*8,14*17,"│ │",0);
hxs(10*8,15*17,"│ │",0);
hxs(10*8,16*17,"│ │",0);
hxs(10*8,17*17,"│ │",0);
hxs(10*8,18*17,"│ 正在分析: │",0);
hxs(10*8,19*17,"│ │",0);
hxs(10*8,20*17,"└──────────────────────────────┘",0);
}
if ((f1=_fsopen("sh.txt","rt",SH_DENYNO))!=0) fseek(f1,6,1);
if (w<3) sprintf(ml,"/day");else sprintf(ml,"/min");
if (sjgs==3) sprintf(ml,"/");
if (w==5) sprintf(kzm,".min");if (w==4) sprintf(kzm,".min");
if (w<3) sprintf(kzm,".day");
sprintf(ch,ch3);
fscanf(f1,"%6s",&ch1);if (zdzt==1) { while ((ch1[0]!=ch[0])||(ch1[1]!=ch[1])||
(ch1[2]!=ch[2])||(ch1[3]!=ch[3])||(ch1[4]!=ch[4])||(ch1[5]!=ch[5]))
{fscanf(f1,"%6s",&ch1);} fseek(f1,-6,1);} //定位
if (strcmp(ch3,"190000")<=0) {//数据文件设定
sprintf(ch3,ch1);
sprintf(ch0,"%c:%s%s/%6s%s",pf,cs[2],ml,ch3,kzm); }
else sprintf(ch0,"%c:%s%s/%6s%s",pf,cs[1],ml,ch3,kzm);
if (zdzt==1) {
f2=_fsopen("zd.txt","wb+",SH_DENYNO);for (i=0;i<6;i++) ch1[i]='k';fwrite(&ch1,6,1,f2);
while (!kbhit()&&ch1[0]!='e') { fscanf(f1,"%6s",&ch1);
sprintf(ch3,ch1);
if (strcmp(ch3,"190000")<=0) {
sprintf(ch0,"%c:%s%s/%6s%s",pf,cs[2],ml,ch3,kzm); }
else {sprintf(ch0,"%c:%s%s/%6s%s",pf,cs[1],ml,ch3,kzm);}
hxs(30*8,18*17,ch3,0);
if ((f3=_fsopen(ch0,"rb",SH_DENYNO))!=0){
cjl0[1]=0l; xz=0;textcolor(3);fseek(f3,0,2);
if (sjgs==0) zj=ftell(f3)/16-tz; if (sjgs==2) zj=ftell(f3)/29-tz;
if (sjgs==1||sjgs==3||sjgs==4) zj=ftell(f3)/40-tz;
cjl0[0]=0; zs0[0][3]=zs0[0][4]=zs0[0][1]=zs0[0][2]=zs0[0][0]=0;
if (sjgs==0) fseek(f3,-16l*(tz+1),2);if (sjgs==2) fseek(f3,-29l*(tz+1),2);
if (sjgs==1||sjgs==3||sjgs==4) fseek(f3,-40l*(tz+1),2);
if (w==3) zj=zj/6; if (w==4) zj=zj/12;
for (i=0;i<min(ts+250,zj);i++)
{if (sjgs==0) {fread(&zs0[i+1],10,1,f3);fseek(f3,2,1);fread(&cjl0[i+1],4,1,f3);}
if (sjgs==1||sjgs==3) {fread(&c,28,1,f3);for (j=1;j<5;j++)
{if (ch3[1]=='A'||ch3[1]=='B') c[j]=c[j]/100; zs0[i+1][j]=c[j]/10;}
zs0[i+1][0]=(c[0]%100)*1000+(c[0]/10000-1990)*12+(c[0]%10000)/100;
fseek(f3,12,1);cjl0[i+1]=c[6];}
if (sjgs==4) {fread(&c,28,1,f3);for (j=1;j<5;j++)
{if (ch3[1]=='A'||ch3[1]=='B') c[j]=c[j]/100; zs0[i+1][j]=-1*c[j]/10;}
zs0[i+1][2]=-1*c[3]/10;zs0[i+1][3]=-1*c[4]/10;zs0[i+1][4]=-1*c[2]/10;
c[0]=-1*c[0]-1; zs0[i+1][0]=(c[0]%100)*1000+(c[0]/10000-1990)*12+(c[0]%10000)/100;
fseek(f3,12,1);cjl0[i+1]=-1*c[6];}
if (sjgs==2) {fread(&c[0],4,1,f3);fread(&fd,20,1,f3);fread(&c[6],4,1,f3);
for (j=1;j<5;j++) {if (ch3[1]=='A'||ch3[1]=='B') fd[j-1]=fd[j-1]/100;
zs0[i+1][j]=fd[j-1]*100;}
zs0[i+1][0]=(c[0]%100)*1000+(c[0]/10000-1990)*12+(c[0]%10000)/100;
fseek(f3,1,1);cjl0[i+1]=c[6]/100;}
if (sjgs==0) fseek(f3,-16,1);if (sjgs==1||sjgs==3||sjgs==4) fseek(f3,-40,1);
if (sjgs==2) fseek(f3,-29,1);
//周线
if (w>1) zxfs();
//
if (ftell(f3)==0L) {zj=i+1;break;}
if (sjgs==0) fseek(f3,-16,1);if (sjgs==1||sjgs==3||sjgs==4) fseek(f3,-40,1);
if (sjgs==2) fseek(f3,-29,1);} fclose(f3); cjl0[0]=cjl0[1];
for (i=1;i<min(ts,zj);i++) {if (cjl0[0]<cjl0[i+1]) cjl0[0]=cjl0[i+1];}
zs0[0][2]=zs0[1][2]; for (i=1;i<min(ts,zj);i++)
{if (zs0[0][2]<zs0[i+1][2]) zs0[0][2]=zs0[i+1][2]; }
zs0[0][3]=zs0[1][3]; for (i=1;i<min(ts,zj);i++)
{if (zs0[0][3]>zs0[i+1][3]) zs0[0][3]=zs0[i+1][3];}
aa=25;//30
for (i=0;i<aa;i++) {for (j=0;j<8;j++) lj[i][j]=0;}
//均量\均线 0-5日线 1-10日线 2-30日线 3-5日量 4-10日量
for (gd=0;gd<aa;gd++) {
tmp=0.;for(i=0;i<5;i++)tmp=tmp+zs0[i+1+gd][4];lj[gd][0]=tmp/5.0;
tmp=0.;for(i=0;i<10;i++)tmp=tmp+zs0[i+1+gd][4];lj[gd][1]=tmp/10.0;
tmp=0.;for(i=0;i<30;i++)tmp=tmp+zs0[i+1+gd][4];lj[gd][2]=tmp/30.0;
tmp=0.;for(i=0;i<75;i++)tmp=tmp+zs0[i+1+gd][4];lj[gd][5]=tmp/75.0;
tmp=0.;for(i=0;i<150;i++)tmp=tmp+zs0[i+1+gd][4];lj[gd][7]=tmp/150.0;
tmp=0.;for(i=0;i<20;i++)tmp=tmp+zs0[i+1+gd][4];lj[gd][6]=tmp/20.0;
tmp=0.;for (i=0;i<5;i++)tmp=tmp+cjl0[i+1+gd];lj[gd][3]=tmp/5.0;
tmp=0.;for(i=0;i<10;i++)tmp=tmp+cjl0[i+1+gd];lj[gd][4]=tmp/10.0;}
enter='Z';cz=1; //if (zj+tz<150l) cjl0[1]=0l;
if (cjl0[cz]<=0l||zs0[cz][4]<=0||zs0[cz][3]<=0||zs0[cz][2]<=0
||zs0[cz][1]<=0) ; else
{cc=0;xt();//printf("%d",cc);getch();
}} hxs(30*8,18*17,ch3,7);} //while为止
for (i=0;i<6;i++) ch1[i]='e'; fwrite(&ch1,6,1,f2); fclose(f2);fclose(f1);
if ((f1=_fsopen("zd.txt","rt",SH_DENYNO))!=0) fseek(f1,6,1);
fscanf(f1,"%6s",&ch1);}
if (ch1[0]=='e') {fclose(f1);cleardevice();hxs(30*8,12*17,"找不到!",10);
getch();f1=_fsopen("sh.txt","rt",SH_DENYNO);
fseek(f1,6,1);fscanf(f1,"%6s",&ch1); zdzt=0; }
else if (zdzt==1) {cleardevice();i=2;hxs(28*8,0,"找到以下股票",10);
for (j=0;!feof(f1)&&j<10;j++) {hxs(j*60,i*17,ch1,10);fscanf(f1,"%6s",&ch1);
if (j==9) {j=-1;i++;} if (i>20) break;}
getch();rewind(f1);fseek(f1,6,1);fscanf(f1,"%6s",&ch1);
} textbackground(0);disp_tx();}
//14
if (key>47&&key<58) { sprintf(ccc,"%c",key); hxs((72+gm)*8,24*18,ccc,3);}
else { setfillstyle(1,0); bar(72*8,24*18,78*8,24*18+17);j=0;}
}
}
void disp_tx(void) {//图形显示
if (w<3) sprintf(ml,"/day");else sprintf(ml,"/min");
if (w==5) sprintf(kzm,".min");
if (w==3) sprintf(kzm,".min");
if (w<3) sprintf(kzm,".day");
sprintf(ch3,ch1);
if (sjgs==3) {sprintf(chh,ch3);
if (strcmp(ch3,"1A0001")==0) sprintf(ch3,"000001");
if (strcmp(ch3,"002A01")==0) sprintf(ch3,"9901 "); }
if (sjgs==2) {sprintf(chh,ch3);
if (strcmp(ch3,"1A0001")==0) sprintf(ch3,"000000");
if (strcmp(ch3,"002A01")==0) sprintf(ch3," 00000"); }
if (strcmp(ch3,"190000")<=0) {
if (strcmp(ch3,"002A01")==0) sprintf(ch3,"2A01");
sprintf(ch0,"%c:%s%s/%s%s",pf,cs[2],ml,ch3,kzm);
} else sprintf(ch0,"%c:%s%s%c%s%s",pf,cs[1],ml,'\\',ch3,kzm);
if (sjgs==2||sjgs==3) sprintf(ch3,chh);
cleardevice();sprintf(f,"txt/%s.nam",ch3);//printf("%s",f);getch();
if ((f3=_fsopen(f,"rb",SH_DENYNO))!=0) {//fseek(f3,102l,1);
fread(&mc,8,1,f3);hxs(63*8,18*24,mc,14);fclose(f3);}
if (w==1) hxs(1*8,18*24,"<日",3);if (w==2) hxs(1*8,18*24,"<周",3);
if (w==3) hxs(1*8,18*24,"<15",3);if (w==4) hxs(1*8,18*24,"<30",3);
if (w==5) hxs(1*8,18*24,"<60",3);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -