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

宁夏 网站开发淘宝关键词优化工具

宁夏 网站开发,淘宝关键词优化工具,哈尔滨网站空间,wordpress归档页交易对象:目前使用非标准化组合进行交易。(即黄金远近月,焦煤焦炭等等) 交易平台:易盛极星极星产品网 手续费研究:白糖期货手续费和保证金2023年09月更新 - 九期网 本人使用的期货交易公司:中信期货&…

交易对象:目前使用非标准化组合进行交易。(即黄金远近月,焦煤焦炭等等)

交易平台:易盛极星极星产品网

手续费研究:白糖期货手续费和保证金2023年09月更新 - 九期网

本人使用的期货交易公司:中信期货(幸亏资金量大,返还高,不然就是给期货公司打工。套利的间接成本很高,滑点,手续费。)

特点:1.非标准合约,双边收手续费,双边保证金。

2.底层逻辑来自基本面上,本月的黄金,10年后,他还是黄金。

3.但是,很多品种不是,比如农产品,会因为交通,运输,上下游波动等导致价差会变化。

4.难以入门,使得其成为很多高玩的选择,因为要考虑一边成交,另一边未成交等单边敞口问题

5.统计学套利和基本面套利,是套利的两大主流方向,如有其他的,欢迎补充。

统计套利,就是根据k线图,选择做多,做空价差

基本面套利,则是更具当前期货价格,现货价格,预测价差是拉大还是缩小。

我上传一段简单的黄金非标准套利代码,直接使用即可。
 

import talib
import talib as ta
import numpy as np
#code1  =  "SPD|s|M|2311|2405"
#code1 = 'M2309-M2407'
spd = 'SPD|s|AU|2312|2402'#获取合约数据
code1='SHFE|F|AU|2312'#实际下单合约
code2 = 'SHFE|F|AU|2402'#实际下单合约g_params['n'] = 20 #滚动周期极值
g_params['m'] = 20 #ATR参数
#g_params['p'] = 20 #std周期
g_params['w'] = 'M'
g_params['T'] = 15
g_params['p3'] = 1 #止损线距离
g_params['p1'] = 20
g_params['adx'] = 20
g_params['m2'] =5
# 策略参数,全局变量,各个k线都可以调用
up1 = []
down1 = []
up2 = []
down2 = []
up3 = []
down3 = []
up4 = []
down4 = []
std = []
up_limit1 = []
down_limit1 = []
up_limit2 = []
down_limit2 = []
up_limit3 = []
down_limit3 = []
up_limit4 = []
down_limit4 = []
ran = []BKDFLG = 0
SKDFLG = 0
BPDFLG = 0
SPDFLG = 0
BKDFLG2 = 0
SKDFLG2 = 0
BPDFLG2 = 0
SPDFLG2 = 0#开仓委托
BKID = 0
SKID = 0
#平仓委托
BPID = 0
SPID = 0
#开仓标志
BKFLG = 0
SKFLG = 0
#平仓标志 
BPFLG = 0
SPFLG = 0
#开仓撤单标志
BKDEL = 0
SKDEL = 0
#平仓撤单标志
BPDEL = 0
SPDEL = 0
#开仓委托手数
BKM = 0
SKM = 0
#平仓委托手数
BPM = 0
SPM = 0
#开仓委托价格
BKP = 0
SKP = 0
#平仓委托价格
BPP = 0
SPP = 0
#开仓委托时间
BKT = 0
SKT = 0
#平仓委托时间
BPT = 0
SPT = 0#开仓委托
BKID2 = 0
SKID2 = 0
#平仓委托
BPID2 = 0
SPID2 = 0
#开仓标志
BKFLG2 = 0
SKFLG2 = 0
#平仓标志 
BPFLG2 = 0
SPFLG2 = 0
#开仓撤单标志
BKDEL2 = 0
SKDEL2 = 0
#平仓撤单标志
BPDEL2 = 0
SPDEL2 = 0
#开仓委托手数
BKM2 = 0
SKM2 = 0
#平仓委托手数
BPM2 = 0
SPM2 = 0
#开仓委托价格
BKP2 = 0
SKP2 = 0
#平仓委托价格
BPP2 = 0
SPP2 = 0
#开仓委托时间
BKT2 = 0
SKT2 = 0
#平仓委托时间
BPT2 = 0
SPT2 = 0def minprice(price1,price2):if price1>price2:return price2else:return price1
def maxprice(price1,price2):if price1>price2:return price1else:return price2
# 价格矫正为最小变动价整数倍
def PriceCorrect(src,tick):if tick:return (int((src+0.5*tick)/tick))*tickelse:src
# 策略开始运行时执行该函数一次
def initialize(context):SetBarInterval(spd, g_params['w'], g_params['T'],500)SetBarInterval(code1, g_params['w'], g_params['T'],500)SetBarInterval(code2, g_params['w'], g_params['T'],500)SetTriggerType(1)SetOrderWay(1)SetActual()SetAFunUseForHis()SetUserNo('Q1010422846')  # 设置交易账号# 策略触发事件每次触发时都会执行该函数
def handle_data(context):#当前k线判断,内部函数#出现开平仓信号# BKDFLG = 0# SKDFLG = 0# BPDFLG = 0# SPDFLG = 0# BKFLG =0# SKFLG =0# BPFLG =0 # SPFLG =0 #全局运作,超出k线#全局变量,不受时间约束global up1global down1global up2global down2global up3global down3global up4global down4global stdglobal up_limit1 global down_limit1global up_limit2 global down_limit2global up_limit3 global down_limit3global up_limit4 global down_limit4global ranglobal BKDFLG global SKDFLG global BPDFLG global SPDFLG global BKDFLG2 global SKDFLG2 global BPDFLG2 global SPDFLG2 global BKIDglobal SKIDglobal BPIDglobal SPIDglobal BKFLGglobal SKFLGglobal BPFLGglobal SPFLGglobal BKDELglobal SKDELglobal BPDELglobal SPDELglobal BKMglobal SKMglobal BPMglobal SPMglobal BKPglobal SKPglobal BPPglobal SPPglobal BKTglobal SKTglobal BPTglobal SPTglobal BKID2global SKID2global BPID2global SPID2global BKFLG2global SKFLG2global BPFLG2global SPFLG2global BKDEL2global SKDEL2global BPDEL2global SPDEL2global BKM2global SKM2global BPM2global SPM2global BKP2global SKP2global BPP2global SPP2global BKT2global SKT2global BPT2global SPT2#确定前面有足够的数据if (CurrentBar() >= len(up1)):if (len(up1)) < 20:up1.append(0)down1.append(0)up2.append(0)down2.append(0)up3.append(0)down3.append(0)up4.append(0)down4.append(0)std.append(0)up_limit1.append(0)down_limit1.append(0)up_limit2.append(0)down_limit2.append(0)up_limit3.append(0)down_limit3.append(0)up_limit4.append(0)down_limit4.append(0)ran.append(0)# preEntryPrice.append(0)else:up1.append(up1[-1])down1.append(down1[-1])up2.append(up2[-1])down2.append(down2[-1])up3.append(up3[-1])down3.append(down3[-1])up4.append(up4[-1])down4.append(down4[-1])std.append(std[-1])up_limit1.append(up_limit1[-1])down_limit1.append(down_limit1[-1])up_limit2.append(up_limit2[-1])down_limit2.append(down_limit2[-1])up_limit3.append(up_limit3[-1])down_limit3.append(down_limit3[-1])up_limit4.append(up_limit4[-1])down_limit4.append(down_limit4[-1])ran.append(ran[-1])#从第N根k线开始进行程序运行if len(Close()) < g_params['p1']:returnm = g_params['m']m2 = g_params['m2']x = spdran[-1] = ta.ATR(High(x, str(g_params['w'] ), g_params['T'])[:-1], Low(x, str(g_params['w'] ), g_params['T'])[:-1], Close(x, str(g_params['w'] ), g_params['T'])[:-1], m)[-1] // PriceTick(x) * PriceTick(x)  # 一个周期前ran# if ran[-1]>=0:#     ran[-1]=0.12adx = ta.ADX(High(x, str(g_params['w'] ), g_params['T'])[:-1], Low(x, str(g_params['w'] ), g_params['T'])[:-1], Close(x, str(g_params['w'] ), g_params['T'])[:-1], m2)# if abs(High(x,str(g_params['w'] ), g_params['T'])[-g_params['n']:-1].max()-up1[-1]) >= 0 and \# abs(High(x,str(g_params['w'] ), g_params['T'])[-g_params['n']:-1].max()-up1[-1]) < 0.3:#     up1[-1] = up1[-2] # elif abs(High(x,str(g_params['w'] ), g_params['T'])[-g_params['n']:-1].max()-up1[-1])>0.3:#     up1[-1] = High(x,str(g_params['w'] ), g_params['T'])[-g_params['n']:-1].max() # if abs(Low(x,str(g_params['w'] ), g_params['T'])[-g_params['n']:-1].min()-down1[-1])>=0 and \# abs(Low(x,str(g_params['w'] ), g_params['T'])[-g_params['n']:-1].min()-down1[-1])<0.3:#     down1[-1] = down1[-2]# elif abs(Low(x,str(g_params['w'] ), g_params['T'])[-g_params['n']:-1].min()-down1[-1])>0.3:#     down1[-1] = Low(x,str(g_params['w'] ), g_params['T'])[-g_params['n']:-1].min()PlotNumeric('ran', abs(Low(x,str(g_params['w'] ), g_params['T'])[-g_params['n']:-1].min()-down1[-1]),RGB_Yellow(),False)up1[-1] =  Close(x,str(g_params['w'] ), g_params['T'])[-g_params['n']:-1].max() # if abs(up1[-2]-up1[-1])==0 or abs(up1[-2]-up1[-1])>0.2:#     up1[-1] = up1[-2]down1[-1] = Close(x,str(g_params['w'] ), g_params['T'])[-g_params['n']:-1].min()# if abs(down1[-2]-down1[-1])==0 or abs(down1[-2]-down1[-1])>0.2:#     down1[-1] = down1[-2]# if abs(High(x,str(g_params['w'] ), g_params['T'])[-g_params['n']:-1].max()-up1[-2])<=1:#     up1[-1] = High(x,str(g_params['w'] ), g_params['T'])[-g_params['n']:-1].max() # else:#     up1[-1] = up1[-2]# if abs(down1[-2]-Low(x,str(g_params['w'] ), g_params['T'])[-g_params['n']:-1].min())<=1:#     down1[-1] = Low(x,str(g_params['w'] ), g_params['T'])[-g_params['n']:-1].min()# else:#     down1[-1] = down1[-2]#up1[-1] =  Close(x,str(g_params['w'] ), g_params['T'])[-g_params['n']:-1].max()up_limit2[-1] = up1[-1] - ran[-1]*g_params['p3']// PriceTick(x) * PriceTick(x)#down1[-1] = Close(x,str(g_params['w'] ), g_params['T'])[-g_params['n']:-1].min()down_limit2[-1] = down1[-1] + ran[-1]*g_params['p3']// PriceTick(x) * PriceTick(x)#LogInfo(abs(High(x,str(g_params['w'] ), g_params['T'])[-g_params['n']:-1].max()-up1[-1]))PlotNumeric('up1',up1[-1],RGB_Red(),True)PlotNumeric('up_limit2',up_limit2[-1],RGB_Blue(),True)PlotNumeric('down1',down1[-1],RGB_Green(),True)PlotNumeric('down_limit2',down_limit2[-1],RGB_Yellow(),True)#PlotNumeric('ran',abs(High(x,str(g_params['w'] ), g_params['T'])[-g_params['n']:-1].max()-up1[-2]),RGB_Yellow(),False)BKDFLG = 0SKDFLG = 0BPDFLG = 0SPDFLG = 0BKDFLG2 = 0SKDFLG2 = 0BPDFLG2 = 0SPDFLG2 = 0LogInfo(A_BuyPosition(code1,'Q1010422846'), A_SellPosition(code1,'Q1010422846'),A_BuyPosition(code2,'Q1010422846'), A_SellPosition(code2,'Q1010422846'))# LogInfo(BuyPosition(code1), SellPosition(code1),BuyPosition(code2), SellPosition(code2))# LogInfo('状态',Q_Close(spd),\# A_BuyPosition(code1),A_SellPosition(code1),\# A_BuyPosition(spd),A_SellPosition(spd), \# BKDFLG ,SKDFLG,BPDFLG,SPDFLG )if Q_Close(spd)>up1[-1]+PriceTick(spd) and \A_BuyPosition(code1,'Q1010422846')==0 and A_SellPosition(code1,'Q1010422846')==0 \and A_BuyPosition(code2,'Q1010422846')==0 and A_SellPosition(code2,'Q1010422846')==0 :if SKDFLG ==0:SKDFLG = 1if BKDFLG2 == 0:BKDFLG2 = 1elif  Q_Close(spd)<up_limit2[-1]-PriceTick(spd) and \A_BuyPosition(code1,'Q1010422846')==0 and A_SellPosition(code1,'Q1010422846')>0 \and  A_BuyPosition(code2,'Q1010422846')>0 and A_SellPosition(code2,'Q1010422846')==0:if BPDFLG ==0:BPDFLG = 1  # 发出止损信号if SPDFLG2 == 0:SPDFLG2 = 1  # 止损信号出现 elif  (Q_Close(spd)<down1[-1]-PriceTick(spd)) and \A_BuyPosition(code1,'Q1010422846')==0 and A_SellPosition(code1,'Q1010422846')==0 \and A_BuyPosition(code2,'Q1010422846')==0 and A_SellPosition(code2,'Q1010422846')==0:if BKDFLG == 0:BKDFLG = 1if SKDFLG2 == 0:SKDFLG2 = 1elif  (Q_Close(spd)>down_limit2[-1]+PriceTick(spd)) and \A_BuyPosition(code1,'Q1010422846')>0 and A_SellPosition(code1,'Q1010422846')==0 \and A_BuyPosition(code2,'Q1010422846')==0 and A_SellPosition(code2,'Q1010422846')>0:if SPDFLG == 0:SPDFLG = 1  # 止损信号出现 if BPDFLG2 ==0:BPDFLG2 = 1  # 发出止损信号ss = int(A_Assets()*0.005/(Q_Close(code1)*0.1*10))ss = 1LogInfo('状态',Q_Close(spd),\A_BuyPosition(code1,'Q1010422846'),A_SellPosition(code1,'Q1010422846'),\A_BuyPosition(spd,'Q1010422846'),A_SellPosition(spd,'Q1010422846'), \BKDFLG ,SKDFLG,BPDFLG,SPDFLG )#//------------------------历史发单------------------------//# if context.strategyStatus() != 'C':#     if (Close(spd, g_params['w'], g_params['T'])[-1]<=down1[-1]) and \# BuyPosition(code1)==0 and SellPosition(code1)==0 \# and BuyPosition(code2)==0 and SellPosition(code2)==0 :#         Buy(ss, Close(code1, g_params['w'], g_params['T'])[-1],code1, needCover=False) #         SellShort(ss, Close(code2, g_params['w'], g_params['T'])[-1],code2, needCover=False)#     elif Close(spd, g_params['w'], g_params['T'])[-1]>=up1[-1] and \# BuyPosition(code1)==0 and SellPosition(code1)==0 \# and BuyPosition(code2)==0 and SellPosition(code2)==0:#         SellShort(ss,Close(code1, g_params['w'], g_params['T'])[-1], code1,needCover=False)#         Buy(ss, Close(code2, g_params['w'], g_params['T'])[-1],code2, needCover=False)#     elif (Close(spd, g_params['w'], g_params['T'])[-1]>=down_limit2[-1]) and \# BuyPosition(code1)==0 and SellPosition(code1)>0 \# and BuyPosition(code2)>0 and SellPosition(code2)==0:#         Sell(ss, Close(code1, g_params['w'], g_params['T'])[-1],code1)#         BuyToCover(ss, Close(code2, g_params['w'], g_params['T'])[-1],code2)#     elif Close(spd, g_params['w'], g_params['T'])[-1]<=up_limit2[-1] and \# BuyPosition(code1)>0 and SellPosition(code1)==0 \# and  BuyPosition(code2)==0 and SellPosition(code2)>0:#         BuyToCover(ss,Close(code1, g_params['w'], g_params['T'])[-1], code1)#         Sell(ss, Close(code2, g_params['w'], g_params['T'])[-1],code2)#     return#//------------------------实时处理------------------------//# if ExchangeStatus(ExchangeName()) != '3':#     return#//------------------------变量赋值------------------------//#N = int(A_Assets()*0.0005/(Q_Close()*0.1*10))#N = 10N = 1 LogInfo('N',N)#N = 1 #下单手数T = 5 #时间间隔NOW = CurrentTime() #当前时间#code1BIDP = 0 if Q_BidPrice(code1) is None else Q_BidPrice(code1) #买一价ASKP = 0 if Q_AskPrice(code1) is None else Q_AskPrice(code1) #卖一价BRP = A_BuyPositionCanCover(code1) #多头可用持仓SRP = A_SellPositionCanCover(code1) #空头可用持仓LogInfo('价格',BIDP,ASKP,BRP,SRP)#code2BIDP2 = 0 if Q_BidPrice(code2) is None else Q_BidPrice(code2) #买一价ASKP2 = 0 if Q_AskPrice(code2) is None else Q_AskPrice(code2) #卖一价BRP2 = A_BuyPositionCanCover(code2) #多头可用持仓SRP2 = A_SellPositionCanCover(code2) #空头可用持仓# if ExchangeName() == 'SHFE': #如果是上期所合约#     SH = Enum_ExitToday() #平仓参数# else: #如果非上期所合约#     SH = Enum_Exit() #平仓参数SH = Enum_ExitToday()#//------------------------成交判断code1------------------------//if BKFLG == 1:if A_OrderStatus(BKID) == Enum_Filled():LogInfo("BK信号:买开委托成交!")BKFLG = 0 #买开标志归0BKDEL = 0 #买开撤单标志归0elif A_OrderStatus(BKID) == Enum_Canceled():LogInfo("BK信号:买开委托已撤!")if A_OrderFilledLot(BKID) > 0: #如果买开委托部分成交BKM = BKM - A_OrderFilledLot(BKID) #买开委托手数if BKM > 0: #如果买开委托手数大于0BKP = ASKP #买开委托价格LogInfo("BK信号:买开委托追价!")retCode, BKID = A_SendOrder(Enum_Buy(),Enum_Entry(),BKM,BKP,code1) #发出买开委托BKT = NOW #买开委托时间BKDEL = 0 #买开撤单标志归0elif A_OrderStatus(BKID) == Enum_Suspended() or A_OrderStatus(BKID) == Enum_FillPart():if BKDEL == 0: #如果未撤单if TimeDiff(BKT, NOW) >= T: #如果时间间隔T秒LogInfo("BK信号:买开委托撤单!")A_DeleteOrder(BKID) #撤掉买开委托挂单BKDEL = 1 #已发出撤掉买开委托挂单if SPFLG == 1:if A_OrderStatus(SPID) == Enum_Filled():LogInfo("SP信号:卖平委托成交!")SPFLG = 0 #卖平标志归0SPDEL = 0 #卖平撤单标志归0elif A_OrderStatus(SPID) == Enum_Canceled():LogInfo("SP信号:卖平委托已撤!")if A_OrderFilledLot(SPID) > 0: #如果卖平委托部分成交SPM = SPM - A_OrderFilledLot(SPID) #卖平委托手数if BRP > 0 and SPM > 0 and SPM <= BRP: #如果卖平委托手数不超过多头可用持仓SPP = BIDP #卖平委托价格LogInfo("SP信号:卖平委托追价!")retCode, SPID = A_SendOrder(Enum_Sell(),SH,SPM,SPP,code1) #发出卖平委托SPT = NOW #卖平委托时间SPDEL = 0 #卖平撤单标志归0elif A_OrderStatus(SPID) == Enum_Suspended() or A_OrderStatus(SPID) == Enum_FillPart():if SPDEL == 0: #如果未撤单if TimeDiff(SPT, NOW) >= T: #如果时间间隔T秒LogInfo("SP信号:卖平委托撤单!")A_DeleteOrder(SPID) #撤掉卖平委托挂单SPDEL = 1 #已发出撤掉卖平委托挂单if SKFLG == 1:if A_OrderStatus(SKID) == Enum_Filled():LogInfo("SK信号:卖开委托成交!")SKFLG = 0 #卖开标志归0SKDEL = 0 #卖开撤单标志归0elif A_OrderStatus(SKID) == Enum_Canceled():LogInfo("SK信号:卖开委托已撤!")if A_OrderFilledLot(SKID) > 0: #如果卖开委托部分成交SKM = SKM - A_OrderFilledLot(SKID) #卖开委托手数if SKM > 0: #如果卖开委托手数大于0SKP = BIDP #卖开委托价格LogInfo("SK信号:卖开委托追价!")retCode, SKID = A_SendOrder(Enum_Sell(), Enum_Entry(), SKM, SKP,code1) #发出卖开委托SKT = NOW #卖开委托时间SKDEL = 0 #卖开撤单标志归0elif A_OrderStatus(SKID) == Enum_Suspended() or A_OrderStatus(SKID) == Enum_FillPart():if SKDEL == 0: #如果未撤单if TimeDiff(SKT, NOW) >= T: #如果时间间隔T秒LogInfo("SK信号:卖开委托撤单!")A_DeleteOrder(SKID) #撤掉卖开委托挂单SKDEL = 1 #已发出撤掉卖开委托挂单if BPFLG == 1:if A_OrderStatus(BPID) == Enum_Filled():LogInfo("BP信号:买平委托成交!")BPFLG = 0 #买平标志归0BPDEL = 0 #买平撤单标志归0elif A_OrderStatus(BPID) == Enum_Canceled():LogInfo("BP信号:买平委托已撤!")if A_OrderFilledLot(BPID) > 0:  #如果买平委托部分成交BPM = BPM - A_OrderFilledLot(BPID) #买平委托手数if SRP > 0 and BPM > 0 and BPM <= SRP: #如果买平委托手数不超过空头可用持仓BPP = ASKP #买平委托价格LogInfo("BP信号:买平委托追价!")retCode, BPID = A_SendOrder(Enum_Buy(),SH,BPM,BPP,code1) #发出买平委托BPT = NOW #买平委托时间BPDEL = 0 #买平撤单标志归0elif A_OrderStatus(BPID) == Enum_Suspended() or A_OrderStatus(BPID) == Enum_FillPart():if BPDEL == 0: #如果未撤单if TimeDiff(BPT, NOW) >= T: #如果时间间隔T秒LogInfo("BP信号:买平委托撤单!")A_DeleteOrder(BPID) #撤掉买平委托挂单BPDEL = 1 #已发出撤掉买平委托挂单#//------------------------成交判断code2------------------------//if BKFLG2 == 1:if A_OrderStatus(BKID2) == Enum_Filled():LogInfo("BK信号:买开委托成交!")BKFLG2 = 0 #买开标志归0BKDEL2 = 0 #买开撤单标志归0elif A_OrderStatus(BKID2) == Enum_Canceled():LogInfo("BK信号:买开委托已撤!")if A_OrderFilledLot(BKID2) > 0: #如果买开委托部分成交BKM2 = BKM2 - A_OrderFilledLot(BKID2) #买开委托手数if BKM2 > 0: #如果买开委托手数大于0BKP2 = ASKP2 #买开委托价格LogInfo("BK信号:买开委托追价!")retCode2, BKID2 = A_SendOrder(Enum_Buy(),Enum_Entry(),BKM2,BKP2,code2) #发出买开委托BKT2 = NOW #买开委托时间BKDEL2 = 0 #买开撤单标志归0elif A_OrderStatus(BKID2) == Enum_Suspended() or A_OrderStatus(BKID2) == Enum_FillPart():if BKDEL2 == 0: #如果未撤单if TimeDiff(BKT2, NOW) >= T: #如果时间间隔T秒LogInfo("BK信号:买开委托撤单!")A_DeleteOrder(BKID2) #撤掉买开委托挂单BKDEL2 = 1 #已发出撤掉买开委托挂单if SPFLG2 == 1:if A_OrderStatus(SPID2) == Enum_Filled():LogInfo("SP信号:卖平委托成交!")SPFLG2 = 0 #卖平标志归0SPDEL2 = 0 #卖平撤单标志归0elif A_OrderStatus(SPID2) == Enum_Canceled():LogInfo("SP信号:卖平委托已撤!")if A_OrderFilledLot(SPID2) > 0: #如果卖平委托部分成交SPM2 = SPM2 - A_OrderFilledLot(SPID2) #卖平委托手数if BRP2 > 0 and SPM2 > 0 and SPM2 <= BRP2: #如果卖平委托手数不超过多头可用持仓SPP2 = BIDP2 #卖平委托价格LogInfo("SP信号:卖平委托追价!")retCode2, SPID2 = A_SendOrder(Enum_Sell(),SH,SPM2,SPP2,code2) #发出卖平委托SPT2 = NOW #卖平委托时间SPDEL2 = 0 #卖平撤单标志归0elif A_OrderStatus(SPID2) == Enum_Suspended() or A_OrderStatus(SPID2) == Enum_FillPart():if SPDEL2 == 0: #如果未撤单if TimeDiff(SPT2, NOW) >= T: #如果时间间隔T秒LogInfo("SP信号:卖平委托撤单!")A_DeleteOrder(SPID2) #撤掉卖平委托挂单SPDEL2 = 1 #已发出撤掉卖平委托挂单if SKFLG2 == 1:if A_OrderStatus(SKID2) == Enum_Filled():LogInfo("SK信号:卖开委托成交!")SKFLG2 = 0 #卖开标志归0SKDEL2 = 0 #卖开撤单标志归0elif A_OrderStatus(SKID2) == Enum_Canceled():LogInfo("SK信号:卖开委托已撤!")if A_OrderFilledLot(SKID2) > 0: #如果卖开委托部分成交SKM2 = SKM2 - A_OrderFilledLot(SKID2) #卖开委托手数if SKM2 > 0: #如果卖开委托手数大于0SKP2 = BIDP2 #卖开委托价格LogInfo("SK信号:卖开委托追价!")retCode2, SKID2 = A_SendOrder(Enum_Sell(), Enum_Entry(), SKM2, SKP2,code2) #发出卖开委托SKT2 = NOW #卖开委托时间SKDEL2 = 0 #卖开撤单标志归0elif A_OrderStatus(SKID2) == Enum_Suspended() or A_OrderStatus(SKID2) == Enum_FillPart():if SKDEL2 == 0: #如果未撤单if TimeDiff(SKT2, NOW) >= T: #如果时间间隔T秒LogInfo("SK信号:卖开委托撤单!")A_DeleteOrder(SKID2) #撤掉卖开委托挂单SKDEL2 = 1 #已发出撤掉卖开委托挂单if BPFLG2 == 1:if A_OrderStatus(BPID2) == Enum_Filled():LogInfo("BP信号:买平委托成交!")BPFLG2 = 0 #买平标志归0BPDEL2 = 0 #买平撤单标志归0elif A_OrderStatus(BPID2) == Enum_Canceled():LogInfo("BP信号:买平委托已撤!")if A_OrderFilledLot(BPID2) > 0:  #如果买平委托部分成交BPM2 = BPM2 - A_OrderFilledLot(BPID2) #买平委托手数if SRP2 > 0 and BPM2 > 0 and BPM2 <= SRP2: #如果买平委托手数不超过空头可用持仓BPP2 = ASKP2 #买平委托价格LogInfo("BP信号:买平委托追价!")retCode2, BPID2 = A_SendOrder(Enum_Buy(),SH,BPM2,BPP2,code2) #发出买平委托BPT2 = NOW #买平委托时间BPDEL2 = 0 #买平撤单标志归0elif A_OrderStatus(BPID2) == Enum_Suspended() or A_OrderStatus(BPID2) == Enum_FillPart():if BPDEL2 == 0: #如果未撤单if TimeDiff(BPT2, NOW) >= T: #如果时间间隔T秒LogInfo("BP信号:买平委托撤单!")A_DeleteOrder(BPID2) #撤掉买平委托挂单BPDEL2 = 1 #已发出撤掉买平委托挂单#//------------------------委托处理code1------------------------//if BKDFLG == 1:if BKFLG == 0: #如果没有买开委托BKM = N #买开委托手数BKP = ASKP #买开委托价格LogInfo("BK信号:买开委托发出")retCode, BKID = A_SendOrder(Enum_Buy(),Enum_Entry(),BKM,BKP,code1) #发出买开委托BKT = NOW #买开委托时间BKFLG = 1 #已发出买开委托BKDFLG= 0if SPDFLG == 1:if SPFLG == 0: #如果没有卖平委托if BRP > 0: #如果有多头可用持仓SPM = BRP #卖平委托手数SPP = BIDP #卖平委托价格LogInfo("SP信号:卖平委托发出!")retCode, SPID = A_SendOrder(Enum_Sell(),SH,SPM,SPP,code1) #发出卖平委托SPT = NOW #卖平委托时间SPFLG = 1 #已发出卖平委托SPDFLG = 0if SKDFLG == 1:if SKFLG == 0: #如果没有卖开委托SKM = N #卖开委托手数SKP = BIDP #卖开委托价格LogInfo("SK信号:卖开委托发出!")retCode, SKID = A_SendOrder(Enum_Sell(),Enum_Entry(),SKM,SKP,code1) #发出卖开委托SKT = NOW #卖开委托时间SKFLG = 1 #已发出卖开委托SKDFLG = 0if BPDFLG == 1:if BPFLG == 0: #如果没有买平委托if SRP > 0: #如果有空头可用持仓BPM = SRP #买平委托手数BPP = ASKP #买平委托价格LogInfo("BP信号:买平委托发出!")retCode, BPID = A_SendOrder(Enum_Buy(),SH,BPM,BPP,code1) #发出买平委托BPT = NOW #买平委托时间BPFLG = 1 #已发出买平委托BPDFLG =0#//------------------------委托处理code2------------------------//if BKDFLG2 == 1:if BKFLG2 == 0: #如果没有买开委托BKM2 = N #买开委托手数BKP2 = ASKP2 #买开委托价格LogInfo("BK信号:买开委托发出")retCode2, BKID2 = A_SendOrder(Enum_Buy(),Enum_Entry(),BKM2,BKP2,code2) #发出买开委托BKT2 = NOW #买开委托时间BKFLG2 = 1 #已发出买开委托BKDFLG2 = 0if SPDFLG2 == 1:if SPFLG2 == 0: #如果没有卖平委托if BRP2 > 0: #如果有多头可用持仓SPM2 = BRP2 #卖平委托手数SPP2 = BIDP2 #卖平委托价格LogInfo("SP信号:卖平委托发出!")retCode2, SPID2 = A_SendOrder(Enum_Sell(),SH,SPM2,SPP2,code2) #发出卖平委托SPT2 = NOW #卖平委托时间SPFLG2 = 1 #已发出卖平委托SPDFLG2 = 0if SKDFLG2 == 1:if SKFLG2 == 0: #如果没有卖开委托SKM2 = N #卖开委托手数SKP2 = BIDP2 #卖开委托价格LogInfo("SK信号:卖开委托发出!")retCode2, SKID2 = A_SendOrder(Enum_Sell(),Enum_Entry(),SKM2,SKP2,code2) #发出卖开委托SKT2 = NOW #卖开委托时间SKFLG2 = 1 #已发出卖开委托SKDFLG2 = 0if BPDFLG2 == 1:if BPFLG2 == 0: #如果没有买平委托if SRP2 > 0: #如果有空头可用持仓BPM2 = SRP2 #买平委托手数BPP2 = ASKP2 #买平委托价格LogInfo("BP信号:买平委托发出!")retCode2, BPID2 = A_SendOrder(Enum_Buy(),SH,BPM2,BPP2,code2) #发出买平委托BPT2 = NOW #买平委托时间BPFLG2 = 1 #已发出买平委托BPDFLG2 =0

http://www.hkea.cn/news/765924/

相关文章:

  • 代还信用卡网站建设赣州seo顾问
  • 响应式网站建设推广开网店
  • 成都专业网站推广公司优化大师优化项目有
  • 怎么用wordpress搭建网站百度关键词排名点
  • 外挂网站模板域名搜索引擎入口
  • 手机网站开发 pdfseo搜索引擎优化工作内容
  • 上海中小网站建设洛阳seo博客
  • 南宁网站建设公司哪家专业搜索引擎优化包括
  • 新疆住房与建设厅网站新产品推广方式有哪些
  • 做网站站怎么赚钱网络营销模式有哪些?
  • 南通城市建设集团有限公司网站南京谷歌推广
  • 南通网站定制方案怎么查找关键词排名
  • 权大师的网站是哪个公司做的百度做个人简介多少钱
  • 烟台网站建设设计软文广告经典案例100字
  • 做微信用什么网站广州百度seo代理
  • 网站建设目标 优帮云跨境电商营销推广
  • 郑州华恩科技做网站怎么样竞价排名适合百度吗
  • flask做大型网站开发深圳seo博客
  • 合肥网站建设平台小程序怎么引流推广
  • 做网站被拘留免费找客源软件
  • 门户型网站建设百度seo快速提升排名
  • 印度做杂质的网站如何进行网络推广
  • 建设厅八大员兴安盟新百度县seo快速排名
  • 南京网站建设索q.479185700小说排行榜百度
  • 幼儿做爰网站seo工程师是什么职业
  • 申请空间 建立网站吗西安百度推广运营
  • 做花馍网站百度联盟
  • 沈阳建设企业网站google浏览器官网
  • 毕业论文 网站开发营销qq下载
  • 建网站要多长时间外贸网站优化