当前位置: 首页 > news >正文

做网站负责人风险外贸网站 源

做网站负责人风险,外贸网站 源,wordpress获取分类导航,ps做旅游网站策略详情 按照1分k线图#xff1b;跳过9#xff1a;30点1分k线图不计算 买入#xff1b;监控市面的可转债#xff1b;当某1分涨幅大于x涨幅#xff0c;一直重复x次#xff0c;选择买入#xff0c;符合x设置的条件只选择成交额最大的可转债买入#xff08;x要自定义跳过930点1分k线图不计算 买入监控市面的可转债当某1分涨幅大于x涨幅一直重复x次选择买入符合x设置的条件只选择成交额最大的可转债买入x要自定义 例如936分涨幅大于等于0.1一直重复了2次这2次的每1分都大于等于0.1那么应该938分01秒买入 卖出方法条件1当买入价格盈亏x%选择自动卖出x要自定义 卖出方法条件2当某1分跌幅大于x跌幅一直重复x次选择卖出x要自定义、 例如936分跌幅大于等于-0.1一直重复了2次这2次的每1分都大于等于-0.1那么应该938分01秒卖出 卖出符合这个2个条件任意一条都可以自动卖出 1可以设置每天用多少x万元交易 2能可以设置1天买卖x次超过次数停止工作 3能设置账户最大涨幅或者最大跌幅超过这个最大涨幅或者最大跌幅如果有持仓可转债立即卖出停止工作 4买卖有选项可以选择 对方最优价格 和 本方最优价格 # encoding:gbk # coding:gbk# coding:gbkimport datetime import pandas as pd import numpy as np import talib import timedef init(ContextInfo):ContextInfo.trade_code_list [113595.SH, 127098.SZ, 123224.SZ, 128041.SZ, 127097.SZ, 110044.SH, 123235.SZ, 123054.SZ, 128085.SZ, 123167.SZ, 113627.SH, 123118.SZ, 113044.SH, 127101.SZ, 123207.SZ, 110059.SH, 113052.SH, 127096.SZ, 110061.SH, 127081.SZ]ContextInfo.set_universe(ContextInfo.trade_code_list)ContextInfo.accID 6000000058#620000155051ContextInfo.buy TrueContextInfo.capital 100000ContextInfo.sell False# 自定义设置x秒、涨跌幅和重复次数ContextInfo.minutes_gain1#买入间隔分钟ContextInfo.minutes_loss1#卖出间隔分钟数#ContextInfo.x_seconds_gain 60#间隔秒数#ContextInfo.x_seconds_loss 60#间隔秒数ContextInfo.increase_percent_gain 1#条件涨幅 ContextInfo.increase_percent_loss -1#条件跌幅ContextInfo.repeat_times_gain 1#买入重复次数ContextInfo.repeat_times_loss 1#卖出重复次数ContextInfo.df []ContextInfo.his_DF []# 最大交易次数、最大涨幅和最大跌幅ContextInfo.trades_loss 0 # 卖出次数ContextInfo.trades_gain 0 # 买入次数ContextInfo.max_trades_loss 10 # 卖出最大次数ContextInfo.max_trades_gain 10 # 买入最大次数ContextInfo.max_daily_gain 5 # 最大涨幅 到了最大涨幅最大跌幅自动卖出ContextInfo.max_daily_loss -5 # 最大跌幅ContextInfo.one_profit_limit3 #单次盈利超过这里2是2%ContextInfo.one_loss_limit-1#单次亏损限制自动 则卖出持仓ContextInfo.Today_profit_limit10 #当日盈利限制超过停止交易ContextInfo.Today_loss_limit-10 #当日亏损限制超过 则卖出持仓当日停止交易ContextInfo.DateContextInfo.Date_Time{}#{2024:ContextInfo.Today_profit_and_loss}ContextInfo.Today_profit_and_loss0 #当日盈亏ContextInfo.status0 #持仓状态0为空仓1为满仓ContextInfo.status_code0 #持仓代码ContextInfo.account_price100000#可用资金 调整到x元持仓 卖出是调整到0元ContextInfo.stop_status0#初始化清空账户停止交易状态 ContextInfo.type_gainMARKETContextInfo.type_lossMARKET#LATEST最新 FIX指定 HANG挂单 COMPETE对手 MARKET市价 SALE5, SALE4, SALE3, ‘SALE2’, ‘SALE1’卖5-1价‘BUY1’, ‘BUY2’, ‘BUY3’, ‘BUY4’, ‘BUY5’买1-5价 def zhangfu(list1):a((list1[1] - list1[0])/list1[0])*100return a #bond(ContextInfo, ContextInfo.x_seconds_gain,ContextInfo.x_seconds_loss, ContextInfo.increase_percent_gain,ContextInfo.increase_percent_loss, ContextInfo.repeat_times_gain,ContextInfo.repeat_times_loss,time1) def bond(ContextInfo, percentage_gain,percentage_loss, num_trades_gain,num_trades_loss,formatted_time):if ContextInfo.status0:#空仓try:num_tradesnum_trades_gainif ContextInfo.Today_profit_and_lossContextInfo.Today_profit_limit:print(当日账户涨幅{}超过大于限制的最大涨幅{}今日停止交易.format(ContextInfo.Today_profit_and_loss,ContextInfo.Today_profit_limit))return [2, list(ContextInfo.df[trade_code])[0]]if list(ContextInfo.df[买入卖出条件])[0]1:new_price list(ContextInfo.df[close])[0]return [1, list(ContextInfo.df[trade_code])[0],new_price]#买入except Exception as e:print(异常)print(ContextInfo.df)print(e)else:num_tradesnum_trades_loss#time_listTransform_time_21(formatted_time, num_trades, seconds)if ContextInfo.Today_profit_and_lossContextInfo.Today_loss_limit:print(当日账户跌幅{}超过小于限制的最大跌幅{} 持仓立即卖出且今日停止交易.format(ContextInfo.Today_profit_and_loss,ContextInfo.Today_loss_limit))new_price list(ContextInfo.df[close])[0]# get_current_price2(ContextInfo, list(ContextInfo.df[trade_code])[0])return [-2, list(ContextInfo.df[trade_code])[0],new_price]#loss_DFstatus_df(ContextInfo,ContextInfo.minutes_loss)df_lossloss_DF[loss_DF[名称]ContextInfo.status_code]if ContextInfo.one_lossContextInfo.one_profit_limit:print(当前持仓盈利{}超过单笔限制{}卖出当前持仓.format(ContextInfo.one_loss,ContextInfo.one_profit_limit))new_price list(df_loss[close])[0]return [-1, list(ContextInfo.df[trade_code])[0],new_price]#卖出 if ContextInfo.one_lossContextInfo.one_loss_limit:print(当前持仓亏损{}超过单笔限制{}卖出当前持仓.format(ContextInfo.one_loss,ContextInfo.one_loss_limit))new_price list(df_loss[close])[0]return [-1, list(ContextInfo.df[trade_code])[0],new_price]#卖出if list(df_loss[买入卖出条件])[0]-1:new_price list(df_loss[close])[0]return [-1, list(ContextInfo.df[trade_code])[0],new_price]#卖出else:print(当前不符合卖出条件无法卖出)return [0, list(ContextInfo.df[trade_code])[0]]#持有def execute_buy(ContextInfo, stockcode,price):# 执行买入操作的逻辑print(全仓买入{}.format(stockcode))print(ContextInfo.df)ContextInfo.buy FalseContextInfo.sell True# 列表中股票分别下单买入10手order_target_percent 1.0 order_target_value ContextInfo.type_gain order_value(stockcode,ContextInfo.account_price, fix, price, ContextInfo, ContextInfo.accID)ContextInfo.trades_gain ContextInfo.trades_gain 1ContextInfo.status1def execute_sell(ContextInfo, stockcode):#price# 执行卖出操作的逻辑print(全仓卖出{}.format(stockcode))print(ContextInfo.df)ContextInfo.buy TrueContextInfo.sell False# 列表中股票分别下单 order_target_percent ContextInfo.account_price ContextInfo.type_loss, #print(按照指定价{}卖出可转债{}.format(price,stockcode))print(按照市场价卖出可转债{}.format(stockcode))#order_target_value(stockcode, 0,fix,price, ContextInfo, ContextInfo.accID) # MARKET市单价 COMPETE对手order_target_value(stockcode, 0,ContextInfo.type_loss, ContextInfo, ContextInfo.accID) # MARKET市单价 COMPETE对手ContextInfo.trades_loss ContextInfo.trades_loss 1ContextInfo.status0import datetimedef Transform_time(timestamp):# 将13位时间戳转换为datetime对象dt datetime.datetime.fromtimestamp(int(timestamp) / 1000) # 需要将13位时间戳除以1000得到以秒为单位的时间戳# 将datetime对象格式化为可读时间格式formatted_time dt.strftime(%Y-%m-%d %H:%M:%S)return formatted_timedef status_df(ContextInfo,x):xx1hisdict ContextInfo.get_history_data(x, 1m, close)#,skip_pausedTrue)data_dict[]for k, v in hisdict.items():if len(v) 1:v_dict{名称:k}v_numlen(v)-1signal_list[]for i in range(v_num):zhangfu_valuezhangfu([v[i],v[i1]])v_dict[涨幅str(i)]zhangfu_valueif zhangfu_valueContextInfo.increase_percent_loss:signal_list.append(-1)elif zhangfu_valueContextInfo.increase_percent_gain:signal_list.append(1)else:signal_list.append(0)if list(set(signal_list)) [-1]:v_dict[买入卖出条件]-1elif list(set(signal_list)) [1]:v_dict[买入卖出条件]1else:v_dict[买入卖出条件]0data_dict.append(v_dict)his_DFpd.DataFrame(data_dict)df ContextInfo.get_market_data([amount,close], stock_codeContextInfo.get_universe(), skip_pausedTrue, period1m,dividend_typefront, count-1)dfdf.reset_index()#.indexlist(range(len(df)))his_DF[amount]df[amount]his_DF[close]df[close]#print(his_DF)return his_DF def handlebar(ContextInfo): # [lastClose, close,amount]index ContextInfo.barpostime0 ContextInfo.get_bar_timetag(index)time1 Transform_time(time0)start_930datetime.datetime.strptime(09:31:00, %H:%M:%S)deltadatetime.timedelta(secondsContextInfo.minutes_gain*60*ContextInfo.repeat_times_gain)start_9xstart_930deltaif datetime.datetime.strptime(time1.split( )[1], %H:%M:%S)start_9x:print(当前时间{}小于等于{}不进行交易.format(time1.split( )[1],str(start_9x).split( )[1]))returnelse:print(当前时间{}为正常交易时间.format(time1))if ContextInfo.Date!time1.split( )[0]:ContextInfo.Datetime1.split( )[0]ContextInfo.trades_gain0#新的日期买入次数归零ContextInfo.trades_loss0#新的日期买出次数归零ContextInfo.Today_profit_and_loss0#新的日期清空账户涨跌幅ContextInfo.stop_status0#新的日期清空账户停止交易状态print(新的交易日{}.format(ContextInfo.Date))else:index ContextInfo.barposlist_1[]#historysumsprint(历史持仓为)result_historysums_recordsget_result_records(historysums, index, ContextInfo)for i in result_historysums_records:list_1.append({交易代码:i.market.i.stockcode,#交易日期:Transform_time(i.trade_date),持仓盈亏:i.profit,#盈利占比权重:i.benefit_weight,交易次数:i.buy_sell_times,持仓成本:i.trade_price,最新价:i.current_price,仓位数量:i.position,#仓位金额:i.position*i.trade_price,最新价:i.current_price,})#number最新价持仓中用这个价if ContextInfo.stop_status1:print(当日已经停止交易)returnContextInfo.Date_Time[ContextInfo.Date][list_1]print(历史交易明细为)print(ContextInfo.Date_Time)ContextInfo.Today_profit_and_losssum([i[持仓盈亏] for i in list_1])/ContextInfo.capitalContextInfo.Date_Time[ContextInfo.Date]ContextInfo.Today_profit_and_loss#{2024:ContextInfo.Today_profit_and_loss}print(账户今日涨跌幅为{}.format(ContextInfo.Today_profit_and_loss))print(全部日期涨跌幅为)print(ContextInfo.Date_Time)print(账户当前时刻买入次数{}.format(ContextInfo.trades_gain))print(账户当前时刻卖出次数{}.format(ContextInfo.trades_loss))#ContextInfo.Today_profit_and_loss#print(最大涨幅为{}.format(ContextInfo.max_daily_gain))if ContextInfo.Today_profit_and_loss ContextInfo.Today_profit_limit:print(因为涨幅{}超出当日最大涨幅{}停止交易.format(ContextInfo.Today_profit_and_loss,ContextInfo.Today_profit_limit))return # 涨跌幅超过设定值 止操作elif ContextInfo.Today_profit_and_loss ContextInfo.Today_loss_limit:print(因为跌幅{}超出当日最大跌幅{}停止交易.format(ContextInfo.Today_profit_and_loss,ContextInfo.Today_loss_limit))return # 涨跌幅超过设定值停止操作his_DFstatus_df(ContextInfo,ContextInfo.minutes_gain)if ContextInfo.trades_gain ContextInfo.max_trades_gain and ContextInfo.trades_loss ContextInfo.max_trades_loss:index ContextInfo.barposresult_holdings_recordsget_result_records(holdings, index, ContextInfo)#当下持仓if result_holdings_records[]:print(当前没有持仓)ContextInfo.status0end_his_DFhis_DF[his_DF[买入卖出条件]1]if len(end_his_DF)0:print(当前时间分钟{}没有满足买入条件的可转债.format(time1))ContextInfo.df[]returnelse:end_his_DF[trade_code]end_his_DF[名称]ContextInfo.df end_his_DF.sort_values(byamount, ascendingFalse) # 必然是成交额最大的可转债print(当前股票池状态:)print(ContextInfo.df)else:result_recordsresult_holdings_recordsiresult_records[0]print(当前持仓为)print({交易代码:i.market.i.stockcode,#交易日期:Transform_time(i.trade_date),持仓盈亏:i.profit,#盈利占比权重:i.benefit_weight,交易次数:i.buy_sell_times,持仓成本:i.trade_price,最新价:i.current_price,仓位数量:i.position,#仓位金额:i.position*i.trade_price,最新价:i.current_price,})one_loss((i.current_price-i.trade_price)/i.trade_price)*100print(当前持仓盈亏{}.format(one_loss))ContextInfo.one_lossone_lossif len(result_records)!1:print(策略超过持仓数量限制1持有{}支可转债.format(len(result_records)))status_coderesult_records[0].stockcode.result_records[0].marketContextInfo.status_codestatus_codeif i.position*i.trade_priceContextInfo.account_price:print(持仓总额{}超过设定的限制{}停止策略.format(i.position*i.trade_price,ContextInfo.account_price))returnprint(时间{}持仓可转债{}金额{}.format(time1,status_code,i.position*i.trade_price))#enddict{i.trade_date:i.profit for i in result_historysums_records}#print(enddict)ContextInfo.status1# 交易策略# 买入条件假设一支可转债在9点30分20秒涨跌幅为8%过了20秒也就是9点30分40秒涨跌幅为9%比之前20秒大于1%一直重复x次都符合这设定只考虑 成交额 是第一的 可转债 进行买入# 卖出条件假设一支可转债在9点30分20秒涨跌幅为8%过了20秒也就是9点30分40秒涨跌幅为7%比之前20秒小于1%一直重复x次都符合这设定进行卖出condition bond(ContextInfo, ContextInfo.increase_percent_gain,ContextInfo.increase_percent_loss, ContextInfo.repeat_times_gain,ContextInfo.repeat_times_loss,time1)# 增加模拟资金能设置1天买卖操作次数超过次数停止工作能设置1天涨幅大于x%或者跌幅大于x%停止操作#print(condition)if condition[0] 1:if ContextInfo.status0:print(时间{}以{}价格买入可转债{}.format(time1,condition[2],condition[1]))execute_buy(ContextInfo, condition[1], condition[2])#ContextInfo.status1elif condition[0] -1:if ContextInfo.status1:#if ContextInfo.status_code!0:print(时间{}以{}价格卖出可转债{}.format(time1,condition[2],ContextInfo.status_code))execute_sell(ContextInfo,ContextInfo.status_code)#condition[1]#elif condition[0] 2:ContextInfo.stop_status1elif condition[0] -2:if ContextInfo.status1:#if ContextInfo.status_code!0:print(时间{}今日最后一次卖出可转债{}.format(time1,ContextInfo.status_code))execute_sell(ContextInfo,ContextInfo.status_code, condition[2])#condition[1]#ContextInfo.stop_status1else:pass#print(持有)else:print(因为超出当日最大交易次数停止交易)return
http://www.dnsts.com.cn/news/113322.html

相关文章:

  • 长沙协会网站设计专业服务云南网招聘
  • 网站维护具体工作内容个人网站备案能做什么内容
  • 南通的网站建设空间设计和室内设计的区别
  • 桂林新站优化嘉兴seo网站排名优化
  • 什么网站可以做会计题目个人电脑建立网站会
  • 企业网站 下载如何将自己做的网站传到网上
  • 论坛网站建设源码下载网站访问统计 曲线图
  • 黄山网站开发网站自己做余额充值自动扣款
  • 赣州市规划建设局网站改wordpress全站音乐
  • 网站建设课程总结报告海南seo
  • 营销网站建设专家云南网站设计公司
  • 网站源码下载 用户注册我怎么自己创建微信公众号
  • 如何入侵自己做的网站江西省新的建设厅三类人员网站
  • 宁波网站制作怎样重生做二次元网站
  • 沧州百度建设网站wordpress默认字体改黑色
  • 上海人才引进网站ajax 效果网站
  • 高端网站开发地址网络货运平台有哪些
  • 网站建设 服务内容 费用二级网站怎样做
  • 搜索引擎网站制作网站建设趋势
  • 注册网站引流响应式网页技术
  • 建设有访问量的网站卓成建设集团有限公司网站
  • 外贸精品网站建设提供微网站制作网络公司
  • 什么是交互式网站30岁转行做网站设计
  • 免费移动网站建站如何做网站公证
  • 网站焦点图如何美观哪有那样的网站
  • 建一个网站带管理需要多少钱一年对外宣传网站建设方案
  • 自已如何做网站查icp备案是什么网站
  • 深圳建设网官方网站wordpress官方模板
  • 南京米雅途做网站如何做网站双12促销方案
  • 网站建设石家庄iis默认网站在哪里