
Orang sering mengatakan bahawa perdagangan adalah seni, dan seni datang dari inspirasi. Jadi hari ini saya ingin berkongsi dengan anda cara menggunakan fungsi Main Semula Data Kuantitatif Pencipta untuk mencari inspirasi perdagangan anda sendiri.
Apa yang biasanya kita panggil inspirasi merujuk kepada keadaan kreatif yang dialami oleh orang ramai semasa proses berfikir. Bagi peniaga, hemisfera kiri otak kita melengkapkan perumusan satu siri peraturan seperti penulisan strategi, peruntukan modal dan penetapan parameter. Inspirasi perdagangan dan rasa pasaran itu datang dari hemisfera otak kanan.
Ramai orang telah mendengar istilah “perasaan pasaran”, yang merupakan perasaan yang tidak dapat digambarkan, seolah-olah apa yang berlaku sekarang kelihatan biasa. Apabila berdagang, intuisi seperti deria keenam ini, walaupun tidak berdasarkan penaakulan dan analisis yang logik, akan mendorong pedagang untuk membuat keputusan beli atau jual berdasarkan firasat mereka tentang arah aliran pasaran masa hadapan.
Kepada orang luar, rasa pasaran adalah bakat misteri yang membolehkan anda menang tanpa sebarang pergerakan Dengannya, anda boleh bertapak di pasaran. Sebenarnya, pengertian pasaran adalah ringkasan pengalaman perdagangan subjektif oleh otak Ia adalah perasaan ramalan yang samar-samar yang diperolehi melalui tahun-tahun menonton pasaran.
Walaupun secara tegasnya, inspirasi tidak sepenuhnya sama dengan pengertian pasaran, saya percaya bahawa selepas beribu-ribu kali pengalaman dalam pasaran, semua orang akan mempunyai pemahaman yang lebih mendalam tentang pasaran dan akan mahir dalam membangunkan strategi. Oleh itu, jika anda ingin memperoleh bakat ini dan membangunkan lebih banyak strategi perdagangan, tiada cara lain selain berlatih sehingga anda mendapat peluang. Hanya melalui sejumlah besar transaksi anda boleh menyempurnakan sistem perdagangan anda.
Walau bagaimanapun, niaga hadapan dan saham komoditi domestik hanya mempunyai beberapa jam masa dagangan sehari Jika anda hanya meningkatkan pengalaman anda dalam melihat pasaran melalui dagangan sebenar, membentuk model keuntungan dan peraturan dagangan anda sendiri, dan melatih refleks terkondisi anda secara tidak sedar, ia akan. sukar untuk mencapai kejayaan saya tidak mampu melakukannya. Selain membayar kos masa yang lebih lama, kebanyakan peniaga juga terpaksa menanggung kos kerugian modal. Untuk menyelesaikan masalah ini, pencipta secara kuantitatif membangunkan fungsi main balik data.
Fungsi main balik data boleh dilatih tanpa dihadkan oleh waktu dagangan bursa, dan menyokong pelbagai jenis niaga hadapan komoditi dan mata wang digital Keadaan pasaran boleh dimainkan semula secara manual atau automatik, dan masa mula dan tamat keadaan pasaran sejarah dan kelajuan main balik boleh ditetapkan secara bebas. Berbanding dengan perisian lain yang lazimnya menggunakan kaedah main balik data K-line, Inventor Quantitative menggunakan kaedah main balik data peringkat Tick, iaitu persekitaran ujian balik yang benar-benar hampir dengan dagangan sebenar, menghasilkan semula data harga dan volum, membenarkan pedagang untuk terlibat dalam pengalaman itu.
Buka laman web rasmi Inventor Quantitative (fmz.com), daftar dan log masuk, kemudian klik Penerokaan Data di pusat kawalan untuk memaparkan halaman fungsi main balik data. Terdapat empat kotak pilihan dan butang pilihan Pertama, klik butang pemilihan untuk memaparkan hanya varieti yang menyokong main balik masa nyata Kemudian, pilih variasi untuk dimainkan semula di sudut kiri atas, dan kemudian pilih permulaan dan akhir masa data dalam dua kotak pilihan seterusnya Pilih tempoh masa data sebagai main balik masa nyata, dan akhirnya klik butang Pergi di hujung kanan untuk memulakan fungsi main balik data.

Terdapat tiga bahagian di bawah label data. Di sebelah kiri ialah sejarah transaksi, yang memaparkan semua pesanan yang dilaksanakan dalam susunan kronologi. Di tengah adalah data pasaran dengan 20 tahap kedalaman untuk kedua-dua pembelian dan penjualan. Di sebelah kanan ialah kawasan kawalan main balik data, di mana anda boleh memilih kaedah main balik data manual dan automatik, semudah menggunakan pemain media.

Indeks kedudukan boleh diseret ke sana ke mari untuk memilih masa mula main balik data dengan cepat.

Di bahagian bawah, anda juga boleh mengawal kelajuan main balik data dengan menggerakkan kursor ke kanan atau kiri Unit masa ialah milisaat Anda boleh mempercepatkan atau memperlahankan main balik data.

Walaupun terdapat banyak faktor yang mempengaruhi turun naik harga, termasuk: persekitaran ekonomi global, dasar makroekonomi negara, dasar industri yang berkaitan, hubungan penawaran dan permintaan, peristiwa antarabangsa, kadar faedah dan kadar pertukaran, inflasi dan deflasi, psikologi pasaran, faktor yang tidak diketahui, dsb. , keadaan pasaran akhir Harga di atas adalah hasil persaingan antara lembu jantan dan beruang. Jika terdapat lebih banyak pembeli daripada penjual, harga akan meningkat, sebaliknya, jika lebih banyak penjual daripada pembeli, harga akan jatuh. Kemudian kita hanya perlu menganalisis harga untuk membuat strategi perdagangan.
Melalui main balik kuantitatif pencipta bagi pasangan dagangan btc_usdt di Binance Exchange pada bulan lalu, kami mendapati bahawa apabila pasaran melonjak atau menjunam, volum pesanan sisi panjang dan pendek buku pesanan data Tick jelas tidak simetri. Apabila pasaran meningkat secara mendadak, jumlah pesanan panjang adalah jauh lebih besar daripada jumlah pesanan pendek apabila pasaran jatuh secara mendadak, jumlah pesanan pendek jauh lebih kecil daripada jumlah pesanan panjang. Jadi bolehkah kita meramalkan kenaikan dan penurunan harga dalam tempoh yang singkat berdasarkan bilangan pesanan dalam buku pesanan?
Jawapannya ya.

Kami boleh mengumpul data semak dalam, mengira jumlah pesanan panjang dan pendek dan membandingkannya Jika jumlah gabungan pesanan panjang dan pendek adalah sangat berbeza, ia mungkin peluang membeli atau menjual. Sebagai contoh, apabila bilangan pesanan panjang adalah N kali ganda daripada pesanan pendek, kita boleh mengandaikan bahawa kebanyakan orang dalam pasaran adalah menaik, dan kebarangkalian kenaikan harga dalam jangka pendek akan meningkat apabila bilangan pesanan pendek ialah N kali lebih daripada pesanan lama, Pada masa ini, kita boleh mengandaikan bahawa kebanyakan orang dalam pasaran adalah menurun, dan kebarangkalian penurunan harga dalam jangka pendek pada masa hadapan akan meningkat.
Mengikut logik strategi di atas, mulakan untuk melaksanakannya dengan kod. Buka mengikut turutan: tapak web fmz.com > Log masuk > Pusat Kawalan > Pustaka Dasar > Dasar Baharu > Klik menu lungsur di penjuru kanan sebelah atas dan pilih bahasa Python untuk mula menulis dasar. Strategi ini hanyalah titik permulaan untuk mengajar, jadi saya cuba memastikan ia ringkas yang mungkin. Sila beri perhatian kepada komen dalam kod di bawah.
Langkah 1: Tulis rangka kerja dasar
# 策略主函数
def onTick():
pass
# 程序入口
def main():
while True: # 进入无限循环模式
onTick() # 执行策略主函数
Sleep(1000) # 休眠1秒
Apabila kita menulis strategi, kita harus menulis dari besar kepada kecil, sama seperti membina rumah, mula-mula membina bingkai dan kemudian membina dinding. Dalam rangka kerja ini, kami menggunakan dua fungsi: fungsi utama dan fungsi onTick. Fungsi utama ialah titik masuk program, yang bermaksud bahawa program akan dilaksanakan dari sini, dan kemudian masukkan mod gelung tak terhingga, berulang kali melaksanakan fungsi onTick. Kemudian kita hanya perlu menulis kandungan strategi ke dalam fungsi onTick.
Langkah 2: Tulis pembolehubah global
vol_ratio_arr = [] # 多空挂单比率数组
mp = 0 # 虚拟持仓
Sebab mengapa vol_ratio_arr ditakrifkan sebagai pembolehubah global ialah strategi saya perlu mengumpul nisbah pesanan panjang dan pendek untuk tempoh data Tick Jika kita meletakkan pembolehubah vol_ratio_arr dalam fungsi onTick, adalah jelas tidak munasabah untuk dijalankan dengan. gelung. Apa yang kita perlukan adalah untuk Dalam corak, nilai pembolehubah hanya berubah apabila syarat tertentu dipenuhi Pendekatan yang paling munasabah ialah meletakkan pembolehubah di luar gelung.
Pengurusan kedudukan adalah sangat diperlukan kerana ia berkaitan dengan logik jual beli Secara umumnya, dalam perdagangan spot, kami mengira pasangan mata wang yang dipegang dengan mendapatkan akaun. Untuk memudahkan kod, pembolehubah kedudukan maya global ditakrifkan secara langsung di sini untuk mengawal logik pembelian dan penjualan.
Langkah 3: Kira nisbah panjang-pendek semasa
depth = exchange.GetDepth() # 获取深度数据
asks = depth['Asks'] # 获取卖价数组
bids = depth['Bids'] # 获取买价数组
asks_vol = 0 # 所有卖价挂单
bids_vol = 0 # 所有买价挂单
for index, ask in enumerate(asks): # 遍历卖价数组
# 线性计算所有卖价挂单
asks_vol = asks_vol + ask['Amount'] * (20 - index)
for index, bid in enumerate(bids): # 遍历买价数组
# 线性计算所有买价挂单
bids_vol = bids_vol + bid['Amount'] * (20 - index)
bidask_ratio = bids_vol / asks_vol # 计算多空比率
Seperti yang kita sedia maklum, mata wang digital biasanya mempunyai 20 tahap data kedalaman, jadi kita boleh menjumlahkan pesanan panjang dan pendek untuk mengira nisbah belian kepada pendek Apabila nilai ini lebih besar daripada 1, ini bermakna lebih ramai orang yakin daripada menurun. , menunjukkan bahawa harga akan meningkat dalam jangka pendek pada masa hadapan; jangka pendek pada masa hadapan.
Tetapi satu perkara yang perlu dibezakan Semakin hampir pesanan belum selesai dengan harga pasaran, semakin kuat sentimen kenaikan harga atau penurunan harga pada tahap ke-20. Oleh itu, apabila mengumpul pesanan belum selesai, kita perlu memberikan pemberat yang berbeza kepada 20 pesanan secara linear, yang akan menjadi lebih munasabah.
Langkah 4: Kira secara linear nisbah panjang-pendek sepanjang tempoh masa
global vol_ratio_arr, mp # 引入全局变量
vol_ratio_arr.insert(0, bidask_ratio) # 把多空比率放到全局变量数组里面
if len(vol_ratio_arr) > 20: # 如果数组超过指定长度
vol_ratio_arr.pop() # 删除最旧的元素
all_ratio = 0 # 临时变量,所有多空挂单比率
all_num = 0 # 临时变量,所有线性乘数
for index, vol_ratio in enumerate(vol_ratio_arr): # 变量全局变量数组
num = 20 - index # 线性乘数
all_num = all_num + num # 线性乘数累加
all_ratio = all_ratio + vol_ratio * num # 所有多空挂单比率累加
ratio = all_ratio / all_num # 线性多空挂单比率
Nisbah panjang-pendek boleh diperolehi dengan membahagikan pesanan panjang terkumpul dengan pesanan pendek terkumpul, tetapi ini hanya data satu tanda. Ia mungkin bukan pilihan yang bijak untuk membuat keputusan untuk membeli dan menjual transaksi berdasarkan hanya satu data semak , kerana dalam pasaran yang sentiasa berubah, kutu boleh mengubah arah aliran pasaran data tidak meyakinkan. Oleh itu, kita perlu mengumpul tempoh tetap data tanda, dan kemudian menggunakan pengiraan linear untuk mendapatkan nilai saksama.
Langkah 5: Buat pesanan
last_ask_price = asks[0]['Price'] # 最新卖一价,用于买入的价格
last_bid_price = bids[0]['Price'] # 最新买一价,用于卖出的价格
if mp == 0 and ratio > buy_threshold: # 如果当前无持币,并且比率大于指定值
exchange.Buy(last_ask_price, 0.01) # 买入
mp = 1 # 设置虚拟持仓的值
if mp == 1 and ratio < sell_threshold: # 如果当前持币,并且比率小于指定值
exchange.Sell(last_bid_price, 0.01) # 卖出
mp = 0 # 重置虚拟持仓的值
Kerana kita perlu menentukan harga semasa membuat pesanan, kita boleh terus menggunakan harga permintaan terkini semasa membeli, dan harga bida terkini semasa menjual. Akhir sekali, selepas pesanan dibuat dan transaksi selesai, tetapkan semula nilai kedudukan maya.
Di atas adalah analisis kod strategi aliran pesanan linear yang dibangunkan berdasarkan fungsi main balik data Jika anda seorang pemula dalam perdagangan, fungsi main balik data boleh membantu anda belajar perdagangan pada kos sifar dan memendekkan masa untuk memahami perdagangan mengambil masa beberapa tahun untuk belajar perdagangan dalam perdagangan sebenar atau simulasi Keputusan awal dilihat Kesan yang sama boleh dicapai dalam beberapa minggu menggunakan fungsi main balik data, membolehkan anda belajar perdagangan dengan kerugian yang minimum tanpa membuang masa. Untuk pedagang lanjutan, semakan dinamik boleh membantu anda menganalisis masalah masa lalu anda, mengesahkan dan menambah baik strategi dagangan, meningkatkan keyakinan pedagang terhadap strategi dan membantu menjana inspirasi strategi baharu.