पहले मैं एक उपकरण की तलाश में था जो वास्तविक समय में पुनः परीक्षण कर सकता है, और कुछ समय के लिए मैंने 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
जॉइन () कॉल करने से पुनः परीक्षण कार्य समाप्त हो जाता है और शुद्ध डेटा वापस आ जाता है। जोइन पैरामीटर True नहीं देता है। जोइन मूल अनप्लस किए गए पुनः परीक्षण परिणामों को लौटाता है और लेनदेन या बाजार से संबंधित फ़ंक्शन को समाप्त करने के बाद नहीं बुला सकता है।
मैं दस्तावेजों के माध्यम से अनुमान लगा रहा हूं कि रणनीतिक परिणामों का क्या मतलब है।
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 दिनों की रिज़ॉल्यूशन गति मूल रूप से उपयोगकर्ताओं के लिए फ्रंट-एंड प्रतीक्षा समय को पूरा कर सकती है, लंबे समय तक थोड़ा धीमा हो जाता है, एक क्वांटिफाइड रिज़ॉल्यूशन के रूप में इंटरफ़ेस का एक अच्छा उपकरण है, वाह एक!
हाँ, इस बार भी एक व्यापार प्रतियोगिता का प्रचार करने के लिए वापस आ गया है, हमारी अनंत जीत क्वांटिफाइंग टीम ने एक व्यापार प्रतियोगिता आयोजित की है, जिसमें भाग लेने के लिए निः शुल्क है । जब तक आप पूछताछ एपीआई प्रदान करते हैं, तो आप सफल पंजीकरण कर सकते हैं, एक दो सप्ताह का प्रतियोगिता के रूप में, हमारे पुरस्कारों को चिह्नित करना भी अच्छा है । एक संपर्क फ़ॉर्म छोड़ दें fengye607। पता नहीं है कि ऐसा नहीं कहा जा सकता है, छोटी घास मुझे हटाओ मत, मैं मंच का पता भी नहीं भेज रहा हूं,
घासआपको वास्तविक समय में ट्रेडों को प्राप्त करने की आवश्यकता है और फिर रीट्रीट के परिणामों का अनुकरण करना है। यह कुछ परेशानी पैदा कर सकता है, यदि केवल एक लेनदेन जोड़ी है तो आप अपने स्वयं के रीट्रीट इंजन को लिखने का प्रयास कर सकते हैं, यह जटिल नहीं है।