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

اس کے علاوہ، اس کے لئے پیرامیٹرز کی ضرورت ہے:
یہ ایک بہت ہی عجیب طریقہ ہے، میں نہیں جانتا کہ کیا کوئی فنکشن ہے جو شروع کیا جا سکتا ہے؟
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
ٹاسک. جوائن () کو کال کرنے سے جوائن ٹاسک ختم ہو جائے گا اور خالص مالیت کا ڈیٹا واپس آئے گا۔ جوائن پیرامیٹرز کو ٹرو نہیں کہا جاتا ہے۔ اس کا مطلب یہ ہے کہ اصل غیر تجزیہ شدہ جوائن کا نتیجہ واپس آ جائے گا۔ اس کے بعد ، ٹرانزیکشن یا حالات سے متعلق افعال کو کال نہیں کیا جاسکتا ہے۔
اس کے بعد، میں نے اس کے بارے میں سوچا کہ اس کا مطلب یہ ہے کہ اس کی حکمت عملی کے نتیجے میں کیا ہوتا ہے.
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 فراہم کرتے ہیں تو آپ کامیابی کے ساتھ اندراج کرسکتے ہیں ، دو ہفتوں کے مقابلے کے طور پر ، ہمارے بونس کو جیتنا بھی اچھا ہے۔