mt4訊號同步交易系統設計
阿新 • • 發佈:2020-12-25
mt4訂閱訊號同步系統設計
1、mt4平臺訂閱訊號
2、開通ic賬戶
3、繫結訊號
4、訊號同步,
5、增加myql連線,同步訊號,擴充套件功能統計
# 注意以上流程中涉及多個平臺賬號申請,請做好記錄,防止遺忘。
-- 建立訂閱訊號訂單表 CREATE TABLE `subscribe_singal_order` ( `id` bigint(10) NOT NULL AUTO_INCREMENT COMMENT '自增id', `singal_name` varchar(64) DEFAULT NULL COMMENT '訊號名稱', `account` varchar(16) DEFAULT NULL COMMENT '賬戶', `symbol` varchar(10) DEFAULT NULL COMMENT '訂單程式碼', `ticket` varchar(16) DEFAULT NULL COMMENT '訊號訂單id', `order_type` varchar(2) DEFAULT NULL COMMENT '訂單型別 0買,1賣', `sl` varchar(16) DEFAULT NULL COMMENT '止損', `tp` varchar(16) DEFAULT NULL COMMENT '止盈', `status` varchar(2) DEFAULT '1' COMMENT '訂單狀態,1下單,-1關閉', `start_date` datetime DEFAULT NULL COMMENT '訂單訊號時間', `gmt_created` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '訂單落庫時間', `gmt_modify` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '訂單修改時間', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- 建立定時器心跳記錄表 CREATE TABLE `singal_heartbeat` ( `id` bigint(12) NOT NULL AUTO_INCREMENT COMMENT '自增主鍵', `singal_name` varchar(64) DEFAULT NULL COMMENT '訊號名稱', `singal_time` timestamp(2) NULL DEFAULT NULL COMMENT '訊號時間', `gmt_create_time` timestamp(2) NULL DEFAULT CURRENT_TIMESTAMP(2) COMMENT '入庫時間', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8; -- 心跳日誌定時清理 CREATE DEFINER=`metatrader`@`%` PROCEDURE `singal_delete_crontab`() BEGIN -- 刪除X天前的心跳記錄 delete from singal_heartbeat where datediff(CURDATE(),singal_time)>=7; -- 插入定時器的操作記錄 insert into singal_heartbeat (singal_name,singal_time) values('heartbeat',NOW()) ; END; -- 建立定時器心跳記錄表的定時器,刪除歷史的心跳日誌,每小時執行一次,避免一次刪除太多資料 drop event if exists singal_delete_crontab_timer; CREATE EVENT if not exists singal_delete_crontab_timer ON SCHEDULE every 1 hour STARTS TIMESTAMP '2020-12-20 00:00:00' do call singal_delete_crontab() ; -- 檢視全域性的定時器是否開啟 SET GLOBAL event_scheduler = 1; -- 啟動定時器 SHOW VARIABLES LIKE '%sche%'; -- 檢視定時器狀態 -- 開啟特定的定時器 ALTER EVENT singal_delete_crontab_timer ENABLE; -- 檢查定時器是否工作 select * from singal_heartbeat where singal_name='heartbeat' ;