1
پر توجہ دیں
6
پیروکار

ہم نے آن لائن گرڈ ٹریڈنگ بیک ٹیسٹنگ فنکشن کے لیے fmz کا استعمال کیا۔

میں تخلیق کیا: 2020-10-18 23:56:01, تازہ کاری:
comments   2
hits   4457

اصل پر واپس

اس سے پہلے ، میں ٹولز کی تلاش میں تھا جو حقیقی وقت کی پیمائش کرسکتی ہے ، اور میں نے کچھ عرصے سے اس بات پر کام کیا ہے کہ آیا vnpy کو انٹرفیس میں تبدیل کرنا بہت مشکل ہے یا نہیں۔ آخر میں، میں نے ایف ایم زیڈ کے ابتدائی رہنمائی میں موجود دستاویزات کو پڑھا۔ اس کے بعد ہم نے اس کے بارے میں بات کی اور اس کے بارے میں سوچا کہ کیا اس میں کوئی ایسا فنکشن ہے جو ہم چاہتے ہیں اور ہم نے اس کو استعمال کیا اور پھر ہم نے اس کے بارے میں بات کرنے کے لئے 6 ماہ کا وقت لیا۔ اس کے علاوہ ، ایف ایم زیڈ کے مضامین بہت کم ہیں ، لیکن یہ ابتدائی رہنمائی میں اتنا مفید ہے ، اس کے بعد میں نے پوسٹ کرکے پوچھا۔

ایک تو یہ ہے کہ صارف کو اپنے طور پر شروع ہونے اور ختم ہونے کا وقت منتخب کرنے کی اجازت ہے۔ ہم نے آن لائن گرڈ ٹریڈنگ بیک ٹیسٹنگ فنکشن کے لیے fmz کا استعمال کیا۔

اس کے علاوہ، اس کے لئے پیرامیٹرز کی ضرورت ہے:

ہم نے آن لائن گرڈ ٹریڈنگ بیک ٹیسٹنگ فنکشن کے لیے fmz کا استعمال کیا۔ یہ ایک بہت ہی عجیب طریقہ ہے، میں نہیں جانتا کہ کیا کوئی فنکشن ہے جو شروع کیا جا سکتا ہے؟

self.grid_setting = {
          "min_price": min_price,
          "max_price": max_price,
          "grid_diff": grid_diff,
          "re_diff": grid_diff,
          "total_amount_B": total_amount_B
      }

گرڈ ترتیب پیرامیٹرز: کم سے کم ، زیادہ سے زیادہ قیمت ، گرڈ کی تقسیم کے وقفے اور دوبارہ لسٹنگ کے وقفے

یہ صارف کی طرف سے جمع کردہ پیرامیٹرز ہیں۔

بنیادی بس فنکشن ہے

    def bus(self):
      params = gen_params(self.begin, self.end, self.currency, self.balance, self.stocks)
      task = VCtx(params)
      done = self.train()
      ret = task.Join(True)
      benefit_cal = self.cal_benefit(ret,done)
      result = {}
      result['done'] = done
      result['ret'] = benefit_cal
      return result
  • ابھی gen_params فنکشن کے ذریعے fmz کی واپسی کی تشکیل حاصل کریں
  • رن ٹریننگ فنکشن
  • ایف ایم زیڈ کی واپسی کے اعداد و شمار کی ساخت پر مبنی ، منافع کی شرح کا حساب کتاب اور ٹرانزیکشن ریکارڈ کی نمائش

ٹاسک. جوائن () کو کال کرنے سے جوائن ٹاسک ختم ہو جائے گا اور خالص مالیت کا ڈیٹا واپس آئے گا۔ جوائن پیرامیٹرز کو ٹرو نہیں کہا جاتا ہے۔ اس کا مطلب یہ ہے کہ اصل غیر تجزیہ شدہ جوائن کا نتیجہ واپس آ جائے گا۔ اس کے بعد ، ٹرانزیکشن یا حالات سے متعلق افعال کو کال نہیں کیا جاسکتا ہے۔

اس کے بعد، میں نے اس کے بارے میں سوچا کہ اس کا مطلب یہ ہے کہ اس کی حکمت عملی کے نتیجے میں کیا ہوتا ہے.

FMZ واپسی کے لئے آمدنی کے اعداد و شمار کے ساتھ منسلک کوڈ حساب

  def cal_benefit(self,ret,done):
      #计算相隔多少天
      day_begin =  datetime.datetime.strptime(self.begin, '%Y-%m-%d %H:%M:%S')
      day_end =  datetime.datetime.strptime(self.end, '%Y-%m-%d %H:%M:%S')
      days = (day_end - day_begin).days
      begin = ret.iloc[0].net
      end = ret.iloc[-1].net
      fee = ret.iloc[-1].fee
      #计算一共多少次套利
      df = pd.DataFrame(done)
      #如果没有成交记录
      if len(done) == 0:
          benefit_cal = {}
          benefit_cal['benefit'] = 0
          benefit_cal['count'] = 0
          benefit_cal['fee'] = 0
          benefit_cal['benefit_p'] = 0
          return benefit_cal

      buy_count = len(df[df['type'] == 'buy'])
      sell_count = len(df[df['type'] == 'sell'])
      count = min(buy_count , sell_count)
      benefit = count * self.grid_diff * float(done[0]['amount'])
      benefit_cal = {}
      benefit_cal['benefit']= benefit
      benefit_cal['count']= count
      benefit_cal['fee']= fee
      print(benefit_cal)
      per = benefit / self.total_amount_B * 360 / days
      print(per)
      benefit_cal['benefit_p']= round( per , 4)
      return benefit_cal

اس کے علاوہ، ہم نے اپنے نیٹ ورک کے بارے میں سوچا ہے، اور ہم نے اس کے بارے میں سوچا ہے کہ ہم اس کے بارے میں کیا سوچتے ہیں.

اسکرین شاٹ چیک کا استعمال کرتے ہوئے

  • صارف کے پیرامیٹرز کی بنیاد پر گرڈ کو شروع کریں
  • پہلی بار اندراج
  • خرید و فروخت کی فہرستوں کی بروقت جانچ پڑتال اور ان کی تجدید
          while True:
              Sleep(1000 * 60 * 5)
              if 'refreash_data_finish!' != mid.refreash_data():
                  continue
              # 初始化网格
              if not init_flag:
                  cur_price = mid.ticker['Last']
                  grid_list = grid.cal_grid_list(cur_price)
                  init_flag = True

              # 开始挂单
              if not place_flag:
                  grid.place_orders()
                  place_flag = True

              # 开始检查订单状态及时挂单
              grid.check_order_update()
              done = grid.done

اس کا مطلب یہ ہے کہ آپ کو اس کے بارے میں مزید معلومات حاصل کرنے کی ضرورت نہیں ہے۔

اس بار اشتراک کرنے کا بنیادی مقصد یہ ہے کہ ایف ایم زیڈ 14 دن کے اندر اندر اس کی رفتار کا جائزہ لے رہا ہے جو بنیادی طور پر سامنے والے صارف کے انتظار کے وقت کو پورا کرسکتا ہے ، اور اس کے بعد یہ تھوڑا سا سست ہوجاتا ہے ، یہ ایک انٹرفیس کے طور پر ایک اچھا ذریعہ ہے جس میں مقداری جائزہ لیا جاتا ہے ، ایک کے لئے شکریہ!

ٹھیک ہے ، اس بار بھی ایک بار پھر تجارتی مقابلہ کی تشہیر کرنے کے لئے واپس آئے ہیں ، ہم نے ہمیشہ جیتنے والی کوانٹومیشن ٹیم نے ایک تجارتی مقابلہ کیا ہے ، جس میں مفت میں حصہ لیا گیا ہے۔ جب تک آپ انکوائری API فراہم کرتے ہیں تو آپ کامیابی کے ساتھ اندراج کرسکتے ہیں ، دو ہفتوں کے مقابلے کے طور پر ، ہمارے بونس کو جیتنا بھی اچھا ہے۔