জাভাস্ক্রিপ্ট স্লট প্ল্যাটফর্ম সমীকরণ নীতি থেকে উদ্ধৃতি
এই স্টোরেজটি তৈরি করতে হবে, উদাহরণস্বরূপ, আপনার অ্যাকাউন্টে 5000 ডলার আছে, এবং 1 টাকার সাথে, যদি টাকার মূল্য অ্যাকাউন্টের ব্যালেন্সের চেয়ে 5000 বেশি হয় এবং এর দামের পার্থক্যটি হ্রাসের চেয়ে বেশি হয়, উদাহরণস্বরূপ, টাকার মূল্য এখন 6000 ডলার, আপনি এটি বিক্রি করবেন, যদি টাকার মূল্য বৃদ্ধি পায়, আপনি এটি ফেরত পাবেন, যদি এটি হ্রাস পায়, উদাহরণস্বরূপ, 4000 ডলার, আপনি এটি কিনবেন, যদি এটি হ্রাস পায়, আপনি কিছু কিনবেন, যদি এটি হ্রাস পায়, আপনি এটি আবার বিক্রি করবেন, যেমন একটি সমতুল্য, উভয় পক্ষের বিভিন্ন হেজিং, তাই আমি এটিকে ভারসাম্যপূর্ণ কৌশল বলি।
নিবন্ধের ঠিকানাঃ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)