صرف سیکھنے کے لئے، حقیقی مارکیٹ میں استعمال کرتے وقت محتاط رہیں.
صرف ڈیجیٹل کرنسی تبادلے پر چلتا ہے.
نوٹ: اس حکمت عملی میں ٹیمپلیٹ شامل ہے.
beginners کے اس حکمت عملی کے ساتھ شروع کر سکتے ہیں، سیکھنے کے لئے کس طرح کوڈ، backtesting اور حقیقی مارکیٹ کے درمیان فرق جانتے ہیں.
/*backtest start: 2020-10-11 00:00:00 end: 2020-10-11 23:59:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Binance","currency":"BTC_USDT"}] */ start = false function main() { Log('started'); var initAccount = _C(exchange.GetAccount); var ticker = exchange.GetTicker(); var InitValue = (initAccount.Stocks + initAccount.FrozenStocks)*ticker.Last + initAccount.Balance + initAccount.FrozenBalance; while (true) { var records = _C(exchange.GetRecords, PERIOD_M15); if(!start){ Log(records[0], records.length) start = true } ticker =_C(exchange.GetTicker); var FastRecords = TA.MA(records,FastPeriod); var SlowRecords = TA.MA(records,SlowPeriod); var NowAccount = _C(exchange.GetAccount); var n = _Cross(FastRecords, SlowRecords); if (n >= EnterPeriod && NowAccount.Balance > 0) { var Price = _N(ticker.Sell+Slippage, 2); var Amount = _N(0.99*NowAccount.Balance/Price, 3); if(Amount>0.1){ var id = exchange.Buy(Price, Amount); if(exchange.GetOrders(id).Status == ORDER_STATE_PENDING){exchange.CancelOrder(id);} LogProfit((NowAccount.Stocks + NowAccount.FrozenStocks)*ticker.Last + NowAccount.Balance + NowAccount.FrozenBalance - InitValue); } } if(n <= -EnterPeriod && NowAccount.Stocks > 0) { var Price = _N(ticker.Buy-Slippage, 2); var Amount = _N(NowAccount.Stocks, 3); if(Amount>0.1){ var id = exchange.Sell(Price, Amount); if(exchange.GetOrders(id).Status == ORDER_STATE_PENDING){exchange.CancelOrder(id);} LogProfit((NowAccount.Stocks + NowAccount.FrozenStocks)*ticker.Last + NowAccount.Balance + NowAccount.FrozenBalance - InitValue); } } if(!IsVirtual()){ Sleep(Interval*1000) } } }
جیمی سے محبتexchange.GetOrders ((id).Status کو exchange.GetOrders ((id).type ہونا چاہئے، ٹھیک ہے؟