macd指标分析 交易代码 c++

这个C++程序实现了MACD指标计算及交易策略。通过读取文件夹中的交易数据,根据MACD变化进行买入和卖出操作,并考虑了止盈止损策略。程序计算了交易的总盈亏,并在不同MACD交叉点执行买卖操作。
摘要由CSDN通过智能技术生成
#include<stdio.h>
#include<fstream>
#include<cstring>
#include<string>
#include<iostream>
#include<vector>
#include<stdlib.h>
#include <sys/types.h>
#include <dirent.h>
#include <sys/stat.h>
using namespace std;


const int N=1000000;//估计交易次数
//止盈止损
class Cut{
	public:
		Cut(double win,double lose){
			wincut=win;
			losecut=lose;
		}
		double wincut;
		double losecut;
};

//实时记录交易状态
/*class Me{
  public:
  Me(){
  Kong = true;
  buy = 0;
  }
  private:
  bool Kong; //做空或者做多
  int buy; //价格
  int mout; //数量

  };*/
class Trade{
	public:
		string date;
		string time;
		double price;
		bool bull;
		bool i_buy;

};

//总交易信息
class Trade_status{
	public:
		Trade_status(){
			all_Trade.reserve(1000000);
			double shoucheng=0;
		}
		vector<Trade> all_Trade;
		//		vector<string> time[N]; //交易时间
		//		vector<int> price[N]; //交易价格
		//		vector<int> wol[N]; //每笔盈亏
		double shoucheng; //总盈亏
};

class each_info{
	public:
		string date;
		string time;
		int b_price;
		int b_num;
		int s_price;
		int s_num;
		int deal;
};

//计算macd所用的数据
double macd=0.0;
double EMA_12=0.0;
double EMA_26=0.0;
double close_p=0.0;//收盘价格
double DEA=0.0;
double DIF=0.0;

//macd计算函数
inline double  cout_macd(double macd, double &EMA_12, double &EMA_26, double &close_p, double &DEA, double &DIF)
{
	EMA_12 = EMA_12*11.0/13.0 + close_p*2.0/13.0;
	EMA_26 = EMA_26*25.0/27.0 + close_p*2.0/27.0;
	DIF = EMA_
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值