Type/to search
8
Follow
1364
Followers
سنگل پلیٹ فارم توازن کی حکمت عملی کا ازگر ورژن
Discussions
Created 2020-02-05 10:02:03  Updated 2023-10-12 21:20:47
 1
 2965

img

سنگل پلیٹ فارم توازن کی حکمت عملی کا ازگر ورژن

جاوا اسکرپٹ ورژن

حکمت عملی کا پتہ: https://www.fmz.com/strategy/345

اس مضمون میں، آئیے ایک سادہ JavaScript حکمت عملی کو پورٹ کرنے کی مشق کریں۔ حکمت عملیوں کو ٹرانسپلانٹ کرنے سے، آپ انوینٹر کوانٹیٹیو ٹریڈنگ پلیٹ فارم انٹرفیس کی کالوں سے زیادہ واقف ہو جائیں گے اور پلیٹ فارم پر حکمت عملی تیار کرتے وقت مختلف زبانوں کے درمیان معمولی فرق کو سمجھیں گے، درحقیقت JavaScript ورژن کی حکمت عملی اور Python ورژن کے درمیان فرق حکمت عملی بہت چھوٹی ہے کیونکہ انٹرفیس کالز بنیادی طور پر ایک جیسی ہیں۔

حکمت عملی کی تفصیل

ہدایات کے جاوا اسکرپٹ ورژن سے حوالہ دیتے ہوئے:

اس کے لیے پوزیشن کھولنے کی ضرورت ہے، مثال کے طور پر، اگر اکاؤنٹ میں 5,000 یوآن اور 1 سکہ ہے، اگر سکے کی قیمت اکاؤنٹ بیلنس 5,000 سے زیادہ ہے اور قیمت کا فرق حد سے زیادہ ہے، مثال کے طور پر، سکے کی قیمت اب 6000 ہے۔ یوآن، پھر (6,000-5,000)/6,000/2 سکے بیچیں، اس کا مطلب ہے کہ سکے کی قدر ہو گئی ہے، رقم واپس کر دیں، مثال کے طور پر، 4000 یوآن، خریدیں (5000-4000)/4000/2۔ سکے، سکہ گرنے پر کچھ واپس خریدیں، اگر یہ دوبارہ اوپر جاتا ہے، تو میں اسے دوبارہ بیچ دوں گا، بالکل بیلنس کی طرح، جس کے دونوں طرف مختلف ہیجز ہیں، اس لیے میں نے اسے متوازن حکمت عملی کا نام دیا۔

حکمت عملی کا اصول بہت آسان ہے، اور کوڈ کا جاوا اسکرپٹ ورژن لمبا نہیں ہے، صرف 70 لائنوں سے زیادہ ہے۔ مزید جامع نحو کے ساتھ ازگر کی زبان کی حکمت عملی میں ٹرانسپلانٹ کیا گیا، یہ کوڈ ابتدائی افراد کے سیکھنے کے لیے بہت موزوں ہے، موجد مقداری تجارتی پلیٹ فارم پر ڈویلپرز کے اشتراک کردہ بہت سے کوڈز ہیں، اور زبان اس کی حمایت کرتی ہے۔JavaScript/C++/Pythonوغیرہ، اس لیے ایک اور ترقیاتی زبان پر عبور حاصل کرنا نہ صرف سیکھنے، تحقیق اور ترقی کی حکمت عملیوں کے لیے مددگار ہے، بلکہ آپ کو پلیٹ فارم کے مختلف API انٹرفیس سے زیادہ واقف ہونے کی بھی اجازت دیتا ہے۔

حکمت عملی کوڈ

'''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)

کوڈ سے شروع ہوتا ہے۔

'''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}] '''

یہ بیکٹیسٹ کنفیگریشن ہے، جس کا مطلب ہے کہ بیکٹیسٹ کنفیگریشن (ترتیبات) کوڈ کی صورت میں محفوظ کی جاتی ہیں، اور بیک ٹیسٹ خود بخود اس ترتیب کے مطابق ترتیب دیا جاتا ہے۔ اس حصے کو حذف کیا جا سکتا ہے اگر اسے حذف کر دیا جاتا ہے، تو آپ کو بیک ٹیسٹنگ کے دوران بیک ٹیسٹ صفحہ پر بیکٹیسٹ کنفیگریشن کی معلومات کو دستی طور پر سیٹ کرنا ہوگا۔
حوالہ: https://www.fmz.com/bbs-topic/859

اس حکمت عملی کے پیرامیٹرز بالکل اسی طرح کے ہیں جیسے کہ اسٹریٹیجی کوڈ کو جملے کے لحاظ سے ٹرانسپلانٹ کیا گیا ہے، اور پروگرام کا ڈھانچہ مختلف میں لکھی گئی حکمت عملیوں کے درمیان فرق دیکھنے کے لیے ان کا جملے سے موازنہ کر سکتے ہیں۔ زبانیں

بیک ٹیسٹنگ

پیرامیٹر کی ترتیب
img

شماریات
img

img

حکمت عملی کا پتہ: https://www.fmz.com/strategy/183374

حکمت عملی صرف حوالہ، بیک ٹیسٹنگ اور جانچ کے لیے ہے، اگر آپ دلچسپی رکھتے ہیں، تو آپ اسے بہتر اور اپ گریڈ کر سکتے ہیں۔

Related Recommendations
Comment
All comments (1)

    好牛啊

    4 years ago
  • 1
iPhone Download
Forums
PINE Language
© 2015 - ∞ INVENTOR PTE LTD (SG)