1. 用户系统
用户注册(手机号,短信验证码,设置登录密码), 用户登录, 修改登录密码, 交易密码
userid, pid, mobile, region, password, trade_pwd, level, real_name, identity, identity_details(json: 正反面地址), created, updated
身份认证(七牛云保存身份证), 设置提款银行卡, 支付宝(支持账号, 七牛云保存二维码).
userid, payment_type(bank, alipay), payment_account, additional(json: 二维码地址)
交易习惯 - 下单确认, ui 主题颜色…
userid, order_double_confirm, color_mode,
2. 交易系统
- 交易行为:
市价 taker: long/short, 数量, 保证金
触发 taker: 触发价格, long/short, 数量, 保证金
持仓自带止盈止损: 止盈止损按盈亏金额, 推算盈亏百分比, 推算止盈止损价格.
- 交易对列表(附带 ticker 信息)
- K 线: 实时, 1m, 5m, 15m, 30m, 1h, 4h, 6h, 12h, 1d, 1w
(以下功能均分为实盘, 模拟盘)
- 持仓(只考虑正向合约):
持仓列表: long/short, 数量, 保证金, 开仓价格, 开仓时间
结算列表: long/short, 数量, 保证金, 开仓价格, 开仓时间, 平仓价格, 平仓时间
userid, symbol(BTC_USDT), direction(多空方向), price(价格), amont(BTC 数量), stop_win(止盈盈利金额), stop_win_price(止盈价, 以止盈盈利金额配合开仓价计算), stop_loss(止损亏损金额), stop_loss_price(止损价, 以止损亏损金额配合开仓价计算), margin(保证金), leverage(实际杠杆=price * amount/margin), created(开仓时间), updated(平仓时间)
- 触发 taker 订单列表
触发 taker 单独存在一个列表里, 注意设置的时候, 根据当前价格可能直接触发(当前 9800USDT, 可以设置 10000 触发买/卖, 意为价格从低于 9800 突破 10000 执行操作. 当前 9800USDT, 可以设置 9500 触发买/卖, 意为价格)
userid, symbol, trigger_price, direction, amount, margin.
每次标记价格变化的时候, 都要循环一下当前触发价列表, 将触发的添加到持仓列表中.
- 搓单
交易无盘口价差(或者以中间价向外扩多少为价差), 下单即成交(相当于做市商完全对赌模式)无滑点.
用户市价 taker 或者 用户触发 taker, 下单时即将保证金冻结, 未触发的 taker, 撤单返还冻结保证金.
用户市价 taker 或者 用户触发 taker 触发后, 从保证金中扣除手续费.
用户平仓后, 以买卖差价结算盈亏, 扣除手续费后将剩余盈亏返还到用户的可用资产
- 资产: 只有可用资产
userid, freeom, created, updated
- 系统盈亏报表对账
全部用户充币记录(包括 OTC 充币) - 全部用户提币记录(包括 OTC 充币) = 用户净充币
当前全部用户的可用资产和 + 当前全部未实现盈亏(用户所有仓位以当前价格计算后的盈亏) = 用户净资产
系统盈利(手续费+对赌收益) = 用户净充币 - 用户净资产
3. 出入金系统
OTC 场外: 支持 USDT 的买卖, 流动性可以与外部做市商合作, 可以考虑支持虚增的做市系统.
区块链充提: 支持 ERC20, TRC20 的 USDT 充提币
erc20_usdt:
trc20_usdt: userid, type, amount, from_address, to_address, block, txid, confirm, memo, audit, status, created, updated
内部划转: 支持基于手机号, 真实姓名划转
userid, to_userid, mobile, real_name, amount, created, updated.
4. 登录挖矿
挖真实币: BTC, ETH, USDT…
ps: 但是总金额不能超出一定数额
挖虚拟币: 每天登录挖币, 每 10 分钟随机生成一批总量一定的红包(使用红包算法分配数量,给需要发红包的用户在挖币表插入记录), 未领取记录超出 10 条则不生成新的红包.
积攒算力: 做任务积攒算力, 算力越大可领取红包金额越大. 实现方案是红包随机生成好后, 按金额从大到小排序, 所有领红包的人按算力从大到小排序, 之后一对一分配虚拟币.
充值红包: 充值可以随机领取红包, 红包可以抵扣交易手续费, 每天红包金额固定,数量固定,单个红包的金额随机(但是控制在一定波动范围之内).
6. 邀请返佣
等级返佣机制: L1 默认 10%, L2 5 人以上过二级认证且有真实交易 20%, L3 10 人以上过二级认证且有真实交易 30%
生成邀请码, 专属海报(集成邀请链接)
返佣记录: 历史总金额, 当前总金额(扣去已提币), 返佣详细记录 => 定时执行返佣脚本, 根据邀请关系, 将下单记录对应的返佣信息记录存储到返佣表.
7. 客服系统, 帮助系统
新手指南
FAQ 列表, 实现参考: Open KB
Telegram, 微信群, 邮箱.
设计参考
- 24Mex
- IQ Options