跨平台价差交易系统开发需求

Şartname

跨平台价差交易系统开发需求 Bitget—Bybit CFD 跨平台价差交易系统开发需求

一、交易目的

程序同时监控 Bitget 和 Bybit 两个 MT5 账户。

同一标的出现可盈利价差时:

·  价格高的平台做空;

·  价格低的平台做多;

·  两边同时开仓、补仓和平仓;

·  获取两个平台价格差缩小后的利润。

不判断标的涨跌,全部使用市价单,不使用交易所 API 。


二、程序结构

同一台 Windows 服务器运行:

·  Bitget MT5 +一个 EA ;

·  Bybit MT5 +一个 EA ;

·  一个本地总控制程序。

两个 EA 负责读取报价、账户、持仓和执行订单。

总控制程序负责:

·  比较两个平台价格;

·  选择交易标的;

·  计算开仓成本;

·  发出开仓、补仓、平仓命令;

·  处理单边成交;

·  执行 8% 熔断。


三、交易标的

每个整点重新筛选一次。

规则:

1.  只统计 Bitget 和 Bybit 双方都有的 CFD 标的;

2.  统计上一完整小时的成交额;

3.  两个平台同一标的成交额相加;

4.  排名前 5 的标的,进入下一小时交易名单。

如果平台不提供真实成交量,则使用上一小时 Tick 活跃度排名,并在界面注明“活跃度排名”。

已经持仓的标的掉出前 5 名后:

·  可以继续持有和平仓;

·  不再开首仓;

·  不再补仓。

标的名称可能带不同后缀,必须建立人工确认的对应表。


四、实时报价

每个平台出现新报价后,立即重新计算价差。

读取:

·  Bid :当前可以卖出的价格;

·  Ask :当前可以买入的价格;

·  毫秒报价时间。

Bitget 价格高

价差= Bitget   Bid - Bybit  Ask

交易方向:

Bitget 做空
Bybit 做多

Bybit 价格高

价差= Bybit   Bid - Bitget  Ask

交易方向:

Bybit 做空
Bitget 做多

必须使用 Bid 和 Ask ,不能使用中间价、 K 线收盘价或 Last 价格。

如果两个平台报价时间相差过大,禁止开仓,避免使用旧报价。


五、开仓成本

每个平台、每个标的单独设置:

·  每手手续费;

·  合约大小;

·  最大点差缓冲;

·  最小手数;

·  手数增加间隔。

开仓最低价差:

最低价差
=双边手续费 ÷每手合约大小
+ Bitget 最大点差缓冲
+ Bybit 最大点差缓冲

只有:

当前可成交价差>最低价差

才允许开仓。

黄金初始参数

XAUUSD : 1 手= 100 盎司
Bitget 手续费: 6 美元 / 手
Bybit 手续费: 6 美元 / 手
Bitget 最大点差缓冲: 0.30 美元
Bybit 最大点差缓冲: 0.30 美元

因此:

手续费价格差= 12 ÷ 100 = 0.12 美元
最低开仓价差= 0.12 + 0.30 + 0.30 = 0.72 美元

例如:

Bitget Bid = 4100.90
Bybit Ask = 4100.10
价差= 0.80 美元

0.80 大于 0.72 ,可以开仓:

Bitget 做空
Bybit 做多

手续费和最大点差缓冲必须可以人工修改,不能永久写死。


六、开仓量

每次开仓,每个平台使用该账户当前净值的 2% 作为保证金预算。

程序根据 MT5 实际保证金计算可开的手数。

两边匹配的是实际合约数量:

实际数量=手数 ×合约大小

两边实际数量必须相同。

如果合约大小不同,按合约大小换算手数,并以可开数量较小的一边为准。


七、总持仓上限

单个平台全部策略持仓占用的保证金,不得超过该账户当前净值的 20% 。

达到 20% 后:

·  禁止新开仓;

·  禁止补仓;

·  只允许管理和平掉现有仓位。


八、补仓

首仓成交时记录价差:

首仓差价= S

价差继续扩大时等量补仓:

2S :补一次
3S :再补一次
4S :再补一次
……

例如首仓价差为 0.80 美元:

0.80 :首仓
1.60 :补一次
2.40 :再补一次
3.20 :再补一次

每次补仓:

·  两个平台同时执行;

·  方向不变;

·  数量与首仓相同;

·  同一倍数只补一次;

·  单个平台总持仓不得超过 20% 。


九、平仓

该标的从首仓两边成交完成起,正常持仓不得低于 5 分钟。

满 5 分钟后,按照两个平台当前真实 Bid 和 Ask 计算:

Bitget 全部仓位盈亏
+ Bybit 全部仓位盈亏
-手续费
-隔夜费
-其他费用

只要两边同时全部平仓后的净利润大于 0 ,立即同时市价平仓。

以下情况不受 5 分钟限制:

·  触发 8% 熔断;

·  一边成交、另一边失败;

·  两边持仓数量不一致;

·  一个 MT5 断线;

·  平台停止报价或只允许平仓。


十、双边下单失败

两个平台必须同时发送订单。

如果一边成交,另一边失败:

1.  立即再次补上失败的一边;

2.  仍然失败,立即平掉已经成交的一边;

3.  暂停该标的;

4.  保存实际损失和拒单原因;

5.  人工确认后才能恢复。

两边持仓数量不一致时,禁止继续开仓和补仓。


十一、 8% 总账户熔断

策略启动时记录:

起始总净值
= Bitget 账户净值+ Bybit 账户净值

运行中持续计算:

当前总净值
= Bitget 实时净值+ Bybit 实时净值

当:

当前总净值 ≤起始总净值× 92%

立即无条件执行:

1.  停止开仓;

2.  停止补仓;

3.  取消全部未成交订单;

4.  两个平台全部市价强平;

5.  不受最低持仓 5 分钟限制;

6.  不等待价差恢复;

7.  程序停机;

8.  只能人工重新启动。

如果一个平台断线:

·  先平掉能够连接的平台;

·  断线平台恢复后立即全部平仓;

·  两边完全空仓前禁止重新运行。

充值或提币后,熔断起始净值必须由人工重新确认。


十二、必须停止交易的情况

出现以下任意情况,停止开仓和补仓:

·  任意一个 MT5 断线;

·  任意一个 EA 失去联系;

·  报价停止更新;

·  两个平台报价时间差过大;

·  两边持仓数量不一致;

·  合约大小或手数规则变化;

·  手续费配置缺失;

·  保证金计算失败;

·  连续拒单;

·  单个平台持仓达到 20% ;

·  总账户亏损达到 8% ;

·  市场关闭或平台只允许平仓;

·  平台维护、降杠杆或限制交易。


十三、程序界面

主界面显示:

·  两个平台连接状态;

·  当前 5 个交易标的;

·  两个平台 Bid 和 Ask ;

·  当前可成交价差;

·  当前最低开仓价差;

·  当前首仓差价和补仓倍数;

·  两边实际仓位;

·  每个平台保证金占用比例;

·  两个平台分别盈亏;

·  当前总净值;

·  当前总亏损比例;

·  距离 8% 熔断还有多少;

·  当前是否允许交易;

·  停止交易的原因。


十四、必须保存的记录

每笔交易保存:

·  标的;

·  两个平台报价和报价时间;

·  开仓方向;

·  首仓或第几次补仓;

·  计划手数和实际手数;

·  发单时间;

·  实际成交时间;

·  实际成交价格;

·  手续费;

·  隔夜费;

·  占用保证金;

·  持仓时间;

·  平仓原因;

·  两个平台分别盈亏;

·  最终组合净利润;

·  拒单、断线和单边成交记录;

·  是否触发 8% 熔断。


十五、程序员必须阅读的官方资料

MT5 报价、合约及交易

最新 Bid 、 Ask 和报价时间:

https://www.mql5.com/en/docs/marketinformation/symbolinfotick

读取历史 Tick :

https://www.mql5.com/en/docs/series/copyticks

读取合约大小、手数和隔夜费:

https://www.mql5.com/en/docs/constants/environment_state/marketinfoconstants

下单前检查:

https://www.mql5.com/en/docs/trading/ordercheck

计算保证金:

https://www.mql5.com/en/docs/trading/ordercalcmargin

异步发送订单:

https://www.mql5.com/en/docs/trading/ordersendasync

确认真实成交结果:

https://www.mql5.com/en/docs/event_handlers/ontradetransaction

读取账户净值和保证金:

https://www.mql5.com/en/docs/account/accountinfodouble

Bitget CFD

支持标的和合约规格:

https://www.bitget.com/asia/support/articles/12560603847415

手续费、隔夜费和股息:

https://www.bitget.com/zh-CN/support/articles/12560603840553

Bid 、 Ask 和浮动点差:

https://www.bitget.com/support/articles/12560603839741

保证金和强平规则:

https://www.bitget.com/support/articles/12560603839630

异常交易及延迟套利限制:

https://www.bitget.com/support/articles/12560603873369

规则和产品更新:

https://www.bitget.com/support/sections/12508313448115

Bybit CFD

账户和低点差模式:

https://www.bybit.com/en/help-center/article/Introduction-to-TradFi

手续费和隔夜费:

https://www.bybit.com/en/help-center/article/TradFi-Fees-Explained

支持标的和合约规格:

https://www.bybit.com/en/help-center/article/Contracts-Available-on-TradFi-MT5-and-Specifications

Bid 、 Ask 和参考流动性:

https://www.bybit.com/en/help-center/article/TradFi-Indicative-Liquidity

市价成交和滑点:

https://www.bybit.com/en/help-center/article/Slippage-in-TradFi-MT5-Trading

保证金计算:

https://www.bybit.com/en/help-center/article/Margin-Calculations-on-TradFi

强平规则:

https://www.bybit.com/en/help-center/article/Liquidation-Process-On-TradFi-Margin-Close-Out


 


Yanıtlandı

1
Geliştirici 1
Derecelendirme
(272)
Projeler
343
29%
Arabuluculuk
36
28% / 64%
Süresi dolmuş
10
3%
Çalışıyor
2
Geliştirici 2
Derecelendirme
Projeler
0
0%
Arabuluculuk
0
Süresi dolmuş
0
Serbest
3
Geliştirici 3
Derecelendirme
(206)
Projeler
333
35%
Arabuluculuk
66
12% / 58%
Süresi dolmuş
87
26%
Serbest
4
Geliştirici 4
Derecelendirme
(32)
Projeler
42
43%
Arabuluculuk
2
100% / 0%
Süresi dolmuş
4
10%
Serbest
5
Geliştirici 5
Derecelendirme
(1)
Projeler
1
100%
Arabuluculuk
0
Süresi dolmuş
0
Serbest

Proje bilgisi

Bütçe
500 - 1000 USD
Son teslim tarihi
to 10 gün

Müşteri

Verilmiş siparişler1
Arabuluculuk sayısı0