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