encipta Sila ambil perhatian bahawa OPEN dalam baris pertama ialah API untuk mendapatkan harga penutupan, yang boleh digunakan secara langsung MA dalam baris kedua ialah API untuk mendapatkan purata bergerak, yang memerlukan dua parameter untuk dilalui, iaitu, anda perlu memberitahu Alat Kuantitatif Pencipta, yang anda perlukan untuk mengira purata harga pada moving 0 yang anda perlukan: ia sebagai: MA(OPEN,50);
“//” kuning ialah simbol ulasan, dan aksara Cina biru di belakangnya ialah kandungan ulasan Ini adalah untuk anda baca sendiri, dan digunakan untuk menunjukkan maksud baris kod tersebut. Program ini tidak memproses ulasan apabila ia dijalankan. Ambil perhatian bahawa sebelum aksara ulasan, setiap baris kod mesti mempunyai koma bertitik Inggeris sebagai penghujung baris.
Dengan pemahaman asas struktur kod, kami akan memperkenalkan beberapa bahasa yang biasa digunakan kepada anda di bawah, dan kami juga akan menggunakan bahasa ini dengan kerap pada masa hadapan. BUKA——Dapatkan harga pembukaan K-line terkini Contoh: AA: =OPEN; Dapatkan harga pembukaan K-line terkini dan tetapkan hasilnya kepada AA
TINGGI——Dapatkan harga tertinggi K-line terkini Contoh: AA: =HIGH; Dapatkan harga tertinggi K-line terkini dan tetapkan hasilnya kepada AA
RENDAH——Dapatkan harga terendah K-line terkini Contoh: AA: =RENDAH; Dapatkan harga terendah K-line terkini dan tetapkan hasilnya kepada AA
TUTUP——Dapatkan harga penutupan terkini K-line Apabila K-line intraday belum selesai, dapatkan harga terkini Contoh: AA: =CLOSE; Dapatkan harga penutupan K-line terkini dan tetapkan hasilnya kepada AA
VOL——Dapatkan volum transaksi K-line terkini Contoh: AA: =VOL; Dapatkan volum transaksi K-line terkini dan tetapkan hasilnya kepada AA
REF(X,N) - Merujuk nilai kitaran X N yang lalu. Contoh: REF(CLOSE,1); Dapatkan harga pembukaan K-line sebelumnya
MA(X,N)——Cari purata bergerak mudah X dalam N tempoh Contoh: MA(CLOSE,10); //Dapatkan purata bergerak 10 tempoh K-line terkini
CROSSUP(A,B)——Apabila A melintasi B dari bawah ke atas, ia mengembalikan 1 (Ya), jika tidak ia mengembalikan 0 (Tidak) Contoh: CROSSUP(CLOSE,MA(C,10)) // Harga penutupan melepasi harga purata 10 tempoh
CROSSDOWN(A,B)——Apabila A melintasi B dari atas, ia mengembalikan 1 (Ya), jika tidak ia mengembalikan 0 (Tidak) Contoh: CROSSDOWN(CLOSE,MA(C,10)) // Harga penutup melintasi di bawah harga purata 10 tempoh
BK——Posisi Pembukaan Beli Contoh: TUTUP>MA(TUTUP,5),BK; //Harga penutupan lebih besar daripada purata bergerak 5 tempoh, kedudukan beli
SP——Jual untuk menutup kedudukan Contoh: CLOSE
SK——Jawatan Pembukaan Jual Contoh: TUTUP
BP——Beli untuk Tutup Contoh: TUTUP>MA(TUTUP,5),BP; //Harga penutupan adalah lebih tinggi daripada purata bergerak 5 tempoh, beli dan kedudukan tutup
BPK——Beli untuk menutup kedudukan, dan beli untuk membuka kedudukan (reverse long position) Contoh: TUTUP>MA(TUTUP,5),BPK; // Harga penutupan adalah lebih besar daripada purata bergerak 5 tempoh, tutup kedudukan jual dan kemudian beli untuk membuka kedudukan baharu.
SPK——Jual untuk menutup kedudukan dan jual untuk membuka kedudukan (jualan pendek) Contoh: CLOSE
CLOSEOUT——Tutup semua kedudukan, disyorkan untuk digunakan dalam model peningkatan dan penurunan kedudukan. Contoh: CLOSEOUT; tutup semua kedudukan dalam semua arah.
Sebelum menerangkan API bahasa JavaScript, mari kita lihat struktur kod biasa dan komponen fungsinya. Ini akan membantu anda memahami API dengan lebih baik.
Rajah 2-10 contoh kod JavaScript
Seperti yang ditunjukkan dalam kod di atas: Mencipta pembolehubah dalam bahasa JavaScript sering dirujuk sebagai “mengisytiharkan” pembolehubah. Dalam kod merah, kami menggunakan kata kunci var untuk mengisytiharkan pembolehubah, dan nama pembolehubah adalah dalam kod oren: “aa”.
Dalam JavaScript, tanda sama digunakan untuk menetapkan nilai, iaitu, nilai di sebelah kanan “=” diberikan kepada pembolehubah di sebelah kiri. Kod cyan “pertukaran” ialah objek pertukaran. Pertukaran di sini merujuk kepada syarikat niaga hadapan yang anda tetapkan. Ini adalah format tetap, yang bermaksud bahawa apabila anda memanggil API bahasa JavaScript, anda mesti menentukan objek pertukaran.
Kod hijau ialah API JavaScript Apabila kita memanggilnya, kita sebenarnya memanggil fungsi dalam objek pertukaran. Perhatikan titik selepas kod biru, yang juga merupakan format tetap. Fungsi di sini adalah sama dengan fungsi yang kita pelajari di sekolah menengah. Jika fungsi tidak memerlukan parameter, gunakan kurungan kosong untuk menunjukkannya jika fungsi mesti lulus dalam parameter, tulis parameter di dalam kurungan.
Selepas memahami struktur asas dan prinsip kod melalui contoh, kami akan menunjukkan kepada anda beberapa API bahasa JavaScript yang sering anda gunakan pada masa hadapan. SetContractType(“Kod Produk”)——Tetapkan jenis kontrak, iaitu produk yang ingin anda jual Contoh: exchange.SetContractType(“rb1905”); //Tetapkan jenis transaksi kepada “Rebar 1905 Contract”
GetTicker——Dapatkan data Tick Contoh: exchange.GetTicker(); //Dapatkan data Tick
GetRecords——Dapatkan data K-line Contoh: exchange.GetRecords(); //Dapatkan data K-line
Beli Contoh: tukar.Beli(5000, 1); //Beli satu lot pada 5000 yuan
Jual——Beli Contoh: pertukaran.Jual(5000, 1); //Jual satu lot pada 5,000 yuan
GetAccount——Dapatkan maklumat akaun Contoh: exchange.GetAccount(); //Dapatkan maklumat akaun
GetPosition——Dapatkan maklumat kedudukan Contoh: exchange.GetPosition(); //Dapatkan maklumat kedudukan
SetDirection——Tetapkan jenis pesanan panjang atau pendek Contoh: exchange.SetDirection(“beli”); //Tetapkan jenis pesanan untuk membeli untuk membuka kedudukan panjang exchange.SetDirection(“closebuy”); //Tetapkan jenis pesanan untuk menjual kepada menutup posisi beli exchange.SetDirection(“sell”); //Tetapkan jenis pesanan untuk dijual untuk membuka kedudukan jual exchange.SetDirection(“closell”); //Tetapkan jenis pesanan untuk membeli untuk menutup kedudukan jual
Log - Keluarkan mesej dalam log Contoh: Log(“hello, world”); // Keluarkan “hello world” dalam log
Tidur - Jeda program untuk tempoh masa Contoh: Tidur(1000); //Jeda program selama 1 saat
Sesetengah daripada anda mungkin mempunyai soalan, bagaimana untuk mengingati begitu banyak API di atas? Sebenarnya, anda tidak perlu menghafal semua ini. Laman web rasmi Inventor Quant mempunyai set dokumentasi API yang terperinci. Sama seperti mencari kamus, apabila anda memerlukannya, cari sahaja. Jangan takut dengan kod dan kandungan lain yang anda kenali untuk pertama kalinya. Apa yang kami mahu ialah mengatur strategi kami sendiri melalui bahasa ini. Harap ingat bahawa teknologi tidak pernah menjadi ambang pengiraan sama ada anda mempunyai strategi yang baik adalah kunci kepada sama ada anda boleh pergi ke pasaran kuantitatif.
Di atas adalah API yang paling biasa digunakan dalam perdagangan kuantitatif, yang pada asasnya termasuk: mendapatkan data, mengira data, meletakkan pesanan beli dan jual, yang cukup untuk mengendalikan strategi perdagangan kuantitatif yang mudah Sudah tentu, jika anda ingin menulis strategi yang lebih kompleks, anda perlu pergi ke laman web rasmi Alat Kuantitatif Pencipta untuk mendapatkannya.
Pengaturcaraan adalah seperti memasang blok Lego, API adalah seperti pelbagai bahagian blok, dan proses pengaturcaraan adalah untuk meletakkan pelbagai bahagian Lego bersama-sama menjadi mainan yang lengkap. Dalam bahagian seterusnya, saya akan membawa anda menggunakan API Bahasa Mai untuk menyusun strategi dagangan kuantitatif yang lengkap.
Selepas mengkaji bahagian sebelumnya, anda kini akhirnya boleh mula menulis strategi perdagangan kuantitatif. Ini akan menjadi langkah paling penting untuk anda beralih daripada perdagangan manual kepada perdagangan kuantitatif. Sebenarnya, ia tidak begitu misteri Menulis strategi tidak lebih daripada mengubah idea anda menjadi kod. Bahagian ini akan melaksanakan strategi perdagangan kuantitatif dari awal dan membiasakan anda dengan cara menulis strategi pada Sistem Kuantitatif Pencipta.
Pertama, buka laman web rasmi Alat Kuantitatif Pencipta, dan klik “Perpustakaan Strategi” dan “Strategi Baharu” perlu diperhatikan bahawa sebelum mula menulis kod, anda perlu memilih bahasa Mai atau bahasa JavaScript dalam menu lungsur bahasa pengaturcaraan Sudah tentu, platform juga menyokong bahasa Python, C++ dan visual.
Dalam bab sebelumnya, kami memperkenalkan strategi untuk penembusan harga melalui purata bergerak. Iaitu: jika harga lebih tinggi daripada harga purata 10 hari lepas, beli jika harga lebih rendah daripada harga purata 10 hari lepas, jual. Walau bagaimanapun, walaupun harga boleh mencerminkan secara langsung status pasaran, akan terdapat banyak isyarat terobosan palsu, jadi kami perlu meningkatkan dan memperbaiki strategi ini.
Pertama, pilih purata bergerak tempoh yang lebih besar untuk menentukan arah aliran, yang sekurang-kurangnya telah menapis hampir separuh daripada isyarat terobosan palsu Walaupun purata pergerakan tempoh besar adalah perlahan, ia akan menjadi lebih stabil kemudian, untuk meningkatkan lagi kadar kejayaan kemasukan, tambah satu lagi syarat bahawa purata pergerakan tempoh yang besar ini adalah sekurang-kurangnya menaik, akhirnya, gunakan perhubungan kedudukan relatif bagi purata pergerakan harga, jangka pendek dan jangka panjang;
Dengan idea dan pemikiran strategik di atas, kita boleh cuba membina logik strategi. Logiknya di sini bukanlah untuk meminta anda mengira undang-undang pergerakan cakerawala; ia tidak begitu rumit. Ia tidak lebih daripada menyatakan idea strategik terdahulu dengan kata-kata.
Pembukaan kedudukan panjang: Jika tiada kedudukan semasa, dan harga penutupan adalah lebih besar daripada purata bergerak jangka pendek, dan harga penutupan adalah lebih besar daripada purata bergerak jangka panjang, dan purata bergerak jangka pendek lebih besar daripada purata bergerak jangka panjang, dan purata bergerak jangka panjang semakin meningkat.
Buka kedudukan pendek: Jika tiada kedudukan semasa, dan harga penutupan adalah kurang daripada purata bergerak jangka pendek, dan harga penutupan adalah kurang daripada purata bergerak jangka panjang, dan purata bergerak jangka pendek adalah kurang daripada purata bergerak jangka panjang, dan purata bergerak jangka panjang sedang jatuh.
Penutupan kedudukan panjang: Jika anda pada masa ini memegang pesanan panjang dan harga penutupan adalah kurang daripada purata bergerak jangka panjang, atau purata bergerak jangka pendek kurang daripada purata bergerak jangka panjang, atau purata bergerak jangka panjang semakin menurun.
Penutupan kedudukan pendek: Jika anda pada masa ini memegang pesanan pendek, dan harga penutupan adalah lebih besar daripada purata bergerak jangka panjang, atau purata bergerak jangka pendek lebih besar daripada purata bergerak jangka panjang, atau purata bergerak jangka panjang semakin meningkat.
Di atas adalah bahagian logik keseluruhan strategi dagangan kuantitatif Jika kita menukar versi teks logik strategi kepada kod, ia akan merangkumi tiga langkah: mendapatkan keadaan pasaran, mengira penunjuk dan meletakkan pesanan beli dan jual.
Langkah pertama adalah untuk mendapatkan maklumat pasaran Dalam strategi perdagangan kuantitatif ini, kita hanya perlu mendapatkan harga penutupan Dalam Bahasa Mai, API untuk mendapatkan harga penutupan ialah: TUTUP, anda hanya perlu menulis TUTUP dalam kod untuk mendapatkan harga penutupan K-line.
Kemudian datang penunjuk pengiraan Dalam strategi dagangan kuantitatif ini, kami menggunakan sejumlah 2 teknologi, iaitu: purata bergerak jangka pendek dan purata bergerak jangka panjang Kami menganggap bahawa purata bergerak jangka pendek ialah purata bergerak 10 tempoh dan purata bergerak jangka panjang ialah purata bergerak 50 tempoh untuk Jadi bagaimana kita mewakili purata pergerakan 50? Sila lihat rajah berikut:
Rajah 2-11 Kod strategi bahasa Mai
Dalam perdagangan manual, kita boleh melihat sepintas lalu sama ada purata bergerak 50 tempoh meningkat atau menurun, tetapi bagaimana kita menyatakannya dalam kod? Fikirkan dengan teliti, untuk menilai sama ada purata bergerak meningkat, bukankah nilai purata bergerak 50 tempoh garis K semasa adalah lebih besar daripada nilai purata pergerakan 50 tempoh garis K sebelumnya, dan nilai purata bergerak 50 tempoh garis K sebelumnya lebih besar daripada nilai purata pergerakan 50 tempoh garis K sebelumnya? Sebaliknya adalah benar, yang bermaksud purata bergerak jatuh. Jadi dalam kod, ia sepatutnya seperti ini:
Rajah 2-12 Kod purata bergerak penghakiman bahasa Mai
Perhatikan kod merah mawar “DAN” dalam baris 8 dan 9 dalam rajah di atas Ia bermaksud “dan” dalam bahasa Mai. Sebagai contoh, baris ke-9 diterjemahkan ke dalam bahasa Cina sebagai: Jika purata bergerak 50 tempoh garis K semasa adalah lebih besar daripada purata bergerak 50 tempoh garis K sebelumnya, dan purata bergerak 50 tempoh garis K sebelumnya adalah lebih besar daripada purata bergerak 50 tempoh garis K sebelumnya, maka nilainya dikira sebagai “y”, sebaliknya nilai “y” dikira sebagai “y”. 0_ISUP”.
Langkah terakhir ialah membuat pesanan beli dan jual Anda hanya perlu memanggil API pesanan alat kuantitatif pencipta selepas kod logik beli dan jual untuk melaksanakan operasi beli dan jual. Sila lihat rajah berikut:
Rajah 2-13 Kod Transaksi Jual Beli Bahasa Mai
Perhatikan kod merah mawar “ATAU” dalam baris 13 dan 14 dalam gambar di atas Ia bermaksud “atau” dalam bahasa Mai. Sebagai contoh, baris 13 diterjemahkan ke dalam bahasa Cina sebagai: Jika harga penutupan garis K semasa adalah kurang daripada purata pergerakan 50 tempoh garisan K semasa, atau purata pergerakan 10 tempoh garisan K semasa adalah kurang daripada purata pergerakan 50 tempoh garisan K semasa, nilai dikira sebagai “ya” dan tiada pesanan dibuat dengan segera;
Sila ambil perhatian: “DAN” dan “ATAU” ialah pengendali logik dalam bahasa Mai: “DAN” bermakna apabila semua syarat adalah “ya”, syarat terakhir ialah “ya”; “ATAU” bermaksud bahawa antara semua syarat, selagi mana-mana satu syarat adalah “ya”, syarat terakhir ialah “ya”.
Di atas adalah keseluruhan proses menulis strategi perdagangan dalam bahasa Mai pada Alat Kuantitatif Pencipta Terdapat hanya tiga langkah secara keseluruhan: daripada mempunyai idea strategi, untuk memikirkan strategi dan menerangkan logik dalam perkataan, dan akhirnya melaksanakan strategi perdagangan lengkap dengan kod. Walaupun ini adalah strategi mudah, proses pelaksanaan khusus adalah serupa dengan strategi yang lebih kompleks, kecuali algoritma dan struktur data strategi adalah berbeza. Oleh itu, selagi anda memahami dan menguasai proses strategi kuantitatif dalam bahagian ini, anda boleh menggunakan bahasa Mai untuk menjalankan penyelidikan strategi kuantitatif dan mempraktikkan alat kuantitatif pencipta mengikut keperluan.
Dalam pembangunan strategi perdagangan kuantitatif, bahasa pengaturcaraan adalah seperti senjata dan peralatan Bahasa pengaturcaraan yang baik boleh membantu anda mendapatkan dua kali ganda hasil dengan separuh usaha. Sebagai contoh, terdapat lebih daripada sedozen bahasa yang paling biasa digunakan dalam industri perdagangan kuantitatif, termasuk Python, C++, Java, C#, EasyLanguage, Bahasa Mai, dll. Senjata mana yang harus saya pilih untuk pergi ke medan perang? Dalam bahagian seterusnya kami akan memperkenalkan bahasa pengaturcaraan biasa ini dan ciri-ciri setiap bahasa pengaturcaraan.
Dalam Bab 1 dan Bab 2, kami mempelajari asas perdagangan kuantitatif dan cara menggunakan alat kuantitatif pencipta Dalam bab ini, kami akan melaksanakan strategi dagangan secara terperinci. Jika anda ingin melakukan kerja anda dengan baik, anda mesti mengasah alat anda terlebih dahulu. Untuk melaksanakan strategi dagangan, anda mesti terlebih dahulu menguasai bahasa pengaturcaraan. Bahagian ini mula-mula memperkenalkan bahasa pengaturcaraan arus perdana dalam perdagangan kuantitatif, serta ciri-ciri setiap bahasa pengaturcaraan.
Sebelum mempelajari bahasa pengaturcaraan, anda mesti terlebih dahulu memahami konsep “bahasa pengaturcaraan”. Bahasa pengaturcaraan adalah bahasa yang boleh difahami oleh manusia dan komputer Ia adalah kod komunikasi standard Tujuan bahasa pengaturcaraan adalah untuk menggunakan bahasa manusia untuk mengawal komputer dan memberitahu komputer apa yang kita mahu lakukan. Komputer boleh melaksanakan arahan mengikut bahasa pengaturcaraan, dan kami juga boleh menulis kod untuk mengeluarkan arahan kepada komputer.
Sama seperti ibu bapa kita mengajar kita bercakap semasa kita kecil, mereka juga mengajar kita bagaimana untuk memahami apa yang orang lain katakan. Selepas tempoh yang lama mempengaruhi dan belajar sendiri, kami belajar bercakap tanpa disedari dan dapat memahami apa yang dikatakan oleh kanak-kanak lain. Terdapat banyak bahasa, termasuk bahasa Cina, Inggeris, Perancis, dll. Contohnya: Cina: Hello World Bahasa Inggeris: Hello World Bahasa Perancis: Bonjour tout le monde
Jika anda menggunakan bahasa pengaturcaraan untuk memaparkan “Hello World” pada skrin komputer, ia akan kelihatan seperti ini: C language: puts(“Hello World”); Bahasa Java: System.out.println(“Hello World”); Bahasa Python: print(“Hello World”) Kami dapat melihat bahawa bahasa komputer mempunyai peraturan khusus mereka sendiri, dan terdapat banyak bahasa ini adalah klasifikasi bahasa pengaturcaraan yang perlu kami jelaskan kepada anda hari ini Dalam setiap klasifikasi, kami hanya perlu mengingati peraturan yang paling asas dan biasa digunakan, dan kami boleh menggunakan bahasa pengaturcaraan ini untuk berkomunikasi dengan komputer dan membiarkan komputer menjalankan strategi yang sepadan mengikut arahan kami.
Untuk memudahkan rujukan dan perbandingan anda, dan untuk memilih bahasa pengaturcaraan perdagangan kuantitatif yang sesuai dengan anda, kami akan mengklasifikasikan enam bahasa pengaturcaraan yang paling biasa digunakan, iaitu Python, Matlab/R, C++, Java/C#, EasyLanguage dan bahasa visual (seperti yang ditunjukkan di bawah).
Rajah 3-1 Penilaian bahasa pengaturcaraan
Kami menilai mereka berdasarkan skop fungsinya, kelajuan larian, kebolehskalaan dan kesukaran pembelajaran. Skor adalah antara 1 dan 5. Contohnya, skor 5 dari segi julat fungsi bermakna fungsi itu berkuasa, dan skor 1 bermakna fungsi itu kurang. (Seperti yang ditunjukkan di atas) Bahasa visual dan EasyLanguage mudah dipelajari dan sangat sesuai untuk pemula Python adalah berkuasa dan mempunyai keupayaan pengembangan yang kuat, menjadikannya sesuai untuk membangunkan strategi perdagangan yang lebih kompleks C++ mempunyai kelajuan dagangan yang lebih pantas dan lebih sesuai untuk pedagang frekuensi tinggi;
Walau bagaimanapun, penilaian setiap bahasa pengaturcaraan adalah terutamanya bertujuan untuk aplikasinya dalam bidang perdagangan kuantitatif dan mengandungi elemen subjektif peribadi. Anda juga dialu-alukan untuk mengkritik di ruangan komen atau mengemukakan pandangan anda untuk perbincangan. Seterusnya, kami akan mula memperkenalkan bahasa pengaturcaraan ini satu persatu.
Pengaturcaraan visual mempunyai sejarah yang panjang dan bukan baru. Konsep pengaturcaraan “apa yang anda lihat ialah apa yang anda dapat”, dilengkapi dengan pelbagai modul kawalan, boleh membina logik kod dan reka bentuk strategi perdagangan yang lengkap hanya dengan menyeret dan menjatuhkan Proses ini hampir sama dengan blok binaan.
Rajah 3-2 Antara muka bahasa pengaturcaraan visual
Seperti yang ditunjukkan di atas, program yang sama boleh diselesaikan dengan hanya beberapa baris kod dalam pengaturcaraan visual Platform Dagangan Kuantitatif Pencipta. Ini sangat merendahkan ambang pengaturcaraan, yang merupakan pengalaman operasi yang hebat, terutamanya bagi pedagang yang tidak mempunyai pengetahuan tentang pengaturcaraan.
Memandangkan strategi pelaksanaan asas bahasa visual ini ditukar kepada C++, ia mempunyai sedikit kesan pada kelajuan berjalan program. Walau bagaimanapun, kefungsian dan skalabilitinya agak lemah, dan tidak mungkin untuk membangunkan strategi dagangan yang terlalu rumit atau canggih.
Apa yang dipanggil EasyLanguage merujuk kepada bahasa pengaturcaraan yang unik kepada beberapa perisian perdagangan kuantitatif komersial. Walaupun bahasa-bahasa ini juga mempunyai beberapa ciri berorientasikan objek, ia terutamanya ditulis dalam aplikasinya. Dari segi sintaks, ia juga sangat dekat dengan bahasa semula jadi kami Bagi pemula perdagangan kuantitatif, menggunakan EasyLanguage sebagai titik masuk adalah pilihan yang lebih baik. Contohnya: bahasa Mai dalam platform dagangan kuantitatif pencipta.
Bahasa skrip ini tidak mempunyai masalah melakukan ujian balik strategi dan perdagangan sebenar dalam perisian khususnya, tetapi ia selalunya terhad dari segi kebolehskalaan Contohnya, pembangun strategi tidak boleh memanggil API luaran. Selain itu, dari segi kelajuan berjalan, bahasa skrip ini berjalan pada mesin mayanya sendiri, dan pengoptimuman prestasinya tidak sebaik Java/C#, jadi ia lebih perlahan.
Pada Stackoverflow, bilangan lawatan ke bahasa pengaturcaraan arus perdana sebahagian besarnya kekal tidak berubah dalam beberapa tahun kebelakangan ini, dengan hanya Python menunjukkan arah aliran menaik. Python boleh digunakan untuk pembangunan tapak web, pembelajaran mesin, pembelajaran mendalam, analisis data, dll. Oleh kerana fleksibiliti dan keterbukaannya, ia telah menjadi bahasa yang paling biasa. Perkara yang sama berlaku dalam bidang pelaburan kuantitatif Pada masa ini, kebanyakan platform kuantitatif domestik adalah berdasarkan Python.
Struktur data asas, senarai dan kamus Python, sangat berkuasa dan pada asasnya boleh memenuhi keperluan perwakilan data. Jika anda memerlukan struktur data yang lebih pantas dan komprehensif, disyorkan untuk menggunakan NumPy dan SciPy Kedua-dua perpustakaan ini pada asasnya dipanggil perpustakaan standard untuk pengkomputeran saintifik Python.
Untuk kejuruteraan kewangan, perpustakaan yang lebih disasarkan ialah Pandas, yang mempunyai dua struktur data, Siri dan DataFrame, dan sangat sesuai untuk memproses siri masa.
Dari segi kelajuan, Python berada di tengah, lebih perlahan daripada C++ dan lebih pantas daripada EasyLanguage, terutamanya kerana Python ialah bahasa dinamik dan kelajuannya adalah purata apabila berjalan dalam Python tulen. Walau bagaimanapun, anda boleh menggunakan Cython untuk mengoptimumkan beberapa fungsi secara statik untuk mendekati kelajuan C++.
Sebagai bahasa gam, Python adalah nombor satu yang tidak dapat dipertikaikan dari segi prestasi pengembangan Selain dapat menyambung ke bahasa lain secara meluas, API pengembangan juga direka bentuk agar mudah digunakan. Dari segi kesukaran pembelajaran, Python mempunyai sintaks yang mudah, kod yang sangat mudah dibaca dan mudah untuk dimulakan.
Seterusnya ialah Matlab dan R. Kedua-dua bahasa ini digunakan terutamanya untuk analisis data. Pengarang bahasa telah membuat banyak reka bentuk sintaksis untuk operasi saintifik. Walau bagaimanapun, skop aplikasinya agak terhad, dan ia biasanya digunakan untuk analisis data dan ujian balik strategi. Untuk sistem perdagangan dan pembangunan algoritma strategi, kebolehgunaan dan kestabilannya agak lemah.
Di samping itu, kelajuan dan kebolehskalaan lariannya agak lemah kerana Matlab dan R dijalankan pada mesin maya bahasa yang unik. Dari segi prestasi, mesin maya mereka jauh lebih teruk daripada Java dan C#. Tetapi kerana sintaks mereka lebih dekat dengan ungkapan matematik, mereka lebih mudah dipelajari.
C++ ialah bahasa pengaturcaraan tujuan umum yang menyokong pelbagai model pengaturcaraan, seperti pengaturcaraan prosedur, abstraksi data, pengaturcaraan berorientasikan objek, pengaturcaraan generik dan corak reka bentuk. Anda boleh menggunakan C++ untuk melaksanakan semua fungsi yang ingin anda capai, tetapi kelemahan terbesar bahasa berkuasa sedemikian ialah ia sangat sukar untuk dipelajari, seperti templat, penunjuk, kebocoran memori, dll.
Pada masa ini, C++ masih menjadi bahasa pengaturcaraan pilihan untuk perdagangan volum besar, frekuensi tinggi Sebabnya adalah mudah kerana ciri-ciri bahasa C++ lebih mudah untuk mendekati komputer asas, ia adalah alat yang paling berkesan untuk membangunkan sistem ujian belakang dan pelaksanaan berprestasi tinggi yang memproses sejumlah besar data.
Java/C# adalah kedua-dua bahasa statik yang dijalankan pada mesin maya Berbanding dengan C++, tiada ralat luar sempadan tatasusunan, tiada coredump, pengecualian yang dilemparkan dapat mengesan lokasi kod ralat dengan tepat, mereka mempunyai mekanisme pengumpulan sampah automatik mereka sendiri, tidak perlu risau tentang kebocoran memori, dsb. Oleh itu, dari segi kesukaran mempelajari sintaks, mereka juga lebih mudah daripada C++. Dari segi kelajuan berjalan, kerana mesin maya mereka semuanya mempunyai fungsi JIT mereka sendiri untuk penyusunan masa jalan, kelajuannya adalah yang kedua selepas C++.
Walau bagaimanapun, dari segi fungsi, adalah tidak mungkin untuk mengoptimumkan sistem dagangan asas seperti C++. Dari segi prestasi pengembangan, ia lebih lemah daripada C++ kerana pengembangan mereka perlu melalui jambatan C, dan kedua-dua bahasa ini sendiri dijalankan pada mesin maya, jadi apabila mengembangkan modul berfungsi, perlu melintasi lapisan dinding tambahan untuk mencapainya.
Tetapi sekali lagi, bahasa pengaturcaraan kuantitatif tidak penting, yang penting ialah idea. Tidak ada masalah dalam menggunakan bahasa Mai kuantitatif dan bahasa visualisasi yang dicipta oleh pencipta sebagai batu loncatan kepada kemasukan kuantitatif Untuk menambah baik selepas kemasukan, anda perlu sentiasa mencuba dan meneroka dalam kombinasi dengan keadaan pasaran yang berbeza.
“Reka bentuk strategi anda, tukar idea anda.” Dari perspektif ini, teras perdagangan kuantitatif masih berdagang idea. Sebagai pedagang kuantitatif, anda bukan sahaja perlu menguasai sintaks asas dan fungsi platform penulisan strategi, tetapi juga perlu mengalami konsep perdagangan dalam pertempuran sebenar. Kuantifikasi hanyalah alat dan pembawa untuk mencerminkan konsep perdagangan yang berbeza.
Saya percaya bahawa dengan pengenalan bahasa pengaturcaraan di atas, anda mesti tahu bagaimana untuk memilih Dalam beberapa bab seterusnya, kita akan mempelajari pembangunan strategi perdagangan kuantitatif dengan cara yang disasarkan mengikut klasifikasi bahasa pengaturcaraan.
Apakah Bahasa Mai? Apa yang dipanggil bahasa Mai ialah satu set perpustakaan fungsi terprogram yang dilanjutkan daripada petunjuk teknikal stok awal. Algoritma dirangkumkan ke dalam fungsi, dan pengguna hanya perlu memanggil fungsi baris demi baris seperti bermain dengan blok binaan untuk melaksanakan logik strategi.
Ia menggunakan mod pembinaan “sintaks kecil, fungsi besar”, yang sangat meningkatkan kecekapan penulisan Strategi yang memerlukan lebih daripada 100 ayat dalam bahasa lain secara amnya boleh ditulis dalam hanya sedozen ayat dalam Bahasa Mai. Bersempena dengan perpustakaan fungsi statistik kewangan dan struktur data alat kuantitatif pencipta, ia juga boleh menyokong beberapa logik perdagangan yang kompleks.
Untuk membantu anda memahami dengan cepat pengetahuan utama bahagian ini, sebelum memperkenalkan Permulaan Pantas Bahasa Gandum Terkuantiti Pencipta, anda harus terlebih dahulu mempunyai pemahaman awal tentang konsep dalam bahagian ini. Kami masih menggunakan purata bergerak 50 hari jangka panjang dan purata bergerak 10 hari jangka pendek sebagai kes asas dan menyemak kes strategi lengkap yang dinyatakan dalam bab sebelumnya:
Pembukaan kedudukan panjang: Jika tiada kedudukan semasa, dan harga penutupan adalah lebih besar daripada purata bergerak jangka pendek, dan harga penutupan adalah lebih besar daripada purata bergerak jangka panjang, dan purata bergerak jangka pendek lebih besar daripada purata bergerak jangka panjang, dan purata bergerak jangka panjang semakin meningkat.
Buka kedudukan pendek: Jika tiada kedudukan semasa, dan harga penutupan adalah kurang daripada purata bergerak jangka pendek, dan harga penutupan adalah kurang daripada purata bergerak jangka panjang, dan purata bergerak jangka pendek adalah kurang daripada purata bergerak jangka panjang, dan purata bergerak jangka panjang sedang jatuh.
Penutupan kedudukan panjang: Jika anda pada masa ini memegang pesanan panjang dan harga penutupan adalah kurang daripada purata bergerak jangka panjang, atau purata bergerak jangka pendek kurang daripada purata bergerak jangka panjang, atau purata bergerak jangka panjang semakin menurun.
Penutupan kedudukan pendek: Jika anda pada masa ini memegang pesanan pendek, dan harga penutupan adalah lebih besar daripada purata bergerak jangka panjang, atau purata bergerak jangka pendek lebih besar daripada purata bergerak jangka panjang, atau purata bergerak jangka panjang semakin meningkat.
Jika ia ditulis dalam kod bahasa Mai, ia kelihatan seperti ini:
Rajah 3-3 Contoh lengkap bahasa Mai
Untuk menulis strategi perdagangan kuantitatif yang lengkap, ia biasanya memerlukan beberapa langkah: pemerolehan data, pengiraan data, pengiraan logik, penempatan pesanan, dll. Seperti yang ditunjukkan dalam rajah di atas, dalam keseluruhan kod, hanya satu API digunakan untuk mendapatkan data asas, iaitu “TUTUP” dalam baris pertama dan kedua, kemudian baris pertama hingga kesembilan adalah bahagian pengiraan data dan akhirnya baris kesebelas hingga empat belas adalah bahagian pengiraan logik dan penempatan pesanan;
Sila ambil perhatian bahawa kod ungu ialah pembolehubah; dalam baris pertama hingga kesembilan, warna hijau “:=” ialah pengendali tugasan, dan data di sebelah kanan pengendali tugasan ditetapkan kepada pembolehubah di sebelah kiri selepas pengiraan; “ATAU” ialah pengendali logik, yang digunakan terutamanya untuk menyambungkan berbilang pengiraan logik, dsb. Dengan konsep pengetahuan asas di atas, mari kita mula mempelajari asas terperinci bahasa Mai.
Data asas (harga pembukaan, harga tertinggi, harga terendah, harga penutup, volum dagangan) adalah bahagian penting dalam perdagangan kuantitatif Untuk mendapatkan data asas terkini dalam strategi, anda hanya perlu menghubungi API alat kuantitatif pencipta. Jika anda ingin mendapatkan data asas sejarah, anda boleh menggunakan “REF”, seperti: REF (CLOSE, 1) adalah untuk mendapatkan harga penutup semalam.
Pembolehubah ialah nombor yang boleh ditukar Nama pembolehubah boleh difahami sebagai kod yang menyokong aksara Cina, huruf, nombor dan sempang, tetapi panjangnya mesti dikawal dalam 31 aksara. Nama pembolehubah tidak boleh diulang antara satu sama lain, nama parameter atau nama fungsi (API), dan setiap pernyataan harus berakhir dengan koma bertitik. Jika anda ingin menambah ulasan bahasa anda sendiri selepas menulis, gunakan “//” di penghujungnya. Ia perlu ditulis dalam mod huruf besar kaedah input separuh lebar. Seperti yang ditunjukkan dalam rajah berikut:
Rajah 3-4 Jenis data bahasa Mai
Tugasan pembolehubah adalah untuk menetapkan nilai di sebelah kanan pengendali tugasan kepada pembolehubah di sebelah kiri Terdapat 4 jenis pengendali tugasan, yang boleh mengawal sama ada nilai dipaparkan pada carta dan menentukan kedudukan paparan. Fon hijau dalam rajah di bawah ialah operator tugasan, iaitu “:”, “:=”, “^^”, dan “..” Komen kod dalam rajah menerangkan maksudnya secara terperinci.
Rajah 3-5 Tugasan pembolehubah bahasa Mai
Dalam bahasa Mai, terdapat banyak jenis data, antaranya yang paling biasa digunakan ialah jenis berangka, jenis rentetan dan jenis Boolean. Jenis berangka ialah nombor, termasuk integer, perpuluhan, nombor positif dan negatif, dsb., seperti: 1, 2, 3, 1.1234, 2.23456… jenis rentetan boleh difahami sebagai teks, bahasa Cina, bahasa Inggeris dan nombor semuanya boleh menjadi rentetan, seperti: ‘Kuantiti Pencipta’, ‘TUTUP HARGA BOLEH’; st, ia hanya mempunyai dua nilai “ya” dan “tidak”, seperti: 1 mewakili benar untuk “ya”, dan 0 mewakili palsu untuk “tidak”.
Pengendali perhubungan, seperti namanya, adalah pengendali yang digunakan untuk membandingkan hubungan antara dua nilai. Mereka adalah sama dengan, lebih besar daripada, kurang daripada, lebih besar daripada atau sama dengan, kurang daripada atau sama dengan, dan tidak sama dengan, seperti yang ditunjukkan di bawah:
Rajah 3-6 Operator bahasa Mai
Operasi logik boleh menyambungkan pernyataan Boolean yang berasingan kepada satu keseluruhan Yang paling biasa digunakan ialah “AND” dan “OR”. Katakan terdapat dua nilai jenis Boolean, iaitu “harga penutup lebih besar daripada harga pembukaan” dan “harga penutupan lebih besar daripada purata bergerak”, kita boleh menggabungkannya menjadi nilai Boolean, seperti: “harga penutup lebih besar daripada harga pembukaan dan (DAN) harga penutup lebih besar daripada purata bergerak”, “harga penutupan lebih besar daripada harga pembukaan atau (ATAU) harga penutupan lebih besar daripada purata bergerak”.
Rajah 3-7 Operasi logik bahasa Mai
Perhatian semua: “DAN” bermakna apabila semua syarat adalah “ya”, syarat terakhir ialah “ya”; “ATAU” bermaksud bahawa antara semua syarat, selagi mana-mana satu syarat adalah “ya”, syarat terakhir ialah “ya”. “DAN” boleh ditulis sebagai “&&” dan “ATAU” boleh ditulis sebagai “||”.
Pengendali aritmetik yang biasa digunakan dalam bahasa Mai (“+”, “-”,*”, “/”) tidak berbeza dengan matematik yang dipelajari di sekolah rendah, seperti yang ditunjukkan di bawah:
Rajah 3-8 Operasi aritmetik dalam bahasa Mai
Jika ada 100*Untuk ungkapan (10-1)/(10+5), langkah manakah program dikira dahulu? Matematik sekolah menengah memberitahu kita: ① Jika ia adalah operasi tahap yang sama, ia biasanya dikira dari kiri ke kanan. ② Jika terdapat penambahan dan penolakan serta pendaraban dan pembahagian, hitung pendaraban dan bahagi dahulu, kemudian tambah dan tolak. ③Jika terdapat kurungan, kira kandungan di dalam kurungan dahulu. ④ Jika ia mematuhi undang-undang operasi, undang-undang operasi boleh digunakan untuk memudahkan pengiraan. Keutamaan bahasa Mai adalah sama seperti yang ditunjukkan di bawah:
Rajah 3-9 Keutamaan operasi aritmetik dalam bahasa Mai
Dalam bahasa Mai alat kuantitatif pencipta, terdapat dua mod untuk pelaksanaan strategi program, iaitu: mod harga tutup dan mod harga masa nyata. Mod harga penutupan bermakna isyarat K-line semasa diwujudkan, dan transaksi pesanan dilaksanakan serta-merta apabila K-line seterusnya bermula. Mod harga masa nyata bermakna apabila isyarat K-line semasa diwujudkan, transaksi pesanan akan dilaksanakan serta-merta.
Jika ia adalah strategi intraday, apabila anda perlu menutup kedudukan pada penghujung hari dagangan, anda perlu menggunakan fungsi masa “MASA”. Fungsi ini dipaparkan dalam bentuk empat digit apabila berada di atas tempoh kedua dan di bawah tempoh hari, iaitu: HHMM (1450-14:50). Nota: Apabila menggunakan fungsi TIME sebagai syarat untuk menutup kedudukan pada akhir dagangan, adalah disyorkan bahawa keadaan pembukaan juga mempunyai had masa yang sepadan. Seperti yang ditunjukkan di bawah:
Rajah 3-10 Fungsi masa bahasa mikrofon
Rajah 3-11 Klasifikasi model bahasa Mai
Terdapat dua jenis klasifikasi model dalam bahasa Mai, iaitu: model bukan penapisan dan model penapisan. Ini sebenarnya sangat mudah difahami: model bukan penapisan membenarkan isyarat pembukaan atau penutupan berterusan, yang boleh merealisasikan fungsi menambah dan mengurangkan kedudukan. Model penapisan tidak membenarkan isyarat pembukaan atau penutupan berterusan Iaitu, apabila isyarat pembukaan muncul, isyarat pembukaan berikutnya akan ditapis sehingga isyarat penutupan muncul dalam model bukan penapisan ialah: buka-tutup-buka-tutup-buka…..
Di atas adalah pengenalan cepat kepada bahasa Mai Selepas mempelajarinya, anda boleh memprogramkan strategi perdagangan kuantitatif. Jika anda perlu menulis strategi yang lebih kompleks, anda boleh merujuk kepada dokumentasi Inventor Quantitative Tool Mai Language API, atau terus merujuk perkhidmatan pelanggan rasmi untuk menulis strategi dagangan kuantitatif untuk anda.
Dagangan intraday juga merupakan model dagangan Kaedah ini tidak mengekalkan kedudukan dalam sekelip mata, jadi risiko turun naik pasaran adalah lebih rendah Apabila keadaan pasaran yang tidak menguntungkan berlaku, pelarasan boleh dibuat dalam masa. Selepas mempelajari pengenalan kepada bahasa Mai dalam bahagian ini, dalam bahagian seterusnya kami akan menunjukkan kepada anda cara menulis strategi perdagangan kuantitatif intraday yang boleh dilaksanakan.
Dalam artikel sebelumnya, kami menerangkan prasyarat untuk melaksanakan strategi perdagangan dari aspek pengenalan bahasa Mai, sintaks asas, kaedah pelaksanaan model, klasifikasi model, dll. Dalam artikel ini, kami akan meneruskan kandungan artikel sebelumnya dan membantu anda merealisasikan strategi perdagangan kuantitatif intraday yang boleh dilaksanakan langkah demi langkah daripada modul strategi dan penunjuk teknikal yang biasa digunakan.
Fikirkanlah, bagaimana anda membina robot menggunakan kepingan Lego? Anda tidak boleh menyusunnya sekeping demi sekeping, dari atas ke bawah atau dari bawah ke atas. Sesiapa yang mempunyai sedikit akal tahu bahawa kepala, lengan, kaki, sayap, dan lain-lain harus disatukan secara berasingan dan kemudian digabungkan menjadi robot yang lengkap. Ia adalah sama apabila menulis program Tulis fungsi yang diperlukan ke dalam modul strategi, dan kemudian gabungkan modul strategi ke dalam strategi perdagangan kuantitatif yang lengkap. Di bawah saya akan menyenaraikan beberapa modul strategi yang biasa digunakan:
Peningkatan peringkat dikira dengan mengira peratusan perbezaan antara harga penutupan garisan K semasa dan harga penutupan tempoh N sebelumnya. Sebagai contoh, untuk mengira peningkatan tempoh 10 K-line terakhir, kod boleh ditulis sebagai:
Rajah 3-12 Pertumbuhan Peringkat Bahasa Mai
Untuk menetapkan tinggi baharu, kita perlu mengira sama ada garis K semasa lebih besar daripada harga tertinggi dalam tempoh N. Sebagai contoh, untuk mengira sama ada K-line semasa lebih besar daripada harga tertinggi di antara 10 K-line terakhir, kod boleh ditulis sebagai:
Rajah 3-13 Bahasa Mai mencapai tahap tertinggi baharu
Serangan ke atas volum besar boleh difahami sebagai kenaikan harga dan peningkatan mendadak dalam volum dagangan. Sebagai contoh: Jika harga penutupan K-line ialah 1.5 kali ganda harga penutupan 10 K-line sebelumnya, ini bermakna ia telah meningkat sebanyak 50% dalam 10 hari volum dagangan melebihi 5 kali purata 10 K-line terakhir; Ia boleh ditulis dalam kod sebagai:
Rajah 3-14 Isipadu Maiyuyu meningkat
Penggabungan julat sempit bermakna harga kekal dalam julat tertentu dalam tempoh masa yang terkini. Contohnya: Jika perbezaan antara harga tertinggi dalam tempoh 10 tempoh dan harga terendah dalam tempoh 10 tempoh, dibahagikan dengan harga penutup talian K semasa, adalah kurang daripada kira-kira 0.05. Ia boleh ditulis dalam kod sebagai:
Rajah 3-15 Julat bahasa gandum yang sempit
Susunan kenaikkan purata bergerak dibahagikan kepada susunan kenaikkan dan susunan menurun Garis K disusun ke atas dengan sokongan di bawah purata pergerakan 5-10-20-30-60, yang merupakan susunan kenaikkan harga bermaksud trend pasaran adalah arah aliran menaik yang kuat. Ia boleh ditulis dalam kod sebagai:
Rajah 3-16 Susunan Bullish Purata Pergerakan Bahasa Mai
Untuk mendapatkan titik tinggi sebelumnya dan lokasi titik tinggi ini, anda boleh mendapatkannya secara terus melalui API Alat Kuantitatif Pencipta. Ini boleh ditulis dalam kod:
Rajah 3-17 Titik tinggi Bahasa Mai sebelumnya
Jurang ialah keadaan di mana harga tertinggi dan terendah bagi dua talian K tidak disambungkan Ia terdiri daripada dua garisan K Jurang ialah harga rujukan untuk titik sokongan dan tekanan masa hadapan. Apabila jurang berlaku, boleh diandaikan bahawa pecutan arah aliran ke arah jurang asal telah bermula. Ini boleh ditulis dalam kod:
Rajah 3-18 Jurang bahasa Mai
Rajah 3-19 Carta purata bergerak
Dari sudut pandangan statistik, purata bergerak ialah purata aritmetik harga harian, dan ia adalah trajektori harga dengan arah aliran. Sistem purata bergerak ialah alat teknikal yang biasa digunakan oleh kebanyakan penganalisis Dari sudut pandangan teknikal, ia merupakan faktor yang mempengaruhi harga psikologi penganalisis teknikal dan faktor membuat keputusan membeli dan menjual Ia adalah alat rujukan yang baik untuk penganalisis teknikal.
Rajah 3-20 Pengiraan pelbagai penunjuk Bahasa Mai
Rajah 3-21 rajah saluran BOLL
BOLL, juga dikenali sebagai penunjuk Bollinger Band, juga menggunakan prinsip statistik untuk terlebih dahulu mengira trek tengah berdasarkan purata pergerakan hari-N, dan kemudian mengira trek atas dan bawah berdasarkan sisihan piawai. Apabila saluran BOLL menjadi lebih sempit, ini bermakna harga secara beransur-ansur kembali ke min. Apabila saluran BOLL berubah dari sempit kepada lebar, ia bermakna pasaran mula berubah Jika harga melintasi landasan atas, ia menunjukkan bahawa kuasa beli telah meningkat.
Di antara semua petunjuk teknikal, kaedah pengiraan BOLL adalah salah satu yang paling rumit, yang memperkenalkan konsep sisihan piawai dalam statistik dan melibatkan pengiraan garis tengah (MB), garis atas (UP) dan garis bawah (DN). Kaedah pengiraan adalah seperti berikut:
Rajah 3-22 Pengiraan Bollinger Band Bahasa Mai
Rajah 3-23 Penunjuk MACD
Penunjuk MACD menggunakan purata bergerak pantas (jangka pendek) dan perlahan (jangka panjang) dan tanda penumpuan dan pemisahannya, dan melakukan operasi pelicinan berganda. MACD, yang dibangunkan berdasarkan prinsip purata bergerak, telah menghapuskan kecacatan purata bergerak yang sering menghantar isyarat palsu, dan telah mengekalkan kesan purata bergerak Oleh itu, penunjuk MACD mempunyai ciri-ciri trend purata bergerak, kestabilan dan kestabilan Ia adalah penunjuk analisis teknikal yang digunakan untuk menilai masa pembelian dan kejatuhan harga saham. Kaedah pengiraan adalah seperti berikut:
Rajah 3-24 Penunjuk MACD Bahasa Mai
Di atas adalah modul strategi yang lebih biasa digunakan dalam membangunkan strategi perdagangan kuantitatif Sudah tentu, terdapat lebih banyak daripada ini Melalui contoh modul di atas, anda juga boleh melaksanakan beberapa modul perdagangan yang paling biasa digunakan dalam perdagangan subjektif anda. Seterusnya, kami akan mula menulis strategi perdagangan kuantitatif intraday yang boleh dilaksanakan.
Dalam pasaran spot pertukaran asing, pernah terdapat strategi dagangan terobosan yang tersebar secara meluas, iaitu strategi HANS123 Ia menggunakan penembusan titik tinggi dan rendah yang mudah bagi garisan N selepas pembukaan sebagai kriteria untuk mencetuskan isyarat dagangan. Ini juga merupakan mod dagangan dengan kemasukan awal.
Bersedia untuk memasuki pasaran 30 minit selepas pasaran dibuka; Trek atas = titik tinggi 30 minit selepas dibuka; Trek bawah = 30 minit rendah selepas dibuka; Apabila harga menembusi landasan atas, beli dan buka kedudukan; Apabila harga jatuh di bawah landasan yang lebih rendah, buka kedudukan jual. Strategi dagangan urusniaga harian, tutup kedudukan sebelum pasaran ditutup;
Rajah 3-25 Kod strategi bahasa Mai
Di atas, kami telah mempelajari konsep modul strategi, dan melalui beberapa kes modul strategi yang biasa digunakan, kami telah menjadi biasa dengan kaedah pengaturcaraan alat kuantitatif pencipta Boleh dikatakan bahawa belajar menulis modul strategi dan meningkatkan pemikiran logik pengaturcaraan adalah langkah utama dalam perdagangan kuantitatif lanjutan. Akhir sekali, kami menggunakan alat kuantitatif pencipta untuk melaksanakan strategi perdagangan yang biasa digunakan dalam perdagangan spot pertukaran asing.
Sesetengah rakan mungkin berasa keliru dan tidak dapat memahami kod yang padat. Jangan risau, kami telah memikirkan semua ini untuk anda Dalam Alat Kuantitatif Inventor, terdapat juga bahasa pengaturcaraan yang lebih sesuai untuk pengguna pemula Seperti namanya, apa yang anda lihat adalah apa yang anda dapat.
Ramai peniaga subjektif berminat dalam perdagangan kuantitatif Mereka penuh dengan keyakinan pada mulanya Namun, selepas mempelajari sintaks asas, operasi data, struktur data, kawalan logik, dan lain-lain bahasa pengaturcaraan tradisional, mereka sering tidak digalakkan atau berputus asa selepas melihat kod yang panjang dan kompleks Pada masa ini, bahasa pengaturcaraan visual mungkin lebih sesuai untuk anda mulakan.
Untuk membantu semua orang memahami dengan cepat pengetahuan utama bahagian ini, sebelum memperkenalkan pengenalan pantas kepada Bahasa Pengaturcaraan Visual Kuantitatif Pencipta, mari kita lihat dahulu bagaimana rupa strategi yang ditulis dalam bahasa visual? Dan mempunyai pemahaman awal tentang konsep kata nama dalam bahagian ini. Mari kita ambil contoh paling mudah untuk membeli apabila harga penutupan adalah lebih besar daripada purata pergerakan 50 tempoh dan menjadi pendek apabila harga penutupan kurang daripada purata pergerakan 50 tempoh:
Pembukaan kedudukan panjang: Jika tiada kedudukan semasa dan harga penutup lebih besar daripada purata bergerak 50 tempoh. Buka kedudukan pendek: Jika tiada kedudukan semasa dan harga penutup adalah kurang daripada purata bergerak 50 tempoh. Penutupan kedudukan panjang:Jika anda kini memegang kedudukan beli dan harga penutupan kurang daripada purata pergerakan 50 tempoh. Penutupan kedudukan pendek:Jika anda sedang memegang pesanan pendek dan harga penutupan adalah lebih tinggi daripada purata bergerak 50 tempoh.
Jika strategi di atas ditulis dalam bahasa visual, ia akan kelihatan seperti ini (seperti yang ditunjukkan di bawah):
Rajah 3-26 Antara muka bahasa visual
Seperti yang ditunjukkan dalam rajah di atas, keseluruhan proses reka bentuk strategi ialah: tetapkan jenis pasaran, dapatkan tatasusunan garis-K, dapatkan purata 50-tempoh garis-K sebelumnya, dapatkan harga penutupan garis-K sebelumnya, dapatkan tatasusunan kedudukan, tentukan status kedudukan, tentukan sama ada harga penutupan lebih besar atau kurang daripada purata bergerak, dan laksanakan pembukaan atau penutupan.
Di sini kita perlu memberi perhatian kepada konsep “array” adalah salah satu struktur data yang penting untuk setiap bahasa pengaturcaraan. Tatasusunan adalah seperti bekas yang boleh menyimpan satu siri nilai. Sebagai contoh, memanggil API untuk mendapatkan tatasusunan K-line mengembalikan hasil berikut:
Rajah 3-27 Tatasusunan garis K
Kod dalam rajah di atas ialah tatasusunan garis-K Tatasusunan mengandungi tiga data secara keseluruhan, iaitu data garis-K sebelumnya, data baris-K sebelumnya, dan data garis-K semasa. Jika kita menetapkan tatasusunan ini kepada pembolehubah “arr”, jika kita ingin mendapatkan data terakhir dalam tatasusunan ini (data baris akar K), kita boleh menulisnya seperti ini (seperti yang ditunjukkan dalam baris ke-4 dan ke-5 dalam rajah di bawah):
Rajah 3-28 Rujukan tatasusunan
Kita hanya boleh menggunakan cara penulisan kedua (baris 5)