📄 hangqingkuaiche4.c
字号:
hxs(4*8,18*24,"线>F1必涨 F2熊市克星 F3穿3线 F4搜股 F7代码更新 H帮助 *指标",3);
if ((f3=_fsopen(ch0,"rb",SH_DENYNO))!=0){
cjl0[1]=0l;xz=0;textcolor(3); hxs(74*8,18*23,ch3,3);fseek(f3,0,2);
if ((sjgs==0&&tz>=ftell(f3)/16)||((sjgs==1||sjgs==3||sjgs==4)&&tz>=ftell(f3)/40)||
(sjgs==2&&tz>=ftell(f3)/29))
{fclose(f3);hxs(26*8,12*18," 此日无该股资料!",3);return;}
if (sjgs==0) zj=ftell(f3)/16-tz; if (sjgs==1||sjgs==3||sjgs==4) zj=ftell(f3)/40-tz;
if (sjgs==2) zj=ftell(f3)/29-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==1||sjgs==3||sjgs==4) fseek(f3,-40l*(tz+1),2);
if (sjgs==2) fseek(f3,-29l*(tz+1),2); if (w==3) zj=zj/6; if (w==4) zj=zj/12l;
for (i=0;i<min(ts+250,zj);i++)
{if (sjgs==0) {fread(&zs0[i+1],10,1,f3);
fread(&cjl1[i+1],2,1,f3);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];cjl1[i+1]=-1*c[5];}
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,-40l,1);
if (sjgs==2) fseek(f3,-29,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,-40l,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];}
setcolor(4);setlinestyle(1,1,1);line(0,0,0,0);line(1,230,580,230);
line(0,10,580,10);line(0,71,580,71);line(0,141,580,141);setlinestyle(0,0,1);
line(0,0,580,0);line(0,300,580,300);line(580,0,580,430);line(0,0,0,430);
line(0,429,640,429);line(0,220,580,220);setcolor(12);
if (zs0[0][2]==zs0[0][3]) return;
itoa(zs0[0][2],chh,10);outtextxy(580,4,chh);itoa(zs0[0][3],chh,10);
outtextxy(580,210,chh);itoa(2*zs0[0][2]/3.0+zs0[0][3]/3.0,chh,10);
outtextxy(580,71,chh);itoa(zs0[0][2]/3.0+2*zs0[0][3]/3.0,chh,10);
outtextxy(580,141,chh);setcolor(14);ltoa(cjl0[0],rq0,10);
outtextxy(580,222,rq0);ltoa(2*cjl0[0]/3.0,rq0,10);outtextxy(580,247,rq0);
ltoa(cjl0[0]/3.0,rq0,10);outtextxy(580,272,rq0);
//K线和量
for (i=max(ts-zj,0);i<ts;i++) {
if (zs0[ts-i][1]<=zs0[ts-i][4]) setcolor(12);
if (zs0[ts-i][1]>zs0[ts-i][4]) setcolor(3);
x=219.0-208.0*(zs0[ts-i][1]-zs0[0][3])/(zs0[0][2]-zs0[0][3]);
y=219.0-208.0*(zs0[ts-i][4]-zs0[0][3])/(zs0[0][2]-zs0[0][3]);
x1=219.0-208.0*(zs0[ts-i][2]-zs0[0][3])/(zs0[0][2]-zs0[0][3]);
y1=219.0-208.0*(zs0[ts-i][3]-zs0[0][3])/(zs0[0][2]-zs0[0][3]);
if (y<=x) setfillstyle(0,12); else setfillstyle(1,3);
if (x>y) { line(kd*i+kd/2+1,x1,kd*i+kd/2+1,y); line(kd*i+kd/2+1,x,kd*i+kd/2+1,y1); }
else { line(kd*i+kd/2+1,x1,kd*i+kd/2+1,x); line(kd*i+kd/2+1,y,kd*i+kd/2+1,y1); }
bar3d(kd*i+kd/2+1-kd/3,x,kd*i+kd/2+1+kd/3,y,0,0);
x1=302.0-(70.0*cjl0[ts-i])/cjl0[0];
bar3d(kd*i+kd/2+1-kd/3,x1,kd*i+kd/2+1+kd/3,299,0,0);} setcolor(14);
//移动平均量
x=0;for (gd=0;gd<5;gd++) x=x+cjl0[xz+gd+1];x=x/5;
setcolor(0);outtextxy(100,222,"圹圹圹圹圹?);setcolor(14);outtextxy(40,222,"5PMV");
ltoa(x,chh,10);outtextxy(100,222,chh);
x=0;for (gd=0;gd<10;gd++) x=x+cjl0[xz+gd+1];x=x/10;
setcolor(0);outtextxy(250,222,"圹圹圹圹圹?);setcolor(13);outtextxy(190,222,"10PMV");
ltoa(x,chh,10);outtextxy(250,222,chh);
//均量线
for (i=max(ts-zj,0);i<ts;i++) {
if (zj>ts-i+4) {x=0;x1=0;for (gd=0;gd<5;gd++) x=x+cjl0[ts-i+gd];
y=302.0-(70.0*(x/5.0)/cjl0[0]);
for (gd=0;gd<5;gd++) x1=x1+cjl0[ts-i+1+gd];
y1=302.0-(70.0*(x1/5.0)/cjl0[0]);if (y<300&&y1<300&&y>220&&y1>220)
line(kd*i+kd/2+1,y,kd*(i-1)+kd/2+1,y1);setcolor(13); }
if (zj>ts-i+9) {x=0;x1=0;for (gd=0;gd<10;gd++) x=x+cjl0[ts-i+gd];
y=302.0-(70.0*(x/10.0)/cjl0[0]);
for (gd=0;gd<10;gd++) x1=x1+cjl0[ts-i+1+gd];
y1=302.0-(70.0*(x1/10.0)/cjl0[0]);if (y<300&&y1<300&&y>220&&y1>220)
line(kd*i+kd/2+1,y,kd*(i-1)+kd/2+1,y1);setcolor(14);}}
//移动平均线
x=0;for (gd=0;gd<5;gd++) x=x+zs0[xz+gd+1][4];x=x/5.0;
setcolor(0);outtextxy(45,2,"圹圹圹?);setcolor(14);outtextxy(5,2,"5PMA");
gcvt((double)x/100.,5,chh);outtextxy(45,2,chh);
x=0;for (gd=0;gd<10;gd++) x=x+zs0[xz+gd+1][4];x=x/10.0;
setcolor(0);outtextxy(135,2,"圹圹圹?);setcolor(13);outtextxy(95,2,"10PM");
gcvt((double)x/100.,5,chh);outtextxy(135,2,chh);
x=0;for (gd=0;gd<20;gd++) x=x+zs0[xz+gd+1][4];x=x/20.0;
setcolor(0);outtextxy(220,2,"圹圹圹?);setcolor(9);outtextxy(185,2,"20PM");
gcvt((double)x/100.,5,chh);outtextxy(220,2,chh);
x=0;for (gd=0;gd<30;gd++) x=x+zs0[xz+gd+1][4];x=x/30.0;
setcolor(0);outtextxy(310,2,"圹圹圹?);setcolor(2);outtextxy(275,2,"30PM");
gcvt((double)x/100.,5,chh);outtextxy(310,2,chh);
x=0;for (gd=0;gd<75;gd++) x=x+zs0[xz+gd+1][4];x=x/75.0;
setcolor(0);outtextxy(405,2,"圹圹圹?);setcolor(6);outtextxy(365,2,"75PM");
gcvt((double)x/100.,5,chh);outtextxy(405,2,chh);
x=0;for (gd=0;gd<150;gd++) x=x+zs0[xz+gd+1][4];x=x/150.0;
setcolor(0);outtextxy(500,2,"圹圹圹?);setcolor(7);outtextxy(455,2,"150PM");
gcvt((double)x/100.,5,chh);outtextxy(500,2,chh);
//均线
for (i=max(ts-zj,0);i<ts;i++) {
if (zj>ts-i+74) {setcolor(6);
x=0;x1=0;for (gd=0;gd<75;gd++) x=x+zs0[ts-i+gd][4];
y=219.0-208.0*(x/75.0-zs0[0][3])/(zs0[0][2]-zs0[0][3]);
for (gd=0;gd<75;gd++) x1=x1+zs0[ts-i+1+gd][4];
y1=219.0-208.0*(x1/75.0-zs0[0][3])/(zs0[0][2]-zs0[0][3]);
if (y<219&&y1<219&&y>10&&y1>10)
line(kd*i+kd/2+1,y,kd*(i-1)+kd/2+1,y1);setcolor(13); }
if (zj>ts-i+149) {setcolor(7);
x=0;x1=0;for (gd=0;gd<150;gd++) x=x+zs0[ts-i+gd][4];
y=219.0-208.0*(x/150.0-zs0[0][3])/(zs0[0][2]-zs0[0][3]);
for (gd=0;gd<150;gd++) x1=x1+zs0[ts-i+1+gd][4];
y1=219.0-208.0*(x1/150.0-zs0[0][3])/(zs0[0][2]-zs0[0][3]);
if (y<219&&y1<219&&y>10&&y1>10)
line(kd*i+kd/2+1,y,kd*(i-1)+kd/2+1,y1);setcolor(13); }
if (zj>ts-i+4) {setcolor(14);
x=0;x1=0;for (gd=0;gd<5;gd++) x=x+zs0[ts-i+gd][4];
y=219.0-208.0*(x/5.0-zs0[0][3])/(zs0[0][2]-zs0[0][3]);
for (gd=0;gd<5;gd++) x1=x1+zs0[ts-i+1+gd][4];
y1=219.0-208.0*(x1/5.0-zs0[0][3])/(zs0[0][2]-zs0[0][3]);
if (y<219&&y1<219&&y>10&&y1>10)
line(kd*i+kd/2+1,y,kd*(i-1)+kd/2+1,y1);setcolor(9); }
if (zj>ts-i+19) {
x=0;x1=0;for (gd=0;gd<20;gd++) x=x+zs0[ts-i+gd][4];
y=219.0-208.0*(x/20.0-zs0[0][3])/(zs0[0][2]-zs0[0][3]);
for (gd=0;gd<20;gd++) x1=x1+zs0[ts-i+1+gd][4];
y1=219.0-208.0*(x1/20.0-zs0[0][3])/(zs0[0][2]-zs0[0][3]);
if (y<219&&y1<219&&y>10&&y1>10)
line(kd*i+kd/2+1,y,kd*(i-1)+kd/2+1,y1);setcolor(13);}
if (zj>ts-i+9) {
x=0;x1=0;for (gd=0;gd<10;gd++) x=x+zs0[ts-i+gd][4];
y=219.0-208.0*(x/10.0-zs0[0][3])/(zs0[0][2]-zs0[0][3]);
for (gd=0;gd<10;gd++) x1=x1+zs0[ts-i+1+gd][4];
y1=219.0-208.0*(x1/10.0-zs0[0][3])/(zs0[0][2]-zs0[0][3]);
if (y<219&&y1<219&&y>10&&y1>10)
line(kd*i+kd/2+1,y,kd*(i-1)+kd/2+1,y1);setcolor(2);}
if (zj>ts-i+29) {
x=0;x1=0;for (gd=0;gd<30;gd++) x=x+zs0[ts-i+gd][4];
y=219.0-208.0*(x/30.0-zs0[0][3])/(zs0[0][2]-zs0[0][3]);
for (gd=0;gd<30;gd++) x1=x1+zs0[ts-i+1+gd][4];
y1=219.0-208.0*(x1/30.0-zs0[0][3])/(zs0[0][2]-zs0[0][3]);
if (y<219&&y1<219&&y>10&&y1>10)
line(kd*i+kd/2+1,y,kd*(i-1)+kd/2+1,y1);}}
disp_zb(zb);return;}
}
void zxfs(void) {//周线
if (w==2) {zs0[0][0]=zs0[i+1][0];zs0[0][4]=zs0[i+1][4];
zs0[0][2]=zs0[i+1][2];zs0[0][3]=zs0[i+1][3];cjl0[0]=cjl0[i+1];
cjl1[0]=cjl1[i+1]; zs0[999][0]=zs0[0][0];x=zs0[0][0];
x=x/1000+(9000+100*((x%1000-1)/12)+(x%1000-1)%12+1)*100;
s.tm_mday=1;s.tm_mon=0;s.tm_year=x/10000l;
t=mktime(&s);y=s.tm_wday;
s.tm_mon=(x%10000)/100-1;s.tm_mday=x%100;t=mktime(&s);
y1=(s.tm_yday+y)/7+1;zs0[999][1]=zs0[i+1][1];
while (ftell(f3)!=0L) {
if (sjgs==0) {fseek(f3,-16,1);fread(&done,2,1,f3);fseek(f3,-2,1);}
if (sjgs==1||sjgs==3||sjgs==4) {fseek(f3,-40,1); fread(&c[0],4,1,f3);
fseek(f3,-4,1); if (sjgs==4) c[0]=-1*c[0]-1;
done=(c[0]%100)*1000+(c[0]/10000-1990)*12+(c[0]%10000)/100;}
if (sjgs==2) {fseek(f3,-29,1); fread(&c[0],4,1,f3);fseek(f3,-4,1);
done=(c[0]%100)*1000+(c[0]/10000-1990)*12+(c[0]%10000)/100;}
x=done;x=x/1000+(9000+100*((x%1000-1)/12)+(x%1000-1)%12+1)*100;
s.tm_mday=1;s.tm_mon=0;s.tm_year=x/10000;t=mktime(&s);y=s.tm_wday;
s.tm_mon=(x%10000)/100-1;s.tm_mday=x%100;s.tm_year=x/10000;t=mktime(&s);
if ((s.tm_yday+y)/7+1!=y1) {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);
break;} y1=(s.tm_yday+y)/7+1;if (sjgs==0) {fread(&zs0[999],10,1,f3);
fseek(f3,2,1);fread(&cjl0[999],4,1,f3);fseek(f3,-16,1);}
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[999][j]=c[j]/10;}
zs0[999][0]=(c[0]%100)*1000+(c[0]/10000-1990)*12+(c[0]%10000)/100;
fseek(f3,12,1);cjl0[999]=c[6];fseek(f3,-40,1);}
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[999][j]=-1*c[j]/10;}
zs0[999][2]=-1*c[3]/10;zs0[999][3]=-1*c[4]/10;zs0[999][4]=-1*c[2]/10;
c[0]=-1*c[0]-1;zs0[999][0]=(c[0]%100)*1000+(c[0]/10000-1990)*12+(c[0]%10000)/100;
fseek(f3,12,1);cjl0[999]=-1*c[6];cjl1[999]=-1*c[5];fseek(f3,-40,1);}
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[999][j]=fd[j-1]*100;}
zs0[999][0]=(c[0]%100)*1000+(c[0]/10000-1990)*12+(c[0]%10000)/100;
fseek(f3,1,1);cjl0[999]=c[6]/100;fseek(f3,-29,1);}
zs0[0][2]=max(zs0[0][2],zs0[999][2]);zs0[0][3]=min(zs0[0][3],zs0[999][3]);
cjl0[0]=cjl0[0]+cjl0[999];cjl1[0]=cjl1[0]+cjl1[999];}zs0[i+1][0]=zs0[0][0];
zs0[i+1][4]=zs0[0][4];zs0[i+1][2]=zs0[0][2];zs0[i+1][3]=zs0[0][3];
zs0[i+1][1]=zs0[999][1];cjl0[i+1]=cjl0[0];cjl1[i+1]=cjl1[0];
}
//30,60线
// /*
if (w>2) {zs0[0][0]=zs0[i+1][0];zs0[0][4]=zs0[i+1][4];zs0[0][2]=zs0[i+1][2];
zs0[0][3]=zs0[i+1][3];cjl0[0]=cjl0[i+1];cjl1[0]=cjl1[i+1];
zs0[999][0]=zs0[0][0];x=zs0[0][0];x=c[0];
if (x%10000>1200) x=(x/10000)*10+(x%10000-1300)/60+5;
else x=(x/10000)*10+(x%10000-950)/60+1; zs0[0][0]=x;
zs0[999][1]=zs0[i+1][1];ls=0;if (w==3) gd=2;if (w==4) gd=5;if (w==5) gd=11;
while (ftell(f3)!=0&&ls<gd) {ls++; 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 (sjgs==0) {fread(&zs0[999],10,1,f3);
fseek(f3,2,1);fread(&cjl0[999],4,1,f3);fseek(f3,-16,1);}
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[999][j]=c[j]/10;}
zs0[999][0]=(c[0]%100)*1000+(c[0]/10000-1990)*12+(c[0]%10000)/100;
fseek(f3,12,1);cjl0[999]=c[6];fseek(f3,-40,1);}
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[999][j]=-1*c[j]/10;}
zs0[999][2]=-1*c[3]/10;zs0[999][3]=-1*c[4]/10;zs0[999][4]=-1*c[2]/10;
c[0]=-1*c[0]-1;zs0[999][0]=(c[0]%100)*1000+(c[0]/10000-1990)*12+(c[0]%10000)/100;
fseek(f3,12,1);cjl0[999]=-1*c[6];cjl1[999]=-1*c[5];fseek(f3,-40,1);}
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[999][j]=fd[j-1]*100;}
zs0[999][0]=(c[0]%100)*1000+(c[0]/10000-1990)*12+(c[0]%10000)/100;
fseek(f3,1,1);cjl0[999]=c[6]/100;fseek(f3,-29,1);}
zs0[0][2]=max(zs0[0][2],zs0[999][2]);zs0[0][3]=min(zs0[0][3],zs0[999][3]);
cjl0[0]=cjl0[0]+cjl0[999];cjl1[0]=cjl1[0]+cjl1[999];}
zs0[i+1][0]=zs0[0][0];zs0[i+1][4]=zs0[0][4];zs0[i+1][2]=zs0[0][2];
zs0[i+1][3]=zs0[0][3];zs0[i+1][1]=zs0[999][1];cjl0[i+1]=cjl0[0];
cjl1[i+1]=cjl1[0];}
return;}
//hzk
void dis24hz(int x16,long int y16,char *p,int color)
{char m[32],n[32];char far *adr;long offset;
int qm,wm,i,j;adr=(char far *)(0xa0000000+y16*80+x16/8);qm=(*p-0xa1)&0x7f;
wm=(*++p-0xa1)&0x7f;offset=(qm*94+wm)*32L;fseek(fp,offset,0);
fread(m,32,1,fp);
for(i=0;i<16;i++) for(j=0;j<2;j++){outport(0x3ce,0x0205);outport(0x3ce,0x08);
outport(0x3cf,m[2*i+j]);kk=*(adr+80*i+j);*(adr+80*i+j)=color;} }
void hxs(int x16,long int y16,char *s16,int color)
{char buf[16];long int add;int i,j;
while (*s16!=NULL) {while (x16<640&&*s16!=NULL)
{if (*s16>=' '&&*s16<='~') {
add=(*s16)*16L;fseek(fas,add,0);fread(buf,16,1,fas);
for (i=0;i<16;i++) for (j=0;j<8;j++)
if ((buf[i]>>7-j)&1) putpixel(x16+j,y16+i,color);x16+=8;s16+=1;
} else{ dis24hz(x16,y16,s16,color);x16+=16;s16+=2;}};}
return;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -