当前位置:文档之家› 股票交易资料系统源程序代码介绍

股票交易资料系统源程序代码介绍

股票交易资料系统源程序代码介绍
股票交易资料系统源程序代码介绍

#include

#include

#include

#include

struct Stock{

char Name[10];

int flag; // 1买入2卖出0都是不

float Pri[20];

float Price; // 记录股票当前价格

};

struct Stock S[5]={{"桂冠电力",0},{"华北制药",0},{"S T 金泰",0},{"伊利股份",0},{"柳州重工",0}};

int cishu=0; //全局变量,记录变化的次数

int time1,time2,time3,time4,time5; //全局变量,记录买入股票的时间

float ZhiYin,ZhiSun; //全局变量, 记录用户设定的止盈/止损金额

float Mairujia[5]; //全局变量,记录买入价

float Maichujia[5]; //全局变量,记录卖出价

int Gupiaoshu; //全局变量,设置每次买入股票的数目

int PreNum=0; //记录当前所有的股票数目

float DQGB; //记录当前股本

void print(Stock S[]) //输出函数

{

int i;

system("cls"); /*运行前清屏*/

printf("\n\t\t 〓股票自动交易系统[深市全部列表] 〓\n\n");

printf("\n\t\t股票名称当前股价涨速买/卖\n\n");

for(i=0;i<5;i++)

{

printf("\t\t%s ",S[i].Name); //股票名称

printf("\t%4.2f(元/股) ",S[i].Price); //当前股价(元/股)

if(cishu>0 && cishu<=20) //涨速%

{

if(S[i].Pri[cishu]>S[i].Pri[cishu-1])

printf(" \t+%4.2f",S[i].Pri[cishu]-S[i].Pri[cishu-1]);

else

printf(" \t%4.2f",S[i].Pri[cishu]-S[i].Pri[cishu-1]);

if(S[i].Pri[cishu]>S[i].Pri[cishu-1])

printf("↑");

if(S[i].Pri[cishu]

printf("↓");

if(S[i].flag==0) //显示买入卖出

printf(" ");

if(S[i].flag==1)

printf("买入");

if(S[i].flag==2)

printf("卖出");

}

else

printf("\t\t ");

printf("\n");

printf("\n");

}

printf("\n");

printf("当前你拥有股本为:%4.2f(元)\n当前你拥有股票数:%d(股)\n",DQGB,PreNum);

if(PreNum==0) //因为第一次股票数是零,而零不能作分母,所以在此作一个判定

printf("当前股票成本为:\n");

else

printf("当前股票成本为: %4.2f(元/股)\n",DQGB/PreNum);

}

void change(Stock S[]) //股价动态变化函数

{ cishu++;

int i,j;

for(i=0;i<5;i++)

{

S[i].Price=S[i].Pri[cishu];

}

// 定时买入设置买入标志买入时记下买入价格记录当前股本记录当前拥有的股票数目

if(time1==cishu) { S[0].flag=1; Mairujia[0]=S[0].Price; DQGB+=Gupiaoshu*Mairujia[0]; PreNum+=Gupiaoshu;}

if(time2==cishu) { S[1].flag=1; Mairujia[1]=S[1].Price; DQGB+=Gupiaoshu*Mairujia[1]; PreNum+=Gupiaoshu;}

if(time3==cishu) { S[2].flag=1; Mairujia[2]=S[2].Price; DQGB+=Gupiaoshu*Mairujia[2]; PreNum+=Gupiaoshu;}

if(time4==cishu) { S[3].flag=1; Mairujia[3]=S[3].Price; DQGB+=Gupiaoshu*Mairujia[3]; PreNum+=Gupiaoshu;}

if(time5==cishu) { S[4].flag=1; Mairujia[4]=S[4].Price; DQGB+=Gupiaoshu*Mairujia[4]; PreNum+=Gupiaoshu;}

for(j=0;j<5;j++)

{

if(S[j].flag==1)

if( S[j].Price-Mairujia[j] > ZhiYin ) //止盈

{ //设置卖出标志记录卖出价格记录当前股本记录当前拥有的股票数目

S[j].flag=2; Maichujia[j]=S[j].Price; DQGB-=Gupiaoshu*Maichujia[j];PreNum-=Gupiaoshu;}

if(S[j].flag==1)

if( Mairujia[j]-S[j].Price > ZhiSun ) //止损

{ S[j].flag=2; Maichujia[j]=S[j].Price; DQGB-=Gupiaoshu*Maichujia[j];PreNum-=Gupiaoshu;}

}

}

void main() //主函数

{

int i,j;

printf("\n请输入欲购五支股票买入时间: ___点(24小时制)\n\n");

printf("--");

scanf("%d%d%d%d%d",&time1,&time2,&time3,&time4,&time5);

printf("\n\n请输入每次买入的股票数:__ \n\n--");

scanf("%d",&Gupiaoshu);

printf("\n\n请输入止盈值:__\n\n--");

scanf("%f",&ZhiYin);

printf("\n\n请输入止损值:__\n\n--");

scanf("%f",&ZhiSun);

system("cls"); /*运行前清屏*/

printf("\n\n\n\n\n\n\t\t\t\t正在进入大盘... "); Sleep(5000);

ifstream fin;

fin.open("gupiao.txt");

for(i=0;i<5;i++)

for(j=0;j<20;j++)

fin>>S[i].Pri[j];

fin.close();

for(i=0;i<5;i++) //给股价初始化

S[i].Price=S[i].Pri[0];

for(i=0;i<15;i++)

{

print(S);

Sleep(2000);

change(S);

Sleep(2000);

}

}

/*例如机械的设定正负10%为止损、止盈点,或者一旦从高点下跌5%就止盈

股票成本=(买入股票数*单股股价+买入股票数*单股股价-卖出股票数*单股股价)/现有股票数

*/

相关主题
文本预览
相关文档 最新文档