比特币接口

一、核心接口:账号和策略

1. 账号  账号的编辑提交  L|Json(T_Td) 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class T_Td
    {
        public int chk { get; set; }//是否勾选自动登录
        public int account_id { get; set; }//id
        public string account_no { get; set; }//交易账户
        public string account_pw { get; set; }//交易密码
        public string exchange { get; set; }//交易平台
        public int is_login { get; set; }//是否已经登录
        public int catalog { get; set; }//
        public int status { get; set; }//0待认证,1已认证通过,-1认证失败
        public string remark { get; set; }//登录备注
        public int type { get; set; }//是否模拟账号:1模拟
        public string user_name { get; set; }//账户所有人       
 
        public string apikey { get; set; }//平台授权
        public string secret { get; set; }//平台授权
        public string passphrase { get; set; }//平台授权
    }<br>范例:

提交账户:chk:1立即登录验证 chk:0 停止账号包括相关策略

L|{"chk":1,"account_id":1,"account_no":"530847209@qq.com","account_pw":"123456","exchange":"huobi","is_login":1,"catalog":0,"status":0,"remark":null,"type":0,"user_name":null,"apikey":"b5cc3097-cebead72-rfhfg2mkl3-ab934","secret":"34c494e6-e91d719d-1fc268af-72135","passphrase":""}

返回账户状态: ret:1 成功执行, -1:执行失败

L|ret|{"chk":1,"account_id":1,"account_no":"530847209@qq.com","account_pw":"123456","exchange":"huobi","is_login":1,"catalog":0,"status":0,"remark":"登录成功","type":0,"user_name":null,"apikey":"b5cc3097-cebead72-rfhfg2mkl3-ab934","secret":"34c494e6-e91d719d-1fc268af-72135","passphrase":""}

L|-1|异常信息

2)账号删除:包括相关策略也会删除  LR|Json(T_Td) 

复制代码
LR|{"chk":1,"account_id":1,"account_no":"530847209@qq.com","account_pw":"123456","exchange":"huobi","is_login":1,"catalog":0,"status":0,
"remark":null,"type":0,"user_name":null,
"apikey":"b5cc3097-cebead72-rfhfg2mkl3-ab934","secret":"34c494e6-e91d719d-1fc268af-72135","passphrase":""}

返回: ret:1 成功执行, -1:执行失败 0:未执行,策略本不存在
LR|ret|{"chk":-1,"account_id":1,"account_no":"530847209@qq.com","account_pw":"123456","exchange":"huobi","is_login":1,"catalog":0,"status":0,
"remark":"停止成功","type":0,"user_name":null,"apikey":"b5cc3097-cebead72-rfhfg2mkl3-ab934","secret":"34c494e6-e91d719d-1fc268af-72135","passphrase":""}

LR|-1|异常信息
复制代码

3)帐号查询

1
QL|帐号名<br>返回QL|1|json(T_Td)QL|-1|错误消息

  

2策略:提交、编辑、停止等 S|json(T_Strategy)

复制代码

public class T_Strategy
{
public string _id { get; set; }//名称
public int chk { get; set; } //chk:1运行 0:暂停 

public string stgyname { get; set; }//名称
public string executor { get; set; }//APP用户名
public int run_mode { get; set; } //run_mode:1实盘 0:虚拟

public string stgy_model { get; set; }//模型名
public int dc { get; set; } //交易方向0双向,1只买 -1只卖
public string inst_id { get; set; }//合约1
public string period { get; set; } //交易K线周期
public string param_list { get; set; }//复杂参数,
public string tds { get; set; }//货币交易账户名
public int status { get; set; }//运行状态 0:待执行 1:执行 -1:删除
public string remark { get; set; }//备注
public double vol { get; set; }//运行数量

public string inst_id2 { get; set; }//合约2,用于套利,暂时不用
public double vol2 { get; set; }//暂时不用

}
提交:  
S|{"_id":"","chk":1,"stgyname":"530847209","executor":"","run_mode":0,"stgy_model":"马丁简化","dc":0,"inst_id":"huobi:btcusdt","remark":"",
"inst_id2":"","period":"15m","cash1:60,mul:2,num:8,back1:0.0035,fd2:0.03,back2:0.002,winfd:0.015,winback:0.001,stopfd:0,redo:1,fdlist:0.01|0.02",
"tds":"530847209@qq.com","status":1,"vol":1.0,"vol2":0.0}

参数fdlist 阶梯加仓幅度 0.01|0.02...... 数量可以不确定,加仓幅度顺序从第一个值开始,不足加仓次数的以fd2值代替

返回:
 ret:1 成功执行, -1:执行失败
S|ret|{"_id":"","chk":1,"stgyname":"530847209","executor":"","run_mode":0,"stgy_model":"马丁简化","dc":0,"inst_id":"huobi:btcusdt","remark":"",
"inst_id2":"","period":"15m","param_list":"cash1:10000,mul:0.5,num:10,back1:0.005,fd2:0.02,back2:0.002,winfd:0.013,winback:0.001,stopfd:0,redo:1",

"tds":"530847209@qq.com","status":1,"vol":1.0,"vol2":0.0}
 S|-1|异常信息
复制代码

2)策略删除: SR|json(T_Strategy)

复制代码
SR|{"_id":"","chk":1,"stgyname":"530847209","executor":"","run_mode":0,"stgy_model":"马丁简化","dc":0,"inst_id":"huobi:btcusdt","remark":"",
"inst_id2":"","period":"15m","param_list":"cash1:10000,mul:0.5,num:10,back1:0.005,fd2:0.02,back2:0.002,winfd:0.013,winback:0.001,stopfd:0,redo:1",

"tds":"530847209@qq.com","status":1,"vol":1.0,"vol2":0.0}

返回:
ret:1 成功执行, -1:执行失败 0:未执行,策略本不存在
SR|ret|{"_id":"","chk":-1,"stgyname":"530847209","executor":"","run_mode":0,"stgy_model":"马丁简化","dc":0,"inst_id":"huobi:btcusdt","remark":"删除成功",
"inst_id2":"","period":"15m","param_list":"cash1:10000,mul:0.5,num:10,back1:0.005,fd2:0.02,back2:0.002,winfd:0.013,winback:0.001,stopfd:0,redo:1",
"tds":"530847209@qq.com","status":1,"vol":1.0,"vol2":0.0}
 SR|-1|异常信息
复制代码

 3)查询策略内容

1
QS|{stgyname:"ddd"}返回 QS|1|json(T_Strategy) QS|-1|错误消息

 4)查询策略运行时状态

 

 

复制代码
public class T_StgyRunInfo{
public
string stgyname { get; set; }//名称 public double amount { get; set; }//帐号持仓量 public double po { get; set; }//策略持仓量 public double avg { get; set; }//持仓均价 public double margin { get; set; }//策略持仓金额

  public double profit { get; set; }//盈亏
  public string fd { get; set; }//盈亏幅度,自带%


public string fd { get; set; }//盈亏幅度
public int num_open { get; set; }//买入次数
public int num_close { get; set; }//卖出次数
public string last_order { get; set; }//最后报单原因
public string run_msg { get; set; }//运行过程信息
public int status { get; set; }//运行状态 0:待执行 1:执行 -1:删除
}

查询:
QR|{stgyname:"ddd"}
返回:
QR|1|json(T_StgyRunInfo)
QR|-1|错误信息
复制代码

 

5) 查询账号美元资金数

 
查询:
QM|{account_no:"ddd"}
返回:
QM|1|{amount:100.0}   
QM|-1|错误信息

 

 

二、行情

 

1.行情  从数据库获取 mongodb T_Json

复制代码
 public class T_Tick
    {
        public string sid { get; set; }//合约+交易所
        public string InstId { get; set; }
        public string Exchange { get; set; }
        public DateTime T { get; set; } //当前日期+数据时间    
        public double hm { get; set; } //时间 
        public double O { get; set; }
        public double L { get; set; }
        public double H { get; set; }
        public double C { get; set; }
        public double Fd { get; set; }//幅度
        public double Bid { get; set; }//买一
        public double Ask { get; set; }//卖一
        public int BVol { get; set; }//买一量
        public int AVol { get; set; }//卖一量
        public int dV { get; set; }   //成交量
        public double PreC { get; set; } //前收
}

{
"_id" : ObjectId("6078dd379fee2043b0eab5ed"),
"json" : "[{\"sid\":\"huobi:btcusdt\",\"InstId\":\"btcusdt\",\"Exchange\":\"huobi\",\"T\":\"2021-04-16T00:46:49.529Z\",\"hm\":0.0,\"O\":0.0,\"L\":0.0,\"H\":0.0,\"C\":63486.08,\"Fd\":0.0,\"Bid\":63486.07,\"Ask\":63486.08,\"dV\":0.0,\"PreC\":0.0,\"kid\":null}]",
"dt" : ISODate("2021-04-16T00:46:50.798Z"),
"name" : "ticks"
}

复制代码

2.K线数据 从数据库获取,mongodb T_Bar

复制代码
 public class T_Bar
    {
        public string tid { get; set; }
        public string inst_id { get; set; }//合约
        public string period { get; set; }//周期
        public DateTime T { get; set; }//时间
        public double O { get; set; }//开盘价
        public double H { get; set; }//最高价
        public double L { get; set; }//最低价
        public double C { get; set; }//最新价
        public double Fd { get; set; }//幅度
        public double V { get; set; }//交易量
        public long T0 { get; set; }//开始时间,内部用
        public long T2 { get; set; }//结束时间,内部用
}
复制代码

3.合约数据 mongodb T_Inst

复制代码
 public class T_Inst
    {
        public string sid { get; set; } //exchage:instcode
        public string InstId { get; set; }
        public string InstType { get; set; }//spot margin swap
        public string InstName { get; set; }
        public string Currency { get; set; }//计价货币 usdt btc
        public string ProductId { get; set; }// usdt btc
        public string Exchange { get; set; }
        public int Multi { get; set; }
        public double PriceTick { get; set; }
        public double SizeTick { get; set; }
        public string Catalog { get; set; }//
        public int ExpireDate { get; set; }//到期日/最后交易日 20191225
        public double ExcutePrice { get; set; }// 执行价
        public int DC { get; set; }//看涨看跌0,1
}
复制代码

 

2.权益 显示账号权益  消息: QM|Json(T_Amount) 

复制代码
public class T_Amount
    {
        public string keyid { get; set; } //按日存放的唯一标识
        public string user_name { get; set; }//帐号ID
        public int account_id { get; set; }  //帐号 
        public string account_no { get; set; }  //帐号
        public string exchage { get; set; }  //交易所
        public string currency { get; set; }  //货币
        public double amount { get; set; } //权益
        public double avaiable { get; set; } //可用
        public double margin { get; set; } //冻结保证金
        public double cash { get; set; } //出入金
        public double fee { get; set; } //手续费
        public double po_profit { get; set; } //持仓盈亏
        public double close_profit { get; set; } //平仓盈亏
        public double pre_amount { get; set; } //上日权益
        public double balance { get; set; } //净资产=入金-出金-+ 平仓盈亏-手续费
        public double pre_balance { get; set; }//上日净资产

        public double profit { get; set; } //净收益
        public double day_rate { get; set; } //日收益率
        
        public DateTime T { get; set; } //更新时间
        public int day { get; set; } //交易日 内部用
}
复制代码

 

3.报单  显示最近报单状态 消息: O|Json(T_Order) 

复制代码
 public class T_Order
    {
        public string keyid { get; set; } //按日存放的唯一标识
        public int account_id { get; set; }  //帐号 
        public string account_no { get; set; }  //帐号        
        public string inst_id { get; set; }//合约
        public int dc { get; set; } //买0、卖1
        public int kp { get; set; } //开0,平1
        public double price { get; set; }//报单价
        public double avg_price { get; set; }//成交均价
        public double vol { get; set; } //报单量
        public double vol_traded { get; set; } //已成交量
        public double vol_closed { get; set; } //用于计算,不显示
public double fee //费用
public double margin //花费资金
public double profit //盈亏 public string status { get; set; } //报单状态 public string sys_id { get; set; }//系统报单号 public string local_id { get; set; }//本地报单号 public string ref_id { get; set; }//参考Id,存放策略名 stgyname public int keep_price { get; set; }//是否追价 public string from { get; set; } //来源 public string comment { get; set; } //备注 public int day { get; set; }//交易日 public int cancel_slop { get; set; } //追价滑点, public int cancel_ns { get; set; } //N秒未成交撤单 public int re_slop { get; set; } //重报价滑点 public DateTime insert_time { get; set; }// public DateTime update_time { get; set; }// public int restype { get; set; }//相应方式,即时 历史-1 查询 }
//报单状态中英文

public class OrderStatusEnum
{
public const string canceled = "canceled";
public const string submit = "submit";
public const string completed = "completed";

public const string canceledCN = "已撤单";
public const string submitCN = "报单中";
public const string completedCN = "已成交";

}

复制代码

4.成交 仅显示, 消息: T|Json(T_Trade) 

复制代码
 public class T_Trade
    {
        public string keyid { get; set; } //按日存放的唯一标识
        public int account_id { get; set; }  //帐号 
        public string account_no { get; set; }  //帐号
        public string sys_id { get; set; }//成交ID
        public string order_id { get; set; }//报单号
        public string inst_id { get; set; }//合约
        public string inst_name { get; set; }//合约名
        public int dc { get; set; }//买0、卖1
        public int kp { get; set; } //开0,平1
        public double price { get; set; }//成交价
        public double vol { get; set; } //成交量
        public double vol_open { get; set; } //未平仓量,用于计算
        public int day { get; set; }//交易日
        public DateTime deal_time { get; set; }//成交时间
        public double profit { get; set; } //对平仓和持仓   
        public double fee { get; set; } //手续费
        public double status { get; set; } //结算状态
        public int restype { get; set; }//相应方式,即时 历史-1 查询
}
复制代码

 

仓位处理:

复制代码
V|{inst_id:"",account_no:"",stgyname:"",vol:0,chk:-1}

0:清仓 >0 加仓 <0 减仓
chk:-1 删除策略 0:停止策略
返回: 正常 :V|1|JSON(T_Order) 错误: V|-1|错误信息;

设计有些问题,应该返回 V|1|提示信息
复制代码

 

posted @   11ge  阅读(441)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示