El código original está disponible:https://www.fmz.com/bbs-topic/4908
Ahora está en versión de contrato.
Y ahora, por ejemplo, la cantidad de personas que han sido asesinadas por el gobierno de los Estados Unidos.
Una buena plataforma de negociación puede hacer que tu estrategia se mueva hasta los 90.000, y puedes obtener dos meses de descuento en las tarifas VIP5 al registrarte con este enlace: (Instantáneo: 0 por ciento de la lista, 0.07 por ciento de la lista de comidas); Contrato: 0 por ciento de la lista de comidas, 0.04 por ciento de la lista de comidas)https://www.kucoin.cc/ucenter/signup?rcode=1wxJ2fQ&lang=zh_CN&utmsource=VIP_TF
'''backtest start: 2021-05-01 00:00:00 end: 2021-05-29 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] ''' # 原版代码是现货版: # https://www.fmz.com/bbs-topic/4908 # 现在改为合约版。 # ———— 韬奋量化(微信:himandy) # 好的交易平台可以让你的策略扶摇直上九万里,通过链接注册可获得两个月VIP5的手续费率优惠: # (现货:挂单0%,吃单0.07%。合约:挂单0%,吃单0.04%) # https://www.kucoin.cc/ucenter/signup?rcode=1wxJ2fQ&lang=zh_CN&utmsource=VIP_TF import time basePrice = -1 ratio = 0.05 acc = _C(exchange.GetAccount) pos = _C(exchange.GetPosition) lastCancelAll = 0 minStocks = 0.01 def CancelAll(): while True : orders = _C(exchange.GetOrders) for i in range(len(orders)) : exchange.CancelOrder(orders[i]["Id"], orders[i]) if len(orders) == 0 : break Sleep(1000) def main(): global basePrice, acc, lastCancelAll, leverage, StopGain, StopLoss #Log(StopLoss * -1) exchange.SetContractType("swap") exchange.SetMarginLevel(leverage) exchange.SetPrecision(2, 3) pos = _C(exchange.GetPosition) while True: ticker = _C(exchange.GetTicker) if basePrice == -1 : basePrice = ticker.Last if ticker.Last - basePrice > 0 and (ticker.Last - basePrice) / basePrice > ratio : acc = _C(exchange.GetAccount) if acc.Balance * ratio * leverage / ticker.Last > minStocks and len(pos) == 0: exchange.SetDirection("buy") exchange.Buy(_N(ticker.Last, 2), _N(acc.Balance * ratio / ticker.Last, 3)) basePrice = ticker.Last ts = time.time() if ts - lastCancelAll > 60 * 5 : CancelAll() lastCancelAll = ts pos = _C(exchange.GetPosition) if ticker.Last - basePrice < 0 and (basePrice - ticker.Last) / basePrice > ratio : acc = _C(exchange.GetAccount) pos = _C(exchange.GetPosition) if acc.Balance * ratio * leverage / ticker.Last > minStocks and len(pos) == 0: exchange.SetDirection("sell") exchange.Sell(_N(ticker.Last, 2), _N(acc.Balance * ratio / ticker.Last, 3)) basePrice = ticker.Last ts = time.time() if ts - lastCancelAll > 60 * 5 : CancelAll() lastCancelAll = ts pos = _C(exchange.GetPosition) if len(pos) == 1 : #Log(pos) if pos[0]["Profit"] / pos[0]["Margin"] > StopGain : if pos[0]["Type"] == 0 : exchange.SetDirection("closebuy") exchange.Sell(-1, pos[0]["Amount"]) pos = _C(exchange.GetPosition) elif pos[0]["Type"] == 1 : exchange.SetDirection("closesell") exchange.Buy(-1, pos[0]["Amount"]) pos = _C(exchange.GetPosition) elif pos[0]["Profit"] / pos[0]["Margin"] < StopLoss * -1 : if pos[0]["Type"] == 0 : exchange.SetDirection("closebuy") exchange.Sell(-1, pos[0]["Amount"]) pos = _C(exchange.GetPosition) elif pos[0]["Type"] == 1 : exchange.SetDirection("closesell") exchange.Buy(-1, pos[0]["Amount"]) pos = _C(exchange.GetPosition) LogStatus(_D(), "\n", "行情信息:", ticker, "\n", "账户信息:", acc) if exchange.GetName() == "Futures_Binance" and IsVirtual() == false : LogProfit(_N(float(acc["Info"]["totalWalletBalance"], 4))) Sleep(500)
77924998¿Puede escribir una multiculturalidad?
El esfuerzo por cuantificarNo es difícil.