جاوا اسکرپٹ پلیٹ فارم سے متوازن پالیسی کا حوالہ دیتے ہوئے
اس کے لیے اسٹوریج بنانا پڑتا ہے، مثال کے طور پر اگر آپ کے اکاؤنٹ میں 5000 روپے ہیں، اور ایک سکے کے ساتھ، اگر سکے کی قدر آپ کے اکاؤنٹ میں 5000 روپے سے زیادہ ہے اور اس کی قیمت آپ کی قیمت سے زیادہ ہے، مثال کے طور پر اگر آپ کے اکاؤنٹ میں 6000 روپے ہیں، تو آپ اسے بیچ دیں گے، یعنی 6000-5000/6000/2 روپے، یعنی اگر آپ کے اکاؤنٹ میں 5000-4000 روپے ہیں، تو آپ اسے واپس کریں گے، اگر آپ کے اکاؤنٹ میں 5000-4000 روپے ہیں، تو آپ اسے خریدیں گے، اور اگر آپ کے اکاؤنٹ میں 5000 روپے ہیں، تو آپ اسے واپس خریدیں گے، اور اگر آپ کے اکاؤنٹ میں 5000 روپے ہیں، تو آپ اسے دوبارہ بیچ دیں گے، جیسے کہ آپ کے اکاؤنٹ میں 6000 روپے ہیں، تو آپ اسے بیچ دیں گے، اور اگر آپ کے اکاؤنٹ میں 5000-4000 روپے ہیں، تو آپ اسے بیچ دیں گے، اور اگر آپ کے اکاؤنٹ میں 5000-4000 روپے ہیں، تو آپ اسے بیچ دیں گے، اور اگر آپ کے اکاؤنٹ میں 5000-4000 روپے ہیں، تو آپ اسے خریدیں گے، اور اگر آپ کے اکاؤنٹ میں 5000 روپے ہیں، تو
مضمون کا پتہ: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)