"""
关注公众号: Ctp接口量化
​
"""from API import *
class MACDStrategy(Strategy):def __init__(self):super().__init__()# self.symbol_lsit = ["UR301","rb2301","au2212","IF2211","IC2211","i2301","eb2211","MA301"]  #订阅合约self.symbol_lsit = ["i2301"]  #订阅合约self.BarType = BarType.Min5  #K线周期self.StrategyType = StrategyType.Bar  #策略类型  StrategyType.Renko   StrategyType.Bar   StrategyType.Tickdef on_tick(self, tick=None):print(tick.InstrumentID,tick.LastPrice)  def on_bar(self, tick=None, Bar=None):symbol = tick.InstrumentID   #合约代码Bid = tick.BidPrice1    #买价Ask = tick.AskPrice1    #卖价LastPrice = tick.LastPrice  #最新价#print(symbol) #合约#print(tick.LastPrice) #合约tick.UpdateTime# print(tick.UpdateTime) #合约tick.UpdateTime# print(Bar[0]["symbol"]) #合约kline = Bar[0]["data"]    # K 线数据if len(kline) <= 35:   # 小于35 条 退出 return   # K,D,J  = self.KDJ(kline) # 取KDJ指标数组# UP,MB,DN  = self.BOLL(kline) # 取BOLL指标数组# EMA  = self.EMA(kline,60) # 取EMA指标数组# RSI  = self.RSI(kline) # 取RSI指标数组# MA1  = self.MA(kline,30) # 取MA指标数组Channels# MA2  = self.MA(kline,60) # 取MA指标数组Channelsdif,dea,macd  = self.MACD(kline) # 取MACD指标数组close,High,low = self.tick(kline)      # 取收盘价数组 # 获取最新价格(卖价)# print(self.Get_Position(symbol))Pos = self.GetPosition(symbol)# print(Pos)# 开多单if Pos["Direction"]=="None" and dif[-1]>dea[-1] and dif[-2] < dea[-2] and dea[-1] > 0:print(symbol) #合约print("MACD策略开多")最低价 = min(low[-10:])止盈 = Ask + (Ask-最低价)*3# self.send(symbol, DirectionType.Buy, OffsetType.Open, Ask, 3, OrderType.Limit)  # # OrderType.FOK   OrderType.FAK   OrderType.Marketself.send(symbol, DirectionType.Buy, OffsetType.Open, Ask, 3, OrderType.Limit,止损=最低价,止盈=止盈,移动止损=最低价)  # # OrderType.FOK   OrderType.FAK   OrderType.Market# # 开空单if Pos["Direction"]=="None" and dif[-1]<dea[-1] and dif[-2] > dea[-2] and dea[-1] < 0:print(symbol) #合约print("MACD策略开空")最高价 = max(High[-10:])止盈 = Bid - (最高价-Bid)*3# self.send(symbol, DirectionType.Sell, OffsetType.Open, Bid, 3, OrderType.Limit)   # # OffsetType.Open   OffsetType.Close   OffsetType.CloseToday  OffsetType.CloseYesterdayself.send(symbol, DirectionType.Sell, OffsetType.Open, Bid, 3, OrderType.Limit,止损=最高价,止盈=止盈,移动止损=最高价)   # # OffsetType.Open   OffsetType.Close   OffsetType.CloseToday  OffsetType.CloseYesterday# # 平多单if Pos["Direction"]==DirectionType.Buy and dif[-1]<dea[-1] and dif[-2] > dea[-2]:print(symbol) #合约print("MACD策略平多单")self.send(symbol, DirectionType.Sell, OffsetType.Close, Bid, Pos['Volume'], OrderType.Limit)         # # 平空单        if Pos["Direction"]==DirectionType.Sell and dif[-1]>dea[-1] and dif[-2] < dea[-2]:print(symbol) #合约print("MACD策略平空单")self.send(symbol, DirectionType.Buy, OffsetType.Close, Ask, Pos['Volume'], OrderType.Limit)if 'kwargs' in Pos.keys():# print(Pos["kwargs"])if Pos["Direction"]==DirectionType.Buy and LastPrice<Pos["kwargs"]["止损"]:print(symbol) #合约print("MACD策略止损多单")self.send(symbol, DirectionType.Sell, OffsetType.Close, Bid, Pos['Volume'], OrderType.Limit)         # # 平空单        if Pos["Direction"]==DirectionType.Sell and LastPrice>Pos["kwargs"]["止损"]:print(symbol) #合约print("MACD策略止损空单")self.send(symbol, DirectionType.Buy, OffsetType.Close, Ask, Pos['Volume'], OrderType.Limit)# # 多单 修改移动止损价if Pos["Direction"]==DirectionType.Buy and (LastPrice - Pos["kwargs"]["移动止损"]) > (Pos["Price"] - Pos["kwargs"]["止损"]):self.OrderModify(symbol, LastPrice - (Pos["Price"] - Pos["kwargs"]["止损"]))print("空单 修改移动止损价",LastPrice - (Pos["Price"] - Pos["kwargs"]["止损"]))# # 空单 修改移动止损价if Pos["Direction"]==DirectionType.Sell and (Pos["kwargs"]["移动止损"] - LastPrice) > (Pos["kwargs"]["止损"] - Pos["Price"]):self.OrderModify(symbol, LastPrice + (Pos["kwargs"]["止损"] - Pos["Price"]))print("空单 修改移动止损价",LastPrice + (Pos["kwargs"]["止损"] - Pos["Price"]))class MAStrategy(Strategy):def __init__(self):super().__init__()self.symbol_lsit = ["UR301","rb2301","au2212","IF2211","IC2211","i2301","eb2211","MA301"]  #订阅合约self.BarType = BarType.Min15  #K线周期self.StrategyType = StrategyType.Bar  #策略类型  StrategyType.Renko   StrategyType.Bar   StrategyType.Tickdef on_tick(self, tick=None):print(tick.InstrumentID,tick.LastPrice)  def on_bar(self, tick=None, Bar=None):symbol = tick.InstrumentID   #合约代码Bid = tick.BidPrice1    #买价Ask = tick.AskPrice1    #卖价LastPrice = tick.LastPrice  #最新价#print(symbol) #合约#print(tick.LastPrice) #合约tick.UpdateTime# print(tick.UpdateTime) #合约tick.UpdateTime# print(Bar[0]["symbol"]) #合约kline = Bar[0]["data"]    # K 线数据if len(kline) <= 35:   # 小于35 条 退出 return   # K,D,J  = self.KDJ(kline) # 取KDJ指标数组# UP,MB,DN  = self.BOLL(kline) # 取BOLL指标数组# EMA  = self.EMA(kline,60) # 取EMA指标数组# RSI  = self.RSI(kline) # 取RSI指标数组MA1  = self.MA(kline,5) # 取MA指标数组ChannelsMA2  = self.MA(kline,10) # 取MA指标数组ChannelsMA3  = self.MA(kline,30) # 取MA指标数组Channels# dif,dea,macd  = self.MACD(kline) # 取MACD指标数组close,High,low = self.tick(kline)      # 取收盘价数组 # 获取最新价格(卖价)# print(self.Get_Position(symbol))Pos = self.GetPosition(symbol)# print(Pos)# 开多单if Pos["Direction"]=="None" and MA1[-1]>MA2[-1] and MA1[-2] < MA2[-2] and close[-1] > MA3[-1]:print(symbol) #合约print("MA策略开多")最低价 = min(low[-10:])止盈 = Ask + (Ask-最低价)*3# self.send(symbol, DirectionType.Buy, OffsetType.Open, Ask, 3, OrderType.Limit)  # # OrderType.FOK   OrderType.FAK   OrderType.Marketself.send(symbol, DirectionType.Buy, OffsetType.Open, Ask, 3, OrderType.Limit,止损=最低价,止盈=止盈,移动止损=最低价)  # # OrderType.FOK   OrderType.FAK   OrderType.Market# # 开空单if Pos["Direction"]=="None" and MA1[-1]<MA2[-1] and MA1[-2] > MA2[-2] and close[-1] < MA3[-1]:print(symbol) #合约print("MA策略开空")最高价 = max(High[-10:])止盈 = Bid - (最高价-Bid)*3# self.send(symbol, DirectionType.Sell, OffsetType.Open, Bid, 3, OrderType.Limit)   # # OffsetType.Open   OffsetType.Close   OffsetType.CloseToday  OffsetType.CloseYesterdayself.send(symbol, DirectionType.Sell, OffsetType.Open, Bid, 3, OrderType.Limit,止损=最高价,止盈=止盈,移动止损=最高价)   # # OffsetType.Open   OffsetType.Close   OffsetType.CloseToday  OffsetType.CloseYesterday# # 平多单if Pos["Direction"]==DirectionType.Buy and MA1[-1]<MA2[-1] and MA1[-2] > MA2[-2]:print(symbol) #合约print("MA策略平多单")self.send(symbol, DirectionType.Sell, OffsetType.Close, Bid, Pos['Volume'], OrderType.Limit)         # # 平空单        if Pos["Direction"]==DirectionType.Sell and MA1[-1]>MA2[-1] and MA1[-2] < MA2[-2]:print(symbol) #合约print("MA策略平空单")self.send(symbol, DirectionType.Buy, OffsetType.Close, Ask, Pos['Volume'], OrderType.Limit)if 'kwargs' in Pos.keys():# print(Pos["kwargs"])if Pos["Direction"]==DirectionType.Buy and LastPrice<Pos["kwargs"]["止损"]:print(symbol) #合约print("RSI策略止损多单")self.send(symbol, DirectionType.Sell, OffsetType.Close, Bid, Pos['Volume'], OrderType.Limit)         # # 平空单        if Pos["Direction"]==DirectionType.Sell and LastPrice>Pos["kwargs"]["止损"]:print(symbol) #合约print("RSI策略止损空单")self.send(symbol, DirectionType.Buy, OffsetType.Close, Ask, Pos['Volume'], OrderType.Limit)# # 多单 修改移动止损价if Pos["Direction"]==DirectionType.Buy and (LastPrice - Pos["kwargs"]["移动止损"]) > (Pos["Price"] - Pos["kwargs"]["止损"]):self.OrderModify(symbol, LastPrice - (Pos["Price"] - Pos["kwargs"]["止损"]))print("空单 修改移动止损价",LastPrice - (Pos["Price"] - Pos["kwargs"]["止损"]))# # 空单 修改移动止损价if Pos["Direction"]==DirectionType.Sell and (Pos["kwargs"]["移动止损"] - LastPrice) > (Pos["kwargs"]["止损"] - Pos["Price"]):self.OrderModify(symbol, LastPrice + (Pos["kwargs"]["止损"] - Pos["Price"]))print("空单 修改移动止损价",LastPrice + (Pos["kwargs"]["止损"] - Pos["Price"]))
class KDJStrategy(Strategy):def __init__(self):super().__init__()self.symbol_lsit = ["UR301","rb2301","au2212","IF2211","IC2211","i2301","eb2211","MA301"]  #订阅合约self.BarType = BarType.Min30  #K线周期self.StrategyType = StrategyType.Bar  #策略类型  StrategyType.Renko   StrategyType.Bar   StrategyType.Tickdef on_tick(self, tick=None):print(tick.InstrumentID,tick.LastPrice)  def on_bar(self, tick=None, Bar=None):symbol = tick.InstrumentID   #合约代码Bid = tick.BidPrice1    #买价Ask = tick.AskPrice1    #卖价LastPrice = tick.LastPrice  #最新价#print(symbol) #合约#print(tick.LastPrice) #合约tick.UpdateTime# print(tick.UpdateTime) #合约tick.UpdateTime# print(Bar[0]["symbol"]) #合约kline = Bar[0]["data"]    # K 线数据if len(kline) <= 35:   # 小于35 条 退出 return   K,D,J  = self.KDJ(kline) # 取KDJ指标数组# UP,MB,DN  = self.BOLL(kline) # 取BOLL指标数组# EMA  = self.EMA(kline,60) # 取EMA指标数组# RSI  = self.RSI(kline) # 取RSI指标数组# MA1  = self.MA(kline,30) # 取MA指标数组Channels# MA2  = self.MA(kline,60) # 取MA指标数组Channelsdif,dea,macd  = self.MACD(kline) # 取MACD指标数组close,High,low = self.tick(kline)      # 取收盘价数组 # 获取最新价格(卖价)# print(self.Get_Position(symbol))Pos = self.GetPosition(symbol)# print(Pos)# 开多单if Pos["Direction"]=="None" and K[-1]>D[-1] and K[-2] < D[-2] and dea[-1] > 0:print(symbol) #合约print("KDJ策略开多")最低价 = min(low[-10:])止盈 = Ask + (Ask-最低价)*3# self.send(symbol, DirectionType.Buy, OffsetType.Open, Ask, 3, OrderType.Limit)  # # OrderType.FOK   OrderType.FAK   OrderType.Marketself.send(symbol, DirectionType.Buy, OffsetType.Open, Ask, 3, OrderType.Limit,止损=最低价,止盈=止盈,移动止损=最低价)  # # OrderType.FOK   OrderType.FAK   OrderType.Market# # 开空单if Pos["Direction"]=="None" and K[-1]<D[-1] and K[-2] > D[-2] and dea[-1] < 0:print(symbol) #合约print("KDJ策略开空")最高价 = max(High[-10:])止盈 = Bid - (最高价-Bid)*3# self.send(symbol, DirectionType.Sell, OffsetType.Open, Bid, 3, OrderType.Limit)   # # OffsetType.Open   OffsetType.Close   OffsetType.CloseToday  OffsetType.CloseYesterdayself.send(symbol, DirectionType.Sell, OffsetType.Open, Bid, 3, OrderType.Limit,止损=最高价,止盈=止盈,移动止损=最高价)   # # OffsetType.Open   OffsetType.Close   OffsetType.CloseToday  OffsetType.CloseYesterday# # 平多单if Pos["Direction"]==DirectionType.Buy and K[-1]<D[-1] and K[-2] > D[-2]:print(symbol) #合约print("KDJ策略平多单")self.send(symbol, DirectionType.Sell, OffsetType.Close, Bid, Pos['Volume'], OrderType.Limit)         # # 平空单        if Pos["Direction"]==DirectionType.Sell and K[-1]>D[-1] and K[-2] < D[-2]:print(symbol) #合约print("KDJ策略平空单")self.send(symbol, DirectionType.Buy, OffsetType.Close, Ask, Pos['Volume'], OrderType.Limit)if 'kwargs' in Pos.keys():# print(Pos["kwargs"])if Pos["Direction"]==DirectionType.Buy and LastPrice<Pos["kwargs"]["止损"]:print(symbol) #合约print("RSI策略止损多单")self.send(symbol, DirectionType.Sell, OffsetType.Close, Bid, Pos['Volume'], OrderType.Limit)         # # 平空单        if Pos["Direction"]==DirectionType.Sell and LastPrice>Pos["kwargs"]["止损"]:print(symbol) #合约print("RSI策略止损空单")self.send(symbol, DirectionType.Buy, OffsetType.Close, Ask, Pos['Volume'], OrderType.Limit)# # 多单 修改移动止损价if Pos["Direction"]==DirectionType.Buy and (LastPrice - Pos["kwargs"]["移动止损"]) > (Pos["Price"] - Pos["kwargs"]["止损"]):self.OrderModify(symbol, LastPrice - (Pos["Price"] - Pos["kwargs"]["止损"]))print("空单 修改移动止损价",LastPrice - (Pos["Price"] - Pos["kwargs"]["止损"]))# # 空单 修改移动止损价if Pos["Direction"]==DirectionType.Sell and (Pos["kwargs"]["移动止损"] - LastPrice) > (Pos["kwargs"]["止损"] - Pos["Price"]):self.OrderModify(symbol, LastPrice + (Pos["kwargs"]["止损"] - Pos["Price"]))print("空单 修改移动止损价",LastPrice + (Pos["kwargs"]["止损"] - Pos["Price"]))
class RSIStrategy(Strategy):def __init__(self):super().__init__()self.symbol_lsit = ["UR301","rb2301","au2212","IF2211","IC2211","i2301","eb2211","MA301"]  #订阅合约self.BarType = BarType.Min60  #K线周期self.StrategyType = StrategyType.Bar  #策略类型  StrategyType.Renko   StrategyType.Bar   StrategyType.Tickdef on_tick(self, tick=None):print(tick.InstrumentID,tick.LastPrice)  def on_bar(self, tick=None, Bar=None):symbol = tick.InstrumentID   #合约代码Bid = tick.BidPrice1    #买价Ask = tick.AskPrice1    #卖价LastPrice = tick.LastPrice  #最新价#print(symbol) #合约#print(tick.LastPrice) #合约tick.UpdateTime# print(tick.UpdateTime) #合约tick.UpdateTime# print(Bar[0]["symbol"]) #合约kline = Bar[0]["data"]    # K 线数据if len(kline) <= 35:   # 小于35 条 退出 return   # K,D,J  = self.KDJ(kline) # 取KDJ指标数组# UP,MB,DN  = self.BOLL(kline) # 取BOLL指标数组# EMA  = self.EMA(kline,60) # 取EMA指标数组RSI  = self.RSI(kline) # 取RSI指标数组# MA1  = self.MA(kline,30) # 取MA指标数组Channels# MA2  = self.MA(kline,60) # 取MA指标数组Channelsdif,dea,macd  = self.MACD(kline) # 取MACD指标数组close,High,low = self.tick(kline)      # 取收盘价数组 # 获取最新价格(卖价)# print(self.Get_Position(symbol))Pos = self.GetPosition(symbol)# print(Pos)# 开多单if Pos["Direction"]=="None" and RSI[-1]>50 and RSI[-2] < 50 and dea[-1] > 0:print(symbol) #合约print("RSI策略开多")最低价 = min(low[-10:])止盈 = Ask + (Ask-最低价)*3# self.send(symbol, DirectionType.Buy, OffsetType.Open, Ask, 3, OrderType.Limit)  # # OrderType.FOK   OrderType.FAK   OrderType.Marketself.send(symbol, DirectionType.Buy, OffsetType.Open, Ask, 3, OrderType.Limit,止损=最低价,止盈=止盈,移动止损=最低价)  # # OrderType.FOK   OrderType.FAK   OrderType.Market# # 开空单if Pos["Direction"]=="None" and RSI[-1]<50 and RSI[-2] > 50 and dea[-1] < 0:print(symbol) #合约print("RSI策略开空")最高价 = max(High[-10:])止盈 = Bid - (最高价-Bid)*3# self.send(symbol, DirectionType.Sell, OffsetType.Open, Bid, 3, OrderType.Limit)   # # OffsetType.Open   OffsetType.Close   OffsetType.CloseToday  OffsetType.CloseYesterdayself.send(symbol, DirectionType.Sell, OffsetType.Open, Bid, 3, OrderType.Limit,止损=最高价,止盈=止盈,移动止损=最高价)   # # OffsetType.Open   OffsetType.Close   OffsetType.CloseToday  OffsetType.CloseYesterday# # 平多单if Pos["Direction"]==DirectionType.Buy and RSI[-1]<50 and RSI[-2] > 50:print(symbol) #合约print("RSI策略平多单")self.send(symbol, DirectionType.Sell, OffsetType.Close, Bid, Pos['Volume'], OrderType.Limit)         # # 平空单        if Pos["Direction"]==DirectionType.Sell and RSI[-1]>50 and RSI[-2] < 50:print(symbol) #合约print("RSI策略平空单")self.send(symbol, DirectionType.Buy, OffsetType.Close, Ask, Pos['Volume'], OrderType.Limit)if 'kwargs' in Pos.keys():# print(Pos["kwargs"])if Pos["Direction"]==DirectionType.Buy and LastPrice<Pos["kwargs"]["止损"]:print(symbol) #合约print("RSI策略止损多单")self.send(symbol, DirectionType.Sell, OffsetType.Close, Bid, Pos['Volume'], OrderType.Limit)         # # 平空单        if Pos["Direction"]==DirectionType.Sell and LastPrice>Pos["kwargs"]["止损"]:print(symbol) #合约print("RSI策略止损空单")self.send(symbol, DirectionType.Buy, OffsetType.Close, Ask, Pos['Volume'], OrderType.Limit)# # 多单 修改移动止损价if Pos["Direction"]==DirectionType.Buy and (LastPrice - Pos["kwargs"]["移动止损"]) > (Pos["Price"] - Pos["kwargs"]["止损"]):self.OrderModify(symbol, LastPrice - (Pos["Price"] - Pos["kwargs"]["止损"]))print("空单 修改移动止损价",LastPrice - (Pos["Price"] - Pos["kwargs"]["止损"]))# # 空单 修改移动止损价if Pos["Direction"]==DirectionType.Sell and (Pos["kwargs"]["移动止损"] - LastPrice) > (Pos["kwargs"]["止损"] - Pos["Price"]):self.OrderModify(symbol, LastPrice + (Pos["kwargs"]["止损"] - Pos["Price"]))print("空单 修改移动止损价",LastPrice + (Pos["kwargs"]["止损"] - Pos["Price"]))# Config = {'brokerid':'9999', 'userid':'123456', 'password':'123456', 'appid':'simnow_client_test', 'auth_code':'0000000000000000', 'product_info':'python dll', 'td_address':'tcp://180.168.146.187:10201', 'md_address':'tcp://180.168.146.187:10211'}
Config = {'brokerid':'9999', 'userid':'1123456', 'password':'123456', 'appid':'simnow_client_test', 'auth_code':'0000000000000000', 'product_info':'python dll', 'td_address':'tcp://180.168.146.187:10130', 'md_address':'tcp://180.168.146.187:10131'}if __name__ == '__main__':t = CtpGateway()t.add_Strategy(MACDStrategy())t.add_Strategy(MAStrategy())t.add_Strategy(KDJStrategy())t.add_Strategy(RSIStrategy())t.add_Config(Config)t.Start()

CTP期货接口python写多策略多品种多周期案例源码相关推荐

  1. 用Python写了一个网易云音乐(附源码、视频教程)

    今天给大家分享一个实战项目,用Python整个网易云出来,实现音乐自由!文末附本项目源码以及视频教程! 这一次,咱们来玩点花活,整个网易云出来,实现音乐自由! 环境 Python3.6.8 PyCha ...

  2. 周末用Python写了5个小游戏(附源码)

    周末不能出去玩多无聊啊,那就来几个小游戏给大家助助兴,,可以自己复现玩玩,研究下里面的编程逻辑,对学习编程(特别是初学者)应该会有很大帮助.学会了别忘记教你的小伙伴,好的东西大家要学会分享. 由于文章 ...

  3. 用Python写了一个上课点名系统(附源码)

    今天刷到了一个这样的短视频,我寻思我是不是也可以写一个类似的上课点名程序,想法经不起等待,说写就写~ 一.准备工作 1.Tkinter Tkinter 是 python 内置的 TK GUI 工具集. ...

  4. 30 个Python代码实现的常用功能(附案例源码)

    今天给大家分享30个 Python 常用代码案例,建议收藏啊~ 1.冒泡排序 2.计算x的n次方的方法 3.计算aa + bb + c*c + -- 4.计算阶乘 n! 5.列出当前目录下的所有文件和 ...

  5. 31 个Python代码实现的常用功能(附案例源码)

    今天给大家分享30个 Python 常用代码案例,建议收藏啊~ 1.冒泡排序 2.计算x的n次方的方法 3.计算aa + bb + c*c + -- 4.计算阶乘 n! 5.列出当前目录下的所有文件和 ...

  6. python撩人的代码,老师教已毕业的学生,用Python代码每天不定时撩女友,附源码文件...

    原本就是学生会主席,在学校如此优秀的他,毕业参加工作,依然展现出好强的一面. 每天认真的工作,即使在工作之余也要用来给自己充电,所以难免会忽略女友,不够关心,免不了发脾气,甚至是争吵. 有一天,曾经大 ...

  7. 分享Python采集的77个PHP整站程序源码

    Python采集的77个PHP整站程序源码下载链接:百度网盘 请输入提取码 提取码:pdwa ULCms(Unlimited Cms) V1.0 RC Build 20080926 DiY-Page ...

  8. Python基于OpenCV监控老鼠蟑螂检测系统[完整源码&部署教程]

    1.视频演示: [项目分享]Python基于OpenCV监控老鼠蟑螂检测系统[完整源码&部署教程]_哔哩哔哩_bilibili 2.图片演示: 3.明厨亮灶: 餐饮企业的厨房卫生状况一直饱受消 ...

  9. 基于python食品安全溯源管理系统django框架计算机毕业设计源码+系统+数据库+lw文档+调试部署

    基于python食品安全溯源管理系统django框架计算机毕业设计源码+系统+数据库+lw文档+调试部署 基于python食品安全溯源管理系统django框架计算机毕业设计源码+系统+数据库+lw文档 ...

最新文章

  1. js转换html为pdf文件怎么打开方式,pdf.js实现在HTML下直接浏览pdf文档,无需插件即可实现...
  2. Leetcode 187. 重复的DNA序列 解题思路及C++实现
  3. 从5随机到7随机及其扩展
  4. java中递归的概念_【Java】基础38:什么叫递归?
  5. 20165306 我期望的师生关系
  6. 0 uC/OS 系统精讲索引
  7. TDA-04D8变送器数据上报阿里云
  8. 发明导诊机器人团队_牛!这个平均年龄21岁的团队竟然发明偏瘫康复机器人
  9. python之Beautiflusoup操作
  10. android开发者模式自动打开位置touch信息
  11. Android 手写和笔锋研究资料
  12. 两年计算机考研教训经验贴
  13. 验证CUDA和CUDNN是否安装成功的方法
  14. 电脑上如何进行屏幕录制,笔记本电脑录屏怎么录
  15. web页面的性能优化以及SEO(搜索引擎优化)
  16. 无线AP的7种工作模式
  17. 教学|3DMAX渲染教程:超写实风格Vray渲染五步法则
  18. 【MySQL进阶-05】深入理解mvcc机制(详解)
  19. 无锡中软国际有限公司笔试题(Java)附加个人答案版
  20. 医院测温人脸门禁设备解决方案

热门文章

  1. 均匀三次B样条曲线插值实现及MATLAB代码
  2. java毕业生设计学生健康管理系统计算机源码+系统+mysql+调试部署+lw
  3. 2021年中国表面等离子体共振市场趋势报告、技术动态创新及2027年市场预测
  4. 沥青都市7723java_“横看成岭侧成峰,远近高低各不同”——线激光车辙测试仪(LIR)及其在沥青路面车辙检测中的应用...
  5. 早教+托育哪家强?2020年度早教托育一体化品牌排行榜出炉
  6. CleanMyMac是什么软件,可以清理Mac系统么
  7. VMware虚拟机安装macos Ventura 13.1(22C65)教程镜像CDR/ISO下载
  8. JavaScript DOM文档对象模型小结
  9. 记录Git 提交报错 fatal: Exiting because of unfinished merge
  10. 在notepad++中安装jslint插件