এর আগে, আমি এমন একটি সরঞ্জাম খুঁজছিলাম যা রিয়েল-টাইম রিটার্নিং করতে পারে, এবং কিছুক্ষণের জন্য, vnpy এর ইন্টারফেস হওয়া খুব কঠিন মনে হয়েছিল। অবশেষে, আমি 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
Join () কলটি পুনঃনিরীক্ষণের কাজটি শেষ করে এবং নিট মূল্যের ডেটা ফেরত দেয়। যোগদানের প্যারামিটারটি সত্য নয়। এটি পুনঃনিরীক্ষণের ফলাফল ফেরত দেয় যা মূলত বিশ্লেষণ করা হয়নি। শেষ হওয়ার পরে, কোনও লেনদেন বা পরিস্থিতি সম্পর্কিত ফাংশন আর কল করা যাবে না।
আমি ডকুমেন্টের মাধ্যমে অনুমান করছি যে কৌশলটির ফলাফল কী ফেরত দেয়।
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
আমি মনে করি, এই প্রথমবারের মতো, এটি তুলনামূলকভাবে অযৌক্তিক।
এইবার আমি মূলত এই কথাটি শেয়ার করতে চাই যে fmz এর 14 দিনের মধ্যে রিটার্নিং এর গতি মূলত ফরোয়ার্ড এ ব্যবহারকারীর অপেক্ষার সময় পূরণ করতে পারে, এটি দীর্ঘ হলে এটি কিছুটা ধীর হয়ে যায়, এটি একটি ইন্টারফেস হিসাবে একটি ভাল সরঞ্জাম হিসাবে একটি কোয়ান্টাম রিটার্নিং, প্রশংসা!
ঠিক আছে, এইবার আমরা আবারও একটি ট্রেডিং প্রতিযোগিতার প্রচার করতে এসেছি, আমাদের উইন উইন কোয়ান্টিফিকেশন টিম একটি ট্রেডিং প্রতিযোগিতা করেছে, বিনামূল্যে অংশগ্রহণ। যতক্ষণ না আপনি অনুসন্ধান এপিআই সরবরাহ করেন ততক্ষণ আপনি সফলভাবে নিবন্ধন করতে পারেন, দ্বি-সপ্তাহের প্রতিযোগিতা হিসাবে, আমাদের পুরষ্কারটি জিততে খুব ভাল। যোগাযোগের নম্বর fengye607 ছেড়ে দিন। জানি না যে এটি বলা যায় না, ছোট ঘাস আমাকে মুছে ফেলবেন না, আমি এমনকি প্ল্যাটফর্মের ঠিকানাটিও প্রকাশ করতে পারি না, ((^)