FMZ merilis mesin pencari asli python

Penulis:Mimpi kecil, Dibuat: 2018-04-13 09:48:31, Diperbarui: 2019-08-19 16:30:05

FMZ merilis mesin pencari asli python

FMZ backtest engine python paket FMZ Retesting Engine Perpustakaan Python support python2 and python3, support Windows, Linux, Mac Mendukung python2 dan python3, mendukung sistem windows, Linux, dan Apple Mac OS

Install

Pemasangan Pada baris perintah, masukkan perintah berikut:

pip install https://github.com/fmzquant/backtest_python/archive/master.zip
  • Perhatikan: Pada saat instalasi sistem Apple Mac, jika ada batasan keamanan, perintah sudo harus ditambahkan sebelum perintah pip, dan seluruh perintah instalasi akan diminta untuk memasukkan kata sandi sistem sebelum dieksekusi.

contoh sederhana

Contoh sederhana

'''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. The config string can be generated automatically by saving the backtest configuration in the strategy edit page. The config string can be generated automatically by saving the backtest configuration in the strategy edit page. String konfigurasi dapat dibuat secara otomatis dengan menyimpan kembali konfigurasi di antarmuka editor kebijakan

meta

dokumentasi

Dokumen API: ((yaitu dokumen yang memanggil fungsi seperti GetAccount dalam contoh)

Di sini kita bisa melihat beberapa contoh dari apa yang dilakukan oleh orang-orang di sekitar kita.

'''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 类构造函数构造对象。
    
  • Pada bagian ini, Anda dapat mengedit kode uji coba untuk melihat bagaimana fungsi Log, GetTicker, dan lain-lain disebut.

    # 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 (*) akan menampilkan output kode:
    {'Balance': 3.0, 'Stocks': 0.0, 'FrozenBalance': 0.0, 'FrozenStocks': 0.0}
    
    • Log (("\nLog dihubungi") 、 Log (("dihubungi oleh exchange.GetTicker dihubungi oleh exchange.GetTicker dihubungi oleh exchange.GetTicker dihubungi oleh exchange.GetTicker dihubungi oleh exchange.GetTicker dihubungi oleh exchange.GetTicker dihubungi oleh exchange.GetTicker dihubungi oleh exchange.GetTicker dihubungi oleh exchange.GetTicker dihubungi oleh exchange.GetTicker dihubungi oleh exchange.GetTicker dihubungi oleh exchange.

    Isi yang diekspor dalam struktur 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
    }
    
  • Cara menggunakan kebijakan untuk melakukan retargeting di mesin retargeting lokal

# !/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  , 打印回测结果。

Lebih banyak

Alextao/Users/taoxing/opt/anaconda3/envs/ai4f/lib/python3.8/site-packages/flask_sqlalchemy/__init__.py:793: FSADeprecationWarning: SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future. Set it to True or False to suppress this warning. Set it to True or False to suppress this warning. Warnings.warn ((FSADeprecationWarning)) Traceback (paling baru panggilan terakhir): File "/Users/taoxing/Desktop/quant/trading_api_study/fmz/fmz_extend_api_demo/app.py", baris 152, di db.create_all (dalam bahasa Inggris) File "/Users/taoxing/opt/anaconda3/envs/ai4f/lib/python3.8/site-packages/flask_sqlalchemy/__init__.py", line 963, in create_all self._execute_for_all_tables (app, bind, 'create_all') File "/Users/taoxing/opt/anaconda3/envs/ai4f/lib/python3.8/site-packages/flask_sqlalchemy/__init__.py", baris 955, dalam _execute_for_all_tables op ((bind=self.get_engine ((app, bind), **extra) File "/Users/taoxing/opt/anaconda3/envs/ai4f/lib/python3.8/site-packages/flask_sqlalchemy/__init__.py", baris 896, di get_engine return connector.get_engine (dalam bahasa Inggris) File "/Users/taoxing/opt/anaconda3/envs/ai4f/lib/python3.8/site-packages/flask_sqlalchemy/__init__.py", baris 556, di get_engine self._sa.apply_driver_hacks ((self._app, info, options)) File "/Users/taoxing/opt/anaconda3/envs/ai4f/lib/python3.8/site-packages/flask_sqlalchemy/__init__.py", baris 861, dalam apply_driver_hacks info.database = os.path.join ((app.root_path, info.database) AttributeError: tidak dapat mengatur atribut Di mana Anda salah, mohon bimbingan dari Allah!!!

Guanyuwanglei 我想运行实盘机器人,添加Wex.app交易所相当于实盘模拟交易是吧?谢谢

GuanyuwangleiTapi hanya ada sedikit data yang di-retest dari cakram riil, apa lagi yang bisa dioptimalkan untuk mendapatkan lebih banyak data cakram? /upload/asset/105f604eaceb0d3928a90.png /upload/asset/1066714d9a32c82eab7f1.png

GuanyuwangleiHalo, saya ingin menggunakan pasangan perdagangan token cash husd/usdt, saya mencoba exchange.IO (("currency", "HUSD_USDT"), exchange.IO (("currency", "HUSD/USDT"), exchange.IO (("currency", "HUSDUSDT"), bukan menjalankan keluar atau jenis langganan gagal, mohon penulisan yang benar? terima kasih

Setiap hari yang lembutHasil tes ini tidak jelas, bagaimana cara memvisualisasikannya?

GuanyuwangleiTolong, saya tidak dapat menemukan solusi di sistem windows, terima kasih

woshiyituoshiApakah proyek open source ini memungkinkan pengembangnya untuk menambahkan beberapa pasangan transaksi?

1058715329Pada saat apa saja yang dapat mendukung optimasi parameter lokal?

Mengetahui@cilokilom. terima kasih. apakah ada template python3? saya sudah mendownload perpustakaan fmz, tapi saat menggunakannya, saya mendapat kesalahan dan tidak dapat menemukan paket di mana. /upload/asset/1042a0deeb6624376f8fb.png

KamiBagaimana cara mengatur mode Tick? Secara default tampaknya menggunakan Tick tingkat analog, bagaimana beralih ke Tick tingkat real

XiaojianJika tidak, di mana fungsi utama dari sebuah strategi harus ditempatkan dalam contoh ini.

XiaojianApakah retest hanya menggunakan LTC_BTC? Saya beralih ke program BTC_USDT dan hasilnya adalah kesalahan.

TeddyApakah print exchange.GetTicker harus ditulis sebagai print (exchange.GetTicker))) di Python 3?

yxybyqTidak ada masalah dengan penelusuran di platform, dan penelusuran lokal sering kali bermasalah.

liputDalam fmz adalah sendiri menulis fungsi utama, melihat sebagian besar kebijakan adalah sendiri menulis sementara Benar, dan kemudian terus-menerus berputar panggilan kebijakan. Tetapi ketika menggunakan Python native retrieval engine, sementara Benar akan terus berjalan program, tidak dapat berhenti berjalan pada waktu awal dan akhir yang ditentukan oleh __doc__, dan memberikan output Log. Selain itu, saya melihat di platform kuantitatif lainnya bahwa umumnya hanya fungsi yang ditentukan oleh pengembang yang ditulis dan kemudian dihubungi oleh platform. fmz memungkinkan untuk menulis langsung main input, apakah ada keunggulan atau pertimbangan desain atau arsitektur?

liputVariabel input interaktif dalam kode, bagaimana cara menulisnya dalam __doc__, atau inputnya sebagai parameter?

liputKode telah diubah menjadi fmz, contoh kode dalam dokumentasi harus diganti dengan nama paket.

YaYamain (() adalah normal Jika kita tidak bisa melakukan hal yang sama, kita tidak bisa melakukan hal yang sama. File "D:/workspace/strategy/strategy_001.py", line 101, in main account = self._exchange.GetAccount (dalam bahasa Inggris) File "C:\Users\User\AppData\Local\Programs\Python\Python36-32\lib\site-packages\botvs.py", line 716, in GetAccount EOF (dalam bahasa Inggris) File "C:\Users\User\AppData\Local\Programs\Python\Python36-32\lib\site-packages\botvs.py", line 569, in EOF raise EOFError (dalam bahasa Inggris)

topscienApa fungsi dari benda ini?

LizzaTidak jelas bagaimana cara menggunakannya, apakah retargeting lokal ini juga perlu berkomunikasi dengan platform botvs?

Mimpi kecilCobalah dengan paket fmz terbaru.

Mimpi kecilHost adalah gratis untuk digunakan, tetapi penyebaran satu tombol adalah penyewaan otomatis server dari Ali Cloud, biaya ini adalah biaya server.

GuanyuwangleiYang jelas, adalah bahwa administrator membayar, dan robot yang menjalankan wexapp dapat memilih untuk menguji, atau mereka dapat memilih untuk melakukan perdagangan langsung di bursa nyata, kan?

Mimpi kecilSebuah deployment host, yang ditempatkan di server Ali Cloud, adalah berbayar dan akan dikenakan biaya dari saldo akun Anda. Robot berjalan, hanya mengoperasikan wexApp analog disk, biaya bot tidak dikenakan biaya, dan biaya server deployment host tidak terkait.

GuanyuwangleiDengan kata lain, dengan satu tombol, Anda dapat menggunakan server, Anda dapat memilih WexApp, robot, dan pertukaran analog, dan Anda dapat menguji efek simulasi, kan?

Mimpi kecilKunci penyebaran rental server adalah biaya tambahan lainnya. Tidak ada hubungannya dengan biaya real disk robot, menggunakan wexApp analog disk hanya mengatakan bahwa robot berjalan gratis (robot mata uang digital akan dikenakan biaya jika menambahkan objek non-WexApp analog disk).

Guanyuwanglei/upload/asset/1066e4b56fa103356dbc1.png

Mimpi kecilWexApp adalah perangkat analog dari FMZ, gratis.

Mimpi kecilTidak sopan.

Mimpi kecilData yang diukur kembali pada tingkat real disk relatif besar, dan pengaturan di atas sudah optimal.

GuanyuwangleiUntuk periode waktu terbaru, atur untuk pasangan transaksi ok, exchange.SetCurrency (("BTC_USDT"), dapat dieksekusi secara real time, terima kasih banyak.

Mimpi kecilCobalah untuk mengubah periode waktu terakhir.

Guanyuwanglei/upload/asset/1063627010637fee333ad.png Di dalam kode, set up exchange.SetCurrency (("BTC_USDT") Jika Anda tidak dapat mendaftar, maka Anda dapat mendaftarkan diri ke situs ini.

GuanyuwangleiTerima kasih.

Mimpi kecilData dari pusat data FMZ, yang digunakan oleh platform line re-metering dan local re-metering engine, menyediakan data transaksi yang terbatas, tetapi tidak semua transaksi yang tersedia.

GuanyuwangleiApakah transaksi nyata bisa mendapatkan transaksi ini?

Mimpi kecilSaat ini, sistem retest tidak memiliki data untuk pasangan transaksi ini.

Mimpi kecilHasil retesting adalah bentuk data, jika ingin memvisualisasikannya, Anda harus menulis kode sendiri. Jika tidak, Anda dapat menggunakan sistem retesting online.

GuanyuwangleiA5: = MA ((C,5); A10: = MA (C,10); sudut: IF (CROSS) (A5, A10), ATAN (A5/REF) (A5, 1) -1) *100) - ATAN (A10/REF) (A10, 1) -1) *100), 0*180/3.1416; Dan saya tidak tahu bagaimana REF melakukannya.

Mimpi kecilIni harus berdasarkan kebutuhan, dihitung dalam strategi, dan rumus dapat dicari di Baidu.

GuanyuwangleiBagaimana cara menghitung macd golden fork \ dead fork angle, apakah ada rumus untuk menghitungnya?

GuanyuwangleiSilahkan, import statsmodels di editor kebijakan tidak valid, silakan di mana saya bisa mengimpor perpustakaan pihak ketiga? Saya bisa mengimpor di pycharm, tapi bagaimana cara mengimpor di editor?

Mimpi kecilIni adalah waktu awal K-line yang tetap, dan jika Anda membutuhkan K-line harian yang dimulai dari nol, maka Anda dapat menghitungnya dengan sintesis K-line satu jam.

GuanyuwangleiApakah waktu penutupan di dalam kode dan waktu penutupan di dalam review adalah 8:00 pagi waktu Beijing? Jika waktu penutupan tidak pukul 8:00 pagi, mohon bagaimana cara mengaturnya, terima kasih /upload/asset/1067eabe09e92d1610d71.png

Mimpi kecilAnda dapat menemukan beberapa contoh strategi di Strategy Square, dan jika Anda mengerti semuanya, Anda dapat menulis beberapa strategi sederhana dengan tangan.

GuanyuwangleiSilahkan, saya sudah membaca materi dasar, metode FMZ, dan dokumentasi API, apakah saya harus melihat pengetahuan berikutnya?

Mimpi kecilTidak sopan.

GuanyuwangleiTerima kasih.

Mimpi kecilIni bisa dijalankan langsung di baris perintah.

GuanyuwangleiIni adalah kode yang saya gunakan untuk menjalankan file.py, yang harus diimpor ke ccxt, jika tidak, tidak dapat dikenali oleh exchange. Dengan mengedit Python Consle, Anda dapat berjalan dengan baik.

Mimpi kecilTidak perlu, program python biasa bisa berjalan.

Guanyuwanglei/upload/asset/106d6ff1919bdac419875.png Apakah kamu tidak melihat bahwa fmz menggunakan ccxt?

Mimpi kecilSaya baru saja menguji: Nama file testBackTest `` dari fmz import * task = VCtx (('''backtest start: 2018-02-19 00:00:00 end: 2018-03-22 12:00:00 Periode: 15m exchanges: [{"eid":"OKEX","currency":"LTC_BTC","balance":3,"stocks":0}] ''') # create backtest print ((exchange.GetAccount)) print ((exchange.GetTicker)) `` /upload/asset/16bea6055e58a9ef7d5c.png

Mimpi kecilJika Anda ingin mencoba versi terbaru dari fmz python, saya baru saja mengunduhnya.

Guanyuwanglei/upload/asset/1068d63bc6203599fc1c8.png Initialization telah diubah, tetapi tidak dapat diidentifikasi oleh exchange, log

Mimpi kecil`` dari fmz import * task = VCtx (('''backtest start: 2018-02-19 00:00:00 end: 2018-03-22 12:00:00 Periode: 15m exchanges: [{"eid":"OKEX","currency":"LTC_BTC","balance":3,"stocks":0}] ''') # Membuat lingkungan yang dapat diandalkan `` Inisialisasi seperti ini akan membuat informasi seperti pertukaran, pasangan transaksi, dll, seperti yang telah dikonfigurasi saat online review.

Guanyuwanglei/upload/asset/106581e23604bb2d701d8.jpg Exchange tidak dapat diidentifikasi, paket fmz sudah diinstal di Python

Mimpi kecilDi bawah ini adalah screenshot dari laporan kesalahan.

Mimpi kecilUntuk sementara tidak bisa, karena data retesting diperoleh dari FMZ. Namun kode adalah open source, dan Anda dapat mengubah dan mengganti sumber data sesuka Anda.

Mimpi kecil`` /* backtest start: 2019-09-21 00:00:00 end: 2019-10-20 00:00:00 Periode: 1h [{"eid:"Bitfinex","currency":"BTC_USD"}] mode: 1 */ `` Dengan pengaturan, ``mode`` dalam informasi konfigurasi, yang dapat diatur pada halaman retargeting, maka langsung disimpan pada halaman editor kebijakan untuk mengakses string informasi konfigurasi.

SetelahnyaPertanyaan yang sama?

ChujiuBenar.

XenidaPuncak

Mimpi kecilBaiklah, catatan ini tidak didukung saat ini.

MengetahuiBagus, terima kasih.

Mimpi kecilKami telah menemukan masalah dan sedang mengatasinya.

MengetahuiYa, mac os 10.14.4

Mimpi kecilApakah sistem operasi Anda Mac OSX?

MengetahuiSaya menggunakan conda untuk mengelola versi python, dan saya telah mengkonfirmasi bahwa saya telah mengunduh versi python dari fmz, yang juga tersedia secara lokal.

Mimpi kecilJika Anda memiliki lebih dari satu versi python, periksa di mana paket ini diinstal.

Mimpi kecilPos ini telah diperbarui, Anda dapat melihat contoh di akhir posting.

Mimpi kecilFungsi main ditulis dengan baik, langsung dihubungi dan selesai.

Xiaojian https://github.com/fmzquant/backtest_python/issues/4,看看这个有没有帮助

Mimpi kecilSalah informasi, bisa dilihat di bawah ini.

XiaojianIni adalah contoh kode yang berubah menjadi BTC_USDT yang salah.

Mimpi kecilYang terpenting adalah memilih bursa mana yang akan ditinjau kembali.

Mimpi kecilUntuk melihat lebih spesifiknya, lihat informasi kesalahan, lihat lokasi yang salah.

Mimpi kecilFMZ menggunakan arsitektur konsultasi, yang memberikan sedikit kontrol lebih kuat terhadap proses program dan lebih banyak fleksibilitas dalam menulis kebijakan.

Mimpi kecil'' 'Backtest start: 2018-02-19 00:00:00 end: 2018-03-22 12:00:00 Periode: 15m exchanges: [{"eid":"OKEX","currency":"LTC_BTC","balance":3,"stocks":0}] '' Ini adalah

Mimpi kecilSaya tidak tahu apa yang akan terjadi.

Mimpi kecilFile Mulai dimuat Konfigurasi akun simulasi ini, jika ditulis dalam kelas apakah tidak dapat dimuat.

YaYaPerangkat ini seharusnya benar. Mengapa tidak bisa menulis referensi ke dalam kelas?

YaYaApakah Anda memiliki akun di bawah ini? Ada yang biasa digunakan dalam global function main. Tapi dia membuat kesalahan di kelas. '' 'Backtest start: 2018-02-19 00:00:00 end: 2018-03-22 12:00:00 Periode: 15m exchanges: [{"eid":"OKEX","currency":"LTC_BTC","balance":3,"stocks":0}] '' dari botvs import * task = VCtx ((__doc__) # initialize backtest engine from __doc__

Mimpi kecil`` def GetAccount ((self): r = _ACCOUNT ret = self.lib.api_Exchange_GetAccount ((self.ctx, self.idx, ctypes.byref(r)) Jika ret == API_ERR_SUCCESS: return r.toObj ()) Elif ret == API_ERR_FAILED: return Tidak ada EOF (dalam bahasa Inggris) `` Dengan melihat kode di bawah ini, Anda akan melihat bahwa API_Exchange_GetAccount adalah sebuah antarmuka untuk DLL, dan Anda akan mendapatkan error message yang menunjukkan bahwa tidak ada panggilan yang berhasil dan tidak ada panggilan yang gagal, dan kemudian Anda akan melakukan EOF.

Mimpi kecilDengan menggunakan sistem retargeting, Anda dapat mengemas sistem retargeting Anda ke dalam perpustakaan Python, yang memungkinkan Python untuk melakukan strategi retargeting secara lokal.

Mimpi kecilAda komunikasi, saat retest ada permintaan data, tetapi sistem retest yang berjalan secara lokal berjalan. `` '' 'Backtest start: 2018-02-19 00:00:00 end: 2018-03-22 12:00:00 Periode: 15m exchanges: [{"eid":"OKEX","currency":"LTC_BTC","balance":3,"stocks":0}] '' dari botvs import * task = VCtx ((__doc__) # initialize backtest engine from __doc__ print exchange.GetAccount (dalam bahasa Inggris). print exchange.GetTicker (dalam bahasa Inggris). print task.Join ((() # print backtest result `` Bagian kode ini menyerupai sebuah kebijakan, dimana sistem evaluasi dikemas dalam sebuah repositori, diuji, dan pada saat berjalan dipanggil fungsi sistem evaluasi. Di atas '' 'backtest... '' adalah pengaturan parameter backtest yang dapat dihasilkan pada halaman backtest kebijakan BotVS.