Citation de la stratégie d'équilibrage de la plateforme de feuille de calcul JavaScript
Si la valeur de la pièce est supérieure au solde de la pièce est supérieure à 5000 et la différence est supérieure à la dépréciation, par exemple, si la pièce est maintenant de 6000 dollars, on vend 6 000/2 pièces, c'est-à-dire si la pièce est en hausse, on change l'argent, si la pièce est dépréciée, par exemple 4000, on achète 5 000-4 000/4 000/2 pièces, on en achète de nouveau quand la pièce est en baisse, et si elle est en baisse, on la vend de nouveau, comme si c'était un équilibre, une couverture différente des deux côtés, donc je l'appelle une stratégie d'équilibre
L'adresse de l'article est:https://www.fmz.com/bbs-topic/4986
'''backtest start: 2019-12-01 00:00:00 end: 2020-02-01 11:00:00 period: 1m exchanges: [{"eid":"OKEX","currency":"BTC_USDT","stocks":1}] ''' InitAccount = None def CancelPendingOrders(): ret = False while True: orders = _C(exchange.GetOrders) if len(orders) == 0 : return ret for j in range(len(orders)): exchange.CancelOrder(orders[j].Id) ret = True if j < len(orders) - 1: Sleep(Interval) return ret def onTick(): acc = _C(exchange.GetAccount) ticker = _C(exchange.GetTicker) spread = ticker.Sell - ticker.Buy diffAsset = (acc.Balance - (acc.Stocks * ticker.Sell)) / 2 ratio = diffAsset / acc.Balance LogStatus("ratio:", ratio, _D()) if abs(ratio) < threshold: return False if ratio > 0 : buyPrice = _N(ticker.Sell + spread, ZPrecision) buyAmount = _N(diffAsset / buyPrice, XPrecision) if buyAmount < MinStock: return False exchange.Buy(buyPrice, buyAmount, diffAsset, ratio) else : sellPrice = _N(ticker.Buy - spread, ZPrecision) sellAmount = _N(-diffAsset / sellPrice, XPrecision) if sellAmount < MinStock: return False exchange.Sell(sellPrice, sellAmount, diffAsset, ratio) return True def main(): global InitAccount, LoopInterval InitAccount = _C(exchange.GetAccount) LoopInterval = max(LoopInterval, 1) while True: if onTick(): Sleep(1000) CancelPendingOrders() Log(_C(exchange.GetAccount)) Sleep(LoopInterval * 1000)