एफएमजेड ने पायथन के लिए एक मूल खोज इंजन लॉन्च किया

लेखक:छोटे सपने, बनाया गयाः 2018-04-13 09:48:31, अद्यतन किया गयाः 2019-08-19 16:30:05

एफएमजेड ने पायथन के लिए एक मूल खोज इंजन लॉन्च किया

FMZ backtest engine python पैकेज एफएमजेड रीमेक इंजन python संग्रह support python2 and python3, support Windows, Linux, Mac पायथन 2 और पायथन 3 को सपोर्ट करता है, विंडोज सिस्टम, लिनक्स सिस्टम, एप्पल मैक ओएस सिस्टम का समर्थन करता है

स्थापित करना

स्थापित करना कमांड लाइन में, निम्न कमांड दर्ज करेंः

pip install https://github.com/fmzquant/backtest_python/archive/master.zip
  • ध्यान देंः Apple Mac सिस्टम को स्थापित करते समय, यदि सुरक्षा सीमाएं हैं, तो pip कमांड से पहले sudo कमांड जोड़ने की आवश्यकता होती है, और पूरे इंस्टॉलेशन कमांड को निष्पादित करने से पहले सिस्टम पासवर्ड दर्ज करने की आवश्यकता होती है।

सरल उदाहरण

सरल उदाहरण

'''backtest
start: 2018-02-19 00:00:00
end: 2018-03-22 12:00:00
period: 15m
exchanges: [{"eid":"OKEX","currency":"LTC_BTC","balance":3,"stocks":0}]
'''
from fmz import *
task = VCtx(__doc__) # initialize backtest engine from __doc__
print exchange.GetAccount()
print exchange.GetTicker()
print task.Join() # print backtest result

The config string can be generated automatically by saving the backtest configuration in the strategy edit page. config स्ट्रिंग को स्वचालित रूप से उत्पन्न किया जा सकता है by saving the backtest configuration in the strategy edit page. कॉन्फ़िगरेशन स्ट्रिंग को नीति संपादक इंटरफ़ेस में सहेजे गए रीसेट कॉन्फ़िगरेशन से स्वचालित रूप से उत्पन्न किया जा सकता है

meta

प्रलेखन

एपीआई दस्तावेज़ः (यानी उदाहरण में GetAccount जैसे फ़ंक्शन को कॉल करने के लिए दस्तावेज़)

पायथन कोड के लिए सरल टिप्पणीः

'''backtest
start: 2018-02-19 00:00:00
end: 2018-03-22 12:00:00
period: 15m
exchanges: [{"eid":"OKEX","currency":"LTC_BTC","balance":3,"stocks":0}]
'''
from fmz import *                                                  # 引用 发明者量化 库
task = VCtx(__doc__) # initialize backtest engine from __doc__     # 调用 VCtx 函数 根据 __doc__初始化。
print exchange.GetAccount()                                        # 测试 GetAccount 函数,并打印 回测系统测试交易所账户信息
print exchange.GetTicker()                                         # 测试 GetTicker 函数,并打印 回测系统 行情信息
print task.Join() # print backtest result                          # 调用 初始化后的 task 对象 显示回测结果
  • __doc__

    是两个下划线。__doc__用来访问模块,类声明或者函数的声明中第一个未被赋值的字符串,
    可以是被""" ""","" "",' ',括起来的,作用就是把 代码中 '''backtest   ...  ''' 的回测配置信息  传入 VCtx 类构造函数构造对象。
    
  • कोड का परीक्षण करें और देखें कि विशिष्ट लॉग, गेटटिकर फ़ंक्शन को कैसे बुलाया जाता है।

    # coding=UTF-8
    
    '''backtest
    start: 2018-02-19 00:00:00
    end: 2018-03-22 12:00:00
    period: 15m
    exchanges: [{"eid":"OKEX","currency":"LTC_BTC","balance":3,"stocks":0}]
    '''
    
    from fmz import *                                                # 引用 发明者量化 库
    task = VCtx(__doc__) # initialize backtest engine from __doc__     # 调用 VCtx 函数 根据 __doc__初始化。
    print exchange.GetAccount()                                        # 测试 GetAccount 函数,并打印 回测系统测试交易所账户信息
    Log("\n 调用Log")
    Log("调用 exchange.GetTicker() : ", exchange.GetTicker())
    print task.Join() # print backtest result                          # 调用 初始化后的 task 对象 显示回测结果
    
    • print exchange.GetAccount (() कोड आउटपुट प्रदर्शित होता हैः
    {'Balance': 3.0, 'Stocks': 0.0, 'FrozenBalance': 0.0, 'FrozenStocks': 0.0}
    
    • Log (("\nकॉल लॉग") 、 Log (("कॉल एक्सचेंज.GetTicker() ":", एक्सचेंज.GetTicker())

    आउटपुट सामग्री print task.Join ((() आउटपुट डेटा संरचना में हैः

    {
        "Chart": {
     	   "Cfg": "",
     	   "Datas": []
        },
        "Elapsed": 42000000,
        "Finished": true,
        "Indicators": {},
        "LoadBytes": 441845,
        "LoadElapsed": 24000000,
        "LogsCount": 2,
        "Profit": 0.0,
        "ProfitLogs": [],
        "Progress": 100.0,
        "RuntimeLogs": [                                                  # 调用输出内容在此处
     	   [1, 1518969600200, 5, "", 0, 0.0, 0.0, "\n 调用Log", "", ""],
     	   [2, 1518969600400, 5, "", 0, 0.0, 0.0, "调用 exchange.GetTicker() :  {'Sell': 0.02113476, 'Volume': 519.6953, 'Buy': 0.02113474, 'Last': 0.02113475, 'High': 0.02113476, 'Time': 1518969600000L, 'Low': 0.02113474}", "", ""]
        ],
        "Snapshort": [{
     	   "Balance": 3.0,
     	   "BaseCurrency": "LTC",
     	   "Commission": 0.0,
     	   "FrozenBalance": 0.0,
     	   "FrozenStocks": 0.0,
     	   "Id": "OKEX",
     	   "QuoteCurrency": "BTC",
     	   "Stocks": 0.0,
     	   "Symbols": {
     		   "LTC_BTC_OKEX": {
     			   "Last": 0.01893785
     		   }
     	   },
     	   "TradeStatus": {}
        }],
        "Status": "",
        "Task": {
     	   "Args": null,
     	   "Exchanges": [{
     		   "Balance": 3,
     		   "BaseCurrency": "LTC",
     		   "BasePeriod": 300000,
     		   "BasePrecision": 4,
     		   "DepthDeep": 5,
     		   "FaultTolerant": 0,
     		   "FeeDenominator": 5,
     		   "FeeMaker": 75,
     		   "FeeMin": 0,
     		   "FeeTaker": 80,
     		   "Id": "OKEX",
     		   "Label": "OKEX",
     		   "PriceTick": 1e-08,
     		   "QuoteCurrency": "BTC",
     		   "QuotePrecision": 8,
     		   "SlipPoint": 0,
     		   "Stocks": 0
     	   }],
     	   "Options": {
     		   "DataServer": "q.botvs.net",
     		   "MaxChartLogs": 800,
     		   "MaxProfitLogs": 800,
     		   "MaxRuntimeLogs": 800,
     		   "NetDelay": 200,
     		   "Period": 900000,
     		   "RetFlags": 189,
     		   "SnapshortPeriod": 300000,
     		   "TimeBegin": 1518969600,
     		   "TimeEnd": 1521691200,
     		   "UpdatePeriod": 5000
     	   }
        },
        "TaskStatus": 1,
        "Time": 1521691200000
    }
    
  • एक नीति का उपयोग कैसे करें स्थानीय रीसेट इंजन में रीसेट करें

# !/usr/local/bin/python
# -*- coding: UTF-8 -*-
'''backtest
start: 2018-02-19 00:00:00
end: 2018-03-22 12:00:00
period: 15m
exchanges: [{"eid":"Bitfinex","currency":"BTC_USD","balance":10000,"stocks":3}]
'''
import sys
sys.path.append("/usr/local/lib/python2.7/site-packages")    # 测试时添加了路径,如不需要可以删除

from fmz import *
import math
import talib

task = VCtx(__doc__) # initialize backtest engine from __doc__

# ------------------------------ 策略部分开始 --------------------------
print exchange.GetAccount()     # 调用一些接口,打印其返回值。
print exchange.GetTicker()

def adjustFloat(v):             # 策略中自定义的函数
    v = math.floor(v * 1000)
    return v / 1000

def onTick(e):
    Log("onTick")
    # ....

#
# ...
# 
# 此处省略 自定义函数实现等代码。

def main():
    InitAccount = GetAccount()
    
    while True:
        onTick(exchange)
        Sleep(1000)
# ------------------------------ 策略部分结束 --------------------------

try:
    main()                     # 回测结束时会 raise EOFError() 抛出异常,来停止回测的循环。所以要对这个异常处理,在检测到抛出的异常后调用 task.Join() 打印回测结果。
except:
    print task.Join()          # print backtest result  , 打印回测结果。

अधिक

अलेक्साटो/Users/taoxing/opt/anaconda3/envs/ai4f/lib/python3.8/site-packages/flask_sqlalchemy/__init__.py:793: FSADeprecationWarning: SQLALCHEMY_TRACK_MODIFICATIONS significant overhead adds and will be disabled by default in the future. Set it to True or False to suppress this warning. /Users/taoxing/opt/anaconda3/envs/ai4f/lib/python3.8/site-packages/flask_sqlalchemy/__init__.py:793: FSADeprecationWarning: SQLALCHEMY_TRACK_MODIFICATIONS significant overhead adds and will be disabled by default in the future. इस चेतावनी को दबाने के लिए इसे सही या गलत पर सेट करें। warnings.warn ((FSADeprecationWarning)) Traceback (most recent call last): सबसे हालिया कॉल आखिरीः फ़ाइल "/Users/taoxing/Desktop/quant/trading_api_study/fmz/fmz_extend_api_demo/app.py", लाइन 152, in db.create_all (() फ़ाइल "/Users/taoxing/opt/anaconda3/envs/ai4f/lib/python3.8/site-packages/flask_sqlalchemy/__init__.py", लाइन 963, in create_all self._execute_for_all_tables ((app, bind, 'create_all') फ़ाइल "/Users/taoxing/opt/anaconda3/envs/ai4f/lib/python3.8/site-packages/flask_sqlalchemy/__init__.py", लाइन 955, में _execute_for_all_tables op ((bind=self.get_engine ((app, bind), **extra) फ़ाइल "/Users/taoxing/opt/anaconda3/envs/ai4f/lib/python3.8/site-packages/flask_sqlalchemy/__init__.py", लाइन 896, in get_engine return connector.get_engine ((() फ़ाइल "/Users/taoxing/opt/anaconda3/envs/ai4f/lib/python3.8/site-packages/flask_sqlalchemy/__init__.py", लाइन 556, in get_engine self._sa.apply_driver_hacks ((self._app, info, options) फ़ाइल "/Users/taoxing/opt/anaconda3/envs/ai4f/lib/python3.8/site-packages/flask_sqlalchemy/__init__.py", लाइन 861, in apply_driver_hacks info.database = os.path.join ((app.root_path, info.database) AttributeError: attribute सेट नहीं कर सकता मैं गलत जगह पर हूं, भगवान से मार्गदर्शन मांगो!

गुआनयुंगलेई 我想运行实盘机器人,添加Wex.app交易所相当于实盘模拟交易是吧?谢谢

गुआनयुंगलेईलेकिन वास्तविक डिस्क पर केवल एक ही डेटा है, और क्या सेटिंग्स को अनुकूलित किया जा सकता है ताकि अधिक वास्तविक डिस्क डेटा प्राप्त किया जा सके? /upload/asset/105f604eaceb0d3928a90.png /upload/asset/1066714d9a32c82eab7f1.png

गुआनयुंगलेईनमस्ते, मैं टोकन के लिए नकदी husd/usdt लेनदेन जोड़ी का उपयोग करना चाहता हूं, मैंने एक्सचेंज.आईओ (("मुद्रा", "HUSD_USDT"), एक्सचेंज.आईओ (("मुद्रा", "HUSD/USDT"), एक्सचेंज.आईओ (("मुद्रा", "HUSDUSDT") का प्रयास किया है, न कि रनिंग आउट या किस्म सदस्यता विफलता, कृपया सही वर्तनी क्या है? धन्यवाद

हर दिन एक निविदाइस परीक्षण के परिणामों को समझ में नहीं आ रहा है, इसे कैसे चित्रित किया जा सकता है।

गुआनयुंगलेईकृपया, विंडोज सिस्टम पर, एक्सचेंज यह कैसे हल नहीं कर सकता, धन्यवाद

वशीयतुशीवर्तमान में रिट्रेस सिस्टम द्वारा समर्थित लेनदेन की तुलना में कम है, क्या यह ओपन सोर्स प्रोजेक्ट अपने डेवलपर्स को कुछ लेनदेन जोड़ने की अनुमति देता है?

1058715329स्थानीय पैरामीटर अनुकूलन का समर्थन कब किया जा सकता है?

एक पत्ती के माध्यम से पता@छोटे छोटे सपने. धन्यवाद. क्या कोई पायथन 3 टेम्पलेट है? मैंने एफएमजेड का पुस्तकालय डाउनलोड किया है, लेकिन उपयोग करते समय त्रुटि आई है, जहां पैकेज नहीं मिल रहा है। /upload/asset/1042a0deeb6624376f8fb.png

विसटिक मोड को कैसे सेट करें? डिफ़ॉल्ट रूप से यह प्रतीत होता है कि एनालॉग-स्तरीय टिक का उपयोग किया जाता है, वास्तविक-स्तरीय टिक पर कैसे स्विच करें

सियाओजियानया नहीं, एक नीति का मुख्य कार्य इस उदाहरण में कहाँ होना चाहिए

सियाओजियानक्या यह केवल LTC_BTC के साथ ही किया जा सकता है? मैंने BTC_USDT प्रोग्राम को बदल दिया है और यह त्रुटि देता है।

टेडीprint exchange.GetTicker))) क्या Python3 में print (exchange.GetTicker))) लिखा जाना चाहिए?

yxybyqप्लेटफार्मों पर कोई समस्या नहीं है, स्थानीय रीसेट अक्सर गलत होता है

लिपुतfmz में मुख्य फ़ंक्शन को स्वयं लिखें, और देखें कि अधिकांश नीतियां स्वयं while True लिखती हैं, और फिर नीति को लूप करती रहती हैं। लेकिन python के देशी पुनरावृत्ति इंजन का उपयोग करते समय, जबकि True प्रोग्राम को चलाने के लिए जारी रखता है, __doc__ के निर्दिष्ट प्रारंभ और समाप्ति समय के भीतर चलना बंद नहीं कर सकता है, और लॉग का आउटपुट देता है। इसके अलावा, मैंने अन्य क्वांटिफाइंग प्लेटफार्मों पर देखा है कि आमतौर पर केवल डेवलपर द्वारा निर्दिष्ट फ़ंक्शन लिखे जाते हैं और फिर प्लेटफ़ॉर्म द्वारा वापस बुलाए जाते हैं. fmz सीधे मुख्य इनपुट लिखने की अनुमति देता है, क्या कोई डिज़ाइन या आर्किटेक्चरल लाभ या विचार है?

लिपुतकोड में एक इंटरैक्टिव इनपुट चर, क्या इसे __doc__ में लिखा जा सकता है या पैरामीटर के रूप में इनपुट किया जा सकता है?

लिपुतकोड को fmz में बदल दिया गया है, दस्तावेज़ में उदाहरण कोड को पैकेज का नाम बदलने की आवश्यकता है।

हाँ हाँmain (() में सामान्य है एक वर्ग में कॉल एक्सचेंज में त्रुटि होती है, क्यों? फ़ाइल "D:/workspace/strategy/strategy_001.py", लाइन 101, in main account = self._exchange.GetAccount (() फ़ाइल "C:\Users\User\AppData\Local\Programs\Python\Python36-32\lib\site-packages\botvs.py", लाइन 716, in GetAccount ईओएफ फ़ाइल "C:\Users\User\AppData\Local\Programs\Python\Python36-32\lib\site-packages\botvs.py", लाइन 569, in EOF raise EOFError ((()

टॉपसियनयह क्या काम करता है?

लिज़ामैं यह नहीं समझता कि इसका उपयोग कैसे किया जाता है, क्या इस स्थानीय रीसेट को बॉट वीएस प्लेटफॉर्म के साथ संवाद करने की आवश्यकता है?

छोटे सपनेनवीनतम fmz पैकेज का उपयोग करके प्रयास करें।

छोटे सपनेहोस्टिंग निःशुल्क है, लेकिन एक कुंजी तैनाती स्वचालित रूप से अली क्लाउड के सर्वर को किराए पर लेती है, यह शुल्क सर्वर का शुल्क है। एक कुंजी तैनाती ठीक है, वास्तविक डिस्क या एनालॉग डिस्क दोनों काम करते हैं।

गुआनयुंगलेईयह स्पष्ट है, यह है कि प्रबंधक भुगतान करता है, और रोबोट चलाने के लिए एक विकल्प है WexApp परीक्षण करने के लिए, या आप एक वास्तविक एक्सचेंज में वास्तविक व्यापार करने के लिए चुन सकते हैं, है ना?

छोटे सपनेएक डिप्लॉयमेंट होस्ट, जो अली क्लाउड सर्वर पर तैनात है, भुगतान किया जाता है और आपके खाते के शेष राशि से चार्ज किया जाता है। रोबोट चलाया जाता है, केवल wexApp एनालॉग ड्राइव का संचालन करता है, रोबोट शुल्क नहीं है, और एक डिप्लॉयमेंट होस्ट सर्वर शुल्क से संबंधित नहीं है।

गुआनयुंगलेईएक क्लिक के साथ, एक सर्वर को तैनात करें, एक WexApp, एक रोबोट और एक एनालॉग एक्सचेंज का चयन करें, और एक एनालॉग का परीक्षण करें, है ना?

छोटे सपनेयह कुंजी किराए पर सर्वर को तैनात करने के लिए अन्य अतिरिक्त शुल्क है। यह रोबोट के वास्तविक डिस्क शुल्क से संबंधित नहीं है, वेक्सएप्प डिस्क का उपयोग करने से रोबोट को मुफ्त में चलाने के लिए कहा जाता है ((डिजिटल मुद्रा रोबोट को किसी भी गैर-वेक्सएप्प डिस्क एक्सचेंज ऑब्जेक्ट को जोड़ने के लिए शुल्क लिया जाता है)) ।

गुआनयुंगलेईएक कुंजी किराए पर प्रबंधक, WexApp एक्सचेंज का उपयोग करने के लिए कोई शुल्क नहीं? /upload/asset/1066e4b56fa103356dbc1.png

छोटे सपनेWexApp FMZ का एक मुफ्त एनालॉग है।

छोटे सपनेअशिष्टता।

छोटे सपनेवास्तविक डिस्क स्तर पर पुनः माप डेटा का एक बड़ा मात्रा है, चित्र पर सेटिंग पहले से ही इष्टतम है।

गुआनयुंगलेईहाल के समय के लिए, इसे ok ट्रेडिंग जोड़ी, exchange.SetCurrency (("BTC_USDT") पर सेट करें, यह वास्तविक है, बहुत बहुत धन्यवाद।

छोटे सपनेहाल के समय के लिए प्रयास करें।

गुआनयुंगलेई/upload/asset/1063627010637fee333ad.png इस तरह कोड में सेट करें exchange.SetCurrency (("BTC_USDT") लेकिन सभी संकेतों के लिए सदस्यता विफल BTC_USDT_OKEX बटन या कुछ भी नहीं दिखा, सीधे बाहर निकलें

गुआनयुंगलेईधन्यवाद.

छोटे सपनेवास्तविक डिस्क पर, प्लेटफार्म लाइन पर पुनः माप और स्थानीय पुनः माप इंजन का उपयोग एफएमजेड डेटा सेंटर के डेटा के लिए किया जाता है, जो सीमित लेनदेन प्रति डेटा प्रदान करता है, सभी लेनदेन प्रति नहीं।

गुआनयुंगलेईक्या असली सौदे इस सौदे को प्राप्त कर सकते हैं?

छोटे सपनेइस लेन-देन के लिए वर्तमान में कोई डेटा नहीं है।

छोटे सपनेपुनः परीक्षण परिणाम एक डेटा प्रारूप है, यदि आप इसे विज़ुअलाइज़ करना चाहते हैं तो अपने कोड को स्वयं लिखें। यदि नहीं, तो आप ऑनलाइन पुनः परीक्षण प्रणाली का उपयोग कर सकते हैं।

गुआनयुंगलेईA5: = MA ((C,5); A10: = MA (C,10); कोणः IF (CROSS) (A5, A10), एटीएएन (A5/REF) (A5, 1) -1) * 100) - एटीएएन (A10/REF) (A10, 1) -1) * 100), 0*180/3.1416; और यह सूत्र है कि हम नहीं जानते कि कैसे REF करने के लिए है.

छोटे सपनेयह आवश्यकता के आधार पर, रणनीति में गणना की जाती है, और सूत्र को Baidu में खोजकर पाया जा सकता है।

गुआनयुंगलेईमैकड गोल्डन फोर्क / डेड फोर्क कोण का गणना कैसे करें, क्या कोई सूत्र है? धन्यवाद

गुआनयुंगलेईकृपया, नीति संपादक में आयात statsmodels अमान्य है, कृपया मुझे बताएं कि मैं तीसरे पक्ष के पुस्तकालयों को कहां आयात कर सकता हूं? मैं pycharm में आयात कर सकता हूं, लेकिन संपादक में कैसे आयात करूं?

छोटे सपनेयह एक निश्चित K-रेखा प्रारंभ समय है, यदि शून्य से शुरू होने वाले दिन के K-रेखा की आवश्यकता है, तो एक घंटे के K-रेखा संश्लेषण के साथ गणना की जा सकती है।

गुआनयुंगलेईक्या कोड में बंद होने का समय और समीक्षा में बंद होने का समय बीजिंग समय के अनुसार सुबह 8:00 बजे है? यदि बंद होने का समय सुबह 8:00 बजे नहीं है, तो कृपया इसे कैसे सेट करें, धन्यवाद /upload/asset/1067eabe09e92d1610d71.png

छोटे सपनेआप रणनीति वर्ग पर कुछ रणनीति उदाहरण देख सकते हैं, और यदि आप सभी को समझते हैं, तो आप कुछ सरल रणनीतियों को लिख सकते हैं।

गुआनयुंगलेईकृपया, मैं प्राथमिक सामग्री, एफएमजेड उपयोग के तरीके, एपीआई दस्तावेज को पढ़ चुका हूं, क्या मुझे आगे जाना चाहिए? धन्यवाद

छोटे सपनेअशिष्टता।

गुआनयुंगलेईधन्यवाद.

छोटे सपनेयह सीधे कमांड लाइन पर चलाया जा सकता है।

गुआनयुंगलेईइस कोड को मैं.py फ़ाइल में चलाता हूं, जिसे ccxt आयात करने की आवश्यकता होती है, अन्यथा एक्सचेंज इसे पहचान नहीं सकता है। Python Consle में संपादित करने के बाद, यह ठीक से काम करता है।

छोटे सपनेयह एक सामान्य पायथन प्रोग्राम चलाता है. मेरा कोड सीधे कमांड चलाता है.

गुआनयुंगलेई/upload/asset/106d6ff1919bdac419875.png क्या आप जानते हैं कि fmz में ccxt का उपयोग किया जाता है?

छोटे सपनेयह एक बहुत ही दिलचस्प लेख है। फ़ाइल नाम testBackTest `` fmz आयात से * task = VCtx ((' ''बैकटेस्ट start: 2018-02-19 00:00:00 end: 2018-03-22 12:00:00 अवधिः 15 मीटर exchanges: [{"eid":"OKEX","currency":"LTC_BTC","balance":3,"stocks":0}] ''') # create backtest print ((exchange.GetAccount))) print ((exchange.GetTicker))) `` /upload/asset/16bea6055e58a9ef7d5c.png

छोटे सपनेfmz python के नवीनतम संस्करण को आजमाएं, मैंने अभी डाउनलोड किया है।

गुआनयुंगलेई/upload/asset/1068d63bc6203599fc1c8.png आरंभिकता को संशोधित किया गया है, लेकिन एक्सचेंज, लॉग को अभी भी पहचाना नहीं जा सकता है

छोटे सपने`` fmz आयात से * task = VCtx ((' ''बैकटेस्ट start: 2018-02-19 00:00:00 end: 2018-03-22 12:00:00 अवधिः 15 मीटर exchanges: [{"eid":"OKEX","currency":"LTC_BTC","balance":3,"stocks":0}] ''') # पुनर्विचार वातावरण बनाना `` इस तरह से इंस्टॉल करें, जैसे कि ऑनलाइन समीक्षा के दौरान विनिमय, लेन-देन जोड़े आदि की जानकारी को कॉन्फ़िगर किया गया है।

गुआनयुंगलेई/upload/asset/106581e23604bb2d701d8.jpg Exchange को पहचान नहीं पाया जा सकता है, पहले से ही Python में fmz पैकेज स्थापित है

छोटे सपनेइस वीडियो में, हम आपको बता रहे हैं कि हम किस तरह से काम कर रहे हैं।

छोटे सपनेयह अस्थायी रूप से संभव नहीं है, क्योंकि पुनः परीक्षण डेटा एफएमजेड से प्राप्त किया गया है। हालांकि, कोड खुला स्रोत है, जिसे आप बदल सकते हैं और डेटा स्रोत को बदल सकते हैं।

छोटे सपने`` /*बैकटेस्ट start: 2019-09-21 00:00:00 end: 2019-10-20 00:00:00 अवधिः 1h exchanges: [{"eid:"Bitfinex","currency:"BTC_USD"}] मोडः 1 */ `` कॉन्फ़िगरेशन जानकारी में, ``mode`` सेटिंग के माध्यम से, इसे रीसेट पृष्ठ पर सेट किया जा सकता है, और फिर सीधे नीति संपादक पृष्ठ पर रीसेट सेटिंग को सहेजकर कॉन्फ़िगरेशन जानकारी स्ट्रिंग तक पहुंच सकता है।

बाद मेंएक ही सवाल?

चुजियूहाँ

ज़ेनइडशीर्ष

छोटे सपनेठीक है, इस रिकॉर्ड में, यह अभी समर्थित नहीं है।

एक पत्ती के माध्यम से पताअच्छा, धन्यवाद।

छोटे सपनेएक समस्या का पता चला है और इसे हल किया जा रहा है।

एक पत्ती के माध्यम से पताहाँ, मैक ओएस 10.14.4

छोटे सपनेक्या आपका ऑपरेटिंग सिस्टम Mac OSX है?

एक पत्ती के माध्यम से पतामैं conda के साथ python संस्करण का प्रबंधन कर रहा हूं, मैं पुष्टि करता हूं कि मैंने fmz के python संस्करण को डाउनलोड किया है, स्थानीय रूप से भी। लेकिन वेबसाइट पर यह लिखा है कि यह python3 का समर्थन करता है, लेकिन जब मैंने कोशिश की तो यह समस्या उत्पन्न हुई। क्या मैंने कोड गलत लिखा है? मुझे नहीं पता कि एक्सचेंज ऑब्जेक्ट कहां से आया है और लॉग नहीं मिल सकता है।

छोटे सपनेयदि आपके पास कई पायथन संस्करण हैं, तो यह जांचें कि यह पैकेज कहां स्थापित है।

छोटे सपनेइस पोस्ट को अपडेट किया गया है, आप पोस्ट के अंत में उदाहरण देख सकते हैं।

छोटे सपनेmain फ़ंक्शन सही लिखा गया है, सीधे कॉल किया गया है।

सियाओजियान https://github.com/fmzquant/backtest_python/issues/4,看看这个有没有帮助

छोटे सपनेगलत जानकारी, उदाहरण के लिए, स्क्रीनशॉट देखें।

सियाओजियानउदाहरण कोड को BTC_USDT में बदलने के लिए गलत है।

छोटे सपनेयह इस बात पर निर्भर करता है कि कौन सा एक्सचेंज चुनना है।

छोटे सपनेयह गलत जगह है, यह गलत जगह है।

छोटे सपनेएफएमजेड एक परामर्श संरचना का उपयोग करता है, जो प्रक्रियाओं पर थोड़ा अधिक नियंत्रण देता है और रणनीतियों को लिखने में अधिक लचीलापन देता है।

छोटे सपने'''बैकटेस्ट start: 2018-02-19 00:00:00 end: 2018-03-22 12:00:00 अवधिः 15 मीटर exchanges: [{"eid":"OKEX","currency":"LTC_BTC","balance":3,"stocks":0}] '' ये हैं

छोटे सपनेइस लेख में कुछ बदलाव किए गए हैं।

छोटे सपनेफ़ाइल लोड करना शुरू करें यह सिमुलेटर खाता कॉन्फ़िगरेशन, यदि यह वर्ग में लिखा है तो लोड नहीं किया जा सकता है।

हाँ हाँयह सही होना चाहिए। क्यों नहीं लिख सकते हैं class reference

हाँ हाँखाता डेटा की जांच करें, नीचे दी गई कुछ पंक्तियाँ? वहाँ है, वैश्विक फ़ंक्शन main में सामान्य संदर्भ है. लेकिन कक्षा में गलतियाँ करते हैं। '''बैकटेस्ट start: 2018-02-19 00:00:00 end: 2018-03-22 12:00:00 अवधिः 15 मीटर exchanges: [{"eid":"OKEX","currency":"LTC_BTC","balance":3,"stocks":0}] '' botvs से आयात * task = VCtx ((__doc__) # initialize backtest engine from __doc__

छोटे सपने`` def GetAccount ((self): r = _ACCOUNT (() ret = self.lib.api_Exchange_GetAccount ((self.ctx, self.idx, ctypes.byref))) अगर ret == API_ERR_SUCCESS: return r.toObj (() elif ret == API_ERR_FAILED: कोई नहीं लौटाता ईओएफ `` नीचे दिए गए कोड को देखकर ऐसा लगता है कि यह api_Exchange_GetAccount के लिए एक DLL इंटरफ़ेस है, और आप पर एक त्रुटि संदेश दिखाता है कि कोई वापसी नहीं हुई, कॉल सफल नहीं हुई और कोई वापसी कॉल विफल नहीं हुई, और फिर EOF निष्पादित करें। क्या आपके पास रीसेट इंजन का उपयोग करते समय रीसेट खाते के डेटा को कॉन्फ़िगर किया गया है?

छोटे सपनेयह एक पायथन रिपॉजिटरी में पुनरीक्षण प्रणाली को पैक करने के लिए है, जो स्थानीय पायथन को पुनरीक्षण करने की रणनीति दे सकता है।

छोटे सपनेसंचार होता है, पुनः परीक्षण के समय डेटा अनुरोध किया जाता है, लेकिन स्थानीय रूप से चल रहे पुनः परीक्षण प्रणाली पर चलाया जाता है। `` '''बैकटेस्ट start: 2018-02-19 00:00:00 end: 2018-03-22 12:00:00 अवधिः 15 मीटर exchanges: [{"eid":"OKEX","currency":"LTC_BTC","balance":3,"stocks":0}] '' botvs से आयात * task = VCtx ((__doc__) # initialize backtest engine from __doc__ print exchange.GetAccount ((() print exchange.GetTicker ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((()))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) print task.Join ((() # print backtest result `` कोड का यह खंड एक नीति के समान है, जिसमें परीक्षण प्रणाली को एक पुस्तकालय में शामिल किया जाता है, परीक्षण करता है और परीक्षण प्रणाली के कार्यों को कॉल करता है। उपरोक्त '' 'बैकटेस्ट... '' के भीतर की रीटस्ट पैरामीटर सेटिंग है, जिसे BotVS नीति रीटस्ट पेज पर उत्पन्न किया जा सकता है।