Arti perkataan manusia. Selepas banyak belajar dan belajar sendiri, kita belajar bercakap secara tidak sedar dan juga dapat mendengar apa yang dikatakan oleh anak-anak lain. Terdapat banyak bahasa, termasuk bahasa Cina, Inggeris, Perancis, dan lain-lain. Bahasa Cina: Hai dunia Bahasa Inggeris: Hello World Bahasa Perancis: Bonjour tout le monde
Jika anda menggunakan bahasa pengaturcaraan, "Hello World" akan muncul di skrin komputer anda seperti ini: Bahasa C: puts (selamat tinggal di dunia); Bahasa Java: System.out.println ((Hello world hello world)) Bahasa Python: print ((hi world hello world)) Bahasa komputer mempunyai peraturan tertentu, dan terdapat banyak lagi, dan peraturan bahasa ini adalah klasifikasi bahasa pengaturcaraan yang perlu kita jelaskan kepada anda hari ini, dalam setiap klasifikasi, kita hanya perlu ingat peraturan yang paling asas yang biasa digunakan, untuk dapat menggunakan bahasa pengaturcaraan ini dan komunikasi komputer, supaya komputer menjalankan strategi yang sesuai dengan arahan kita.
Untuk memudahkan anda membandingkan dan memilih bahasa pengaturcaraan urus niaga kuantitatif yang sesuai untuk anda, kami akan membuat klasifikasi mengenai enam bahasa pengaturcaraan yang paling biasa digunakan, iaitu Python, Matlab/R, C++, Java/C#, EasyLanguage, dan Visual Language (seperti yang ditunjukkan di bawah).Rajah 3-1 Penilaian bahasa pengaturcaraan
Kami menilai mereka berdasarkan jangkauan fungsi, kelajuan pelaksanaan, skalabiliti, dan kesukaran pembelajaran. Nilai antara 1 hingga 5, seperti 5 dalam jangkauan fungsi, bermaksud fungsi yang kuat, dan satu nilai bermaksud kurang fungsi. Visual Language dan EasyLanguage mudah dipelajari, sangat sesuai untuk pemula; Python mempunyai kemampuan yang kuat untuk mengembangkan strategi perdagangan yang lebih kompleks; C++ memperdagangkan dengan lebih cepat, lebih sesuai untuk pedagang frekuensi tinggi.
Tetapi penilaian untuk setiap bahasa pengaturcaraan adalah terutamanya untuk aplikasi dalam bidang urus niaga kuantitatif, dan mempunyai komponen subjektif individu. Juga dialu-alukan untuk memberi tepuk tangan di bahagian komen selepas itu, atau mengemukakan pendapat anda untuk perbincangan. Seterusnya, kita akan mula memperkenalkan bahasa pengaturcaraan secara individu.
Pemrograman visual telah lama wujud dan bukan sesuatu yang baru. Idea pengaturcaraan yang dilihat dan dijumpai ini mempunyai pelbagai modul kawalan, yang hanya dengan cara seret, boleh membina logik kod, menyelesaikan reka bentuk strategi dagangan, dan prosesnya seperti blok.Rajah 3-2 Antar muka bahasa pengaturcaraan visual
Seperti yang ditunjukkan di atas, prosedur yang sama, hanya memerlukan beberapa baris kod dalam pengaturcaraan visual platform dagangan kuantitatif pencipta. Ini sangat mengurangkan ambang pengaturcaraan, terutama bagi peniaga yang tidak memahami pengaturcaraan sama sekali, yang merupakan pengalaman operasi yang hebat.
Oleh kerana dasar pelaksanaan strategi bahasa visual ini telah dipindahkan ke C++, ia tidak memberi kesan yang besar terhadap kelajuan program. Tetapi fungsi dan skalabiliti lemah dan tidak dapat membangunkan strategi urus niaga yang terlalu kompleks atau terlalu halus.
Bahasa EasyLanguage merujuk kepada bahasa pengaturcaraan yang unik bagi beberapa perisian dagangan kuantitatif komersial. Walaupun bahasa-bahasa ini juga mempunyai beberapa ciri berorientasikan objek, mereka masih menggunakan skrip dalam aplikasi. Dalam tatabahasa, ia juga sangat dekat dengan bahasa semula jadi kita, dan untuk pemula dagangan kuantitatif, menggunakan EasyLanguage sebagai pengenalan adalah pilihan yang lebih baik.
Bahasa skrip ini tidak mempunyai masalah untuk melakukan pengecekan semula dasar dan cakera nyata dalam perisian tertentu, tetapi sering terhad dalam hal pengembangan, seperti pemaju dasar tidak dapat memanggil API luaran. Dan pada tahap kelajuan, bahasa skrip ini berjalan di mesin maya sendiri, tidak dioptimumkan prestasi seperti Java / C #, dan lebih perlahan.
Pada Stackoverflow, pengunjung bahasa pengaturcaraan utama tidak banyak berubah dalam beberapa tahun kebelakangan ini, hanya Python yang terus meningkat. Python boleh digunakan untuk pembangunan laman web, pembelajaran mesin, pembelajaran mendalam, analisis data, dan lain-lain, kerana fleksibiliti dan keterbukaan, ia telah menjadi bahasa yang paling umum digunakan.
Senarai dan kamus struktur data asas Python, mempunyai ciri-ciri yang sangat kuat untuk memenuhi keperluan penyampaian data. Jika anda memerlukan struktur data yang lebih cepat dan lebih lengkap, kami mengesyorkan menggunakan NumPy dan SciPy, kedua-dua perpustakaan yang pada dasarnya dikenali sebagai perpustakaan standard pengiraan saintifik Python.
Dari segi kejuruteraan kewangan, perpustakaan yang lebih disasarkan ialah Pandas, yang mempunyai dua struktur data iaitu Siri dan DataFrame, yang sangat sesuai untuk memproses urutan masa.
Dari segi kelajuan, Python berada di kedudukan pertengahan aliran, sedikit lebih perlahan daripada C++ dan lebih cepat daripada bahasa EasyLanguage, terutamanya kerana Python adalah bahasa dinamik, kelajuan adalah biasa semasa menjalankan bahasa Python murni.
Sebagai sebuah bahasa yang mudah ditanam, Python adalah yang pertama dalam segi prestasi yang dapat diperluas, selain dapat menghubungkan bahasa lain secara meluas, dan API yang dapat diperluas sangat mudah digunakan. Dalam hal kesukaran pembelajaran, tatabahasa Python adalah mudah, kodnya mudah dibaca, dan mudah dimulakan.
Kemudian bahasa Matlab dan R, kedua-dua bahasa yang terletak di atas analisis data, penulis bahasa telah membuat banyak reka bentuk untuk operasi saintifik secara tatabahasa, dengan ciri-ciri yang menyokong operasi transaksi kuantitatif secara semula jadi. Tetapi aplikasi yang agak terhad, biasanya digunakan untuk analisis data dan analisis semula strategi.
Di samping itu, kelajuan dan skalabiliti mereka juga agak rendah kerana Matlab dan R berjalan pada mesin maya bahasa unik. Dari segi prestasi, mesin maya mereka jauh lebih buruk daripada Java dan C #. Tetapi kerana tatabahasa mereka lebih dekat dengan formula ungkapan matematik, mereka juga agak mudah dipelajari.
C++ adalah bahasa pengaturcaraan umum yang menyokong pelbagai gaya pengaturcaraan seperti pengaturcaraan proses, abstraksi data, pengaturcaraan berorientasikan objek, pengaturcaraan generik dan mode reka bentuk. Dengan bahasa C++ anda boleh mencapai semua fungsi yang anda ingin capai, tetapi bahasa yang kuat ini mempunyai kelemahan terbesar adalah kesukaran belajar yang sangat tinggi, seperti templat, penunjuk, kebocoran memori, dan sebagainya.
Pada masa ini, C++ masih menjadi bahasa pengaturcaraan pilihan untuk urus niaga berkapasiti tinggi dan frekuensi tinggi, dengan sebab yang mudah, kerana ciri bahasa C++ lebih mudah mendekati bahagian bawah komputer dan merupakan alat yang paling berkesan untuk membangunkan sistem pengesanan dan pelaksanaan yang tinggi untuk memproses data yang besar.
Java/C# adalah bahasa statik yang dijalankan pada mesin maya, berbanding C++, tidak ada sempadan matriks, tidak ada coredump, membuang lokasi yang sangat tepat ke lokasi kod yang salah, mekanisme pemulihan automatik sampah sendiri, tidak perlu bimbang tentang kebocoran memori, dan lain-lain. Oleh itu, mereka juga lebih mudah daripada C++ dalam kesukaran pembelajaran tatabahasa. Dalam hal kelajuan, kerana mesin maya mereka mempunyai fungsi JIT yang dikompilasi semasa berjalan, kelajuan mereka berada di belakang C++.
Tetapi dari segi fungsi, ia tidak dapat dilaksanakan seperti C++, untuk mengoptimumkan lapisan bawah sistem urus niaga. Dari segi peningkatan prestasi, ia agak lemah berbanding C++, kerana mereka perlu diperluas melalui jambatan C, dan kedua-dua bahasa itu sendiri berjalan di mesin maya, jadi perlu melintasi dinding yang lebih banyak untuk mencapai tahap peningkatan modul fungsi.
Walau bagaimanapun, bahasa pengaturcaraan kuantitatif tidak penting, yang penting adalah idea. Pencipta bahasa maya kuantitatif dan bahasa visualisasi sebagai pintu masuk kuantitatif adalah benar-benar tidak ada masalah, peningkatan selepas kemasukan adalah perlu untuk terus menggabungkan keadaan pasaran yang berbeza untuk mencuba dan meneroka, boleh dikatakan pemikiran menentukan jalan keluar, mata menentukan sempadan.
Anda merancang strategi anda, berdagang dengan idea anda. Dari sudut ini, perdagangan kuantitatif masih menjadi pusat pemikiran perdagangan. Sebagai seorang pedagang kuantitatif, anda tidak hanya perlu menguasai tatabahasa dan fungsi asas platform penulisan strategi, tetapi juga perlu merealisasikan konsep perdagangan dalam pertempuran sebenar.
1. Apakah kelebihan bahasa Python sebagai transaksi kuantitatif? 2. Cuba menulis beberapa API yang biasa digunakan dalam bahasa Mac pencipta anda?
Saya percaya bahawa dengan perkenalan mengenai bahasa pengaturcaraan di atas, anda pasti tahu bagaimana untuk memilih, maka dalam beberapa bab seterusnya, kami akan membangunkan strategi perdagangan kuantitatif pembelajaran yang disasarkan mengikut klasifikasi bahasa pengaturcaraan.
Apakah bahasa Mac? Bahasa Mac adalah satu perpustakaan fungsi pemrograman yang diperluaskan dari penunjuk teknologi saham awal. Mengemas algoritma ke dalam satu fungsi, pengguna hanya perlu memanggil satu baris fungsi seperti puzzle block block, untuk mencapai logik strategi.
Ia menggunakan model pembinaan "semaja kecil, fungsi besar", yang meningkatkan kecekapan penulisan dengan ketara, strategi lebih daripada 100 perkataan dalam bahasa lain, biasanya 10 perkataan boleh ditulis dalam bahasa Melayu. Ia juga menyokong logik transaksi yang agak rumit.
Untuk membantu anda memahami pengetahuan utama dalam seksyen ini dengan cepat, sebelum kita memperkenalkan pengenalan ringkas mengenai bahasa kuantifikasi inventor, kita perlu mempunyai pemahaman awal mengenai konsep kata dalam seksyen ini. Kita masih menggunakan garis purata 50 hari yang panjang dan garis purata 10 hari yang pendek sebagai contoh asas, mari kita lihat semula kes strategi lengkap yang dibincangkan dalam seksyen sebelumnya:
Pemasaran berbilang: Jika tidak ada kedudukan pada masa ini, dan harga penutupan lebih besar daripada garis purata jangka pendek, dan harga penutupan lebih besar daripada garis purata jangka panjang, dan garis purata jangka pendek lebih besar daripada garis purata jangka panjang, dan garis purata jangka panjang naik;
Perdagangan kosong: Jika tidak ada kedudukan pada masa ini, dan harga penutupan adalah lebih rendah daripada garis purata jangka pendek, dan harga penutupan adalah lebih rendah daripada garis purata jangka panjang, dan garis purata jangka pendek adalah lebih rendah daripada garis purata jangka panjang, dan garis purata jangka panjang menurun.
Pelbagai kedudukan: Jika anda mempunyai banyak pesanan pada masa ini dan harga penutupan adalah lebih rendah daripada garis purata jangka panjang, atau garis purata jangka pendek adalah lebih rendah daripada garis purata jangka panjang, atau garis purata jangka panjang menurun.
Perhentian kosong: Jika anda kini memegang pesanan kosong, dan harga penutupan lebih besar daripada garis purata jangka panjang, atau garis purata jangka pendek lebih besar daripada garis purata jangka panjang, atau garis purata jangka panjang naik.
Jika ditulis dalam kod bahasa Melayu, ia akan kelihatan seperti ini:Gambar 3-3 Contoh Bahasa Melayu yang Lengkap
Untuk menulis strategi dagangan kuantitatif yang lengkap, biasanya memerlukan beberapa langkah: pengambilan data, pengiraan data, pengiraan logik, pembelian pesanan bawah dan lain-lain. Seperti yang ditunjukkan di atas, dalam keseluruhan kod, hanya satu API yang digunakan untuk mendapatkan data asas, iaitu butang CLOSE pada baris pertama dan kedua; kemudian baris pertama hingga ke-9 adalah bahagian pengiraan data; dan akhirnya baris ke-11 hingga ke-14 adalah bahagian pengiraan logik dan pesanan bawah.
Perhatikan bahawa kod ungu adalah pembolehubah; pada baris pertama hingga kesembilan, tanda hijau: = tanda adalah pembolehubah, apabila pengiraan data di sebelah kanan tanda pembolehubah selesai, nilai diberikan kepada pembolehubah di sebelah kiri; kod oren adalah API, contohnya, pada baris pertama, panggilan MA (semacam garis lurus) memerlukan dua parameter, parameter pembolehubah boleh difahami sebagai tetapan, iaitu, jenis MA perlu ditetapkan ketika memanggil MA; tanda merah adalah tanda AND, tanda OR, tanda logik, yang digunakan untuk menghubungkan pelbagai perhitungan logik dan sebagainya. Dengan pengetahuan asas mengenai konsep di atas, di bawah ini kita mula mempelajari asas bahasa Mac yang terperinci.
Data asas (harga buka, harga tertinggi, harga minimum, harga penutupan, jumlah dagangan) adalah bahagian penting dalam perdagangan kuantitatif. Untuk mendapatkan data asas terkini dalam strategi, anda hanya perlu memanggil API alat kuantitatif pencipta. Jika anda ingin mendapatkan data asas sejarah, anda boleh menggunakan tag REF, seperti: REF ((CLOSE, 1) untuk mendapatkan harga penutupan semalam.
Nama pembolehubah adalah nombor yang boleh berubah, nama pembolehubah boleh difahami sebagai kod, dan penamaannya menyokong penamaan dengan format huruf Cina, huruf, nombor, garis garis, tetapi panjangnya perlu dikawal dalam 31 watak. Nama pembolehubah tidak boleh berulang antara satu sama lain, tidak boleh berulang dengan nama parameter, tidak boleh berulang dengan nama fungsi (API), setiap ayat harus berakhir dengan koma.Rajah 3-4 Jenis data bahasa Melayu
Penugasan pembolehubah ialah memberi nilai pada sebelah kanan kepada pembolehubah di sebelah kiri. Terdapat empat jenis penugasan yang boleh mengawal sama ada angka dipaparkan pada carta, serta menentukan lokasi yang dipaparkan. Fonts hijau di bawah adalah penugasan, iaitu:??,??:=??,??^^??,??...??, bahagian nota kod dalam gambar, yang menerangkan maknanya secara terperinci.Rajah 3-5 Variabel Bahasa Melayu
Dalam bahasa Melayu, terdapat pelbagai jenis data, yang paling biasa digunakan ialah jenis bilangan, jenis senar, jenis bul; jenis bilangan adalah nombor, termasuk bilangan bulat, bilangan kecil, nombor negatif positif, dan lain-lain, seperti: 1, 2, 3, 1, 1234, 2, 23456...; jenis senar boleh difahami sebagai huruf, dalam bahasa Cina, nombor Inggeris, semua adalah senar, seperti: pencipta kalium, kalium, kalium CLOSEPRICE, kalium 6000, jenis senar mesti dibungkus dengan digit dalam bahasa Inggeris; jenis bul adalah yang paling mudah, ia hanya mempunyai 2 had nilai adalah kalium dan kalium, seperti: menggunakan 1true untuk menunjukkan kalium atau kalium, 0 untuk menunjukkan kalium atau kalium;
Operator hubungan, seperti namanya, adalah operator yang digunakan untuk membandingkan hubungan antara dua nilai. Operator ini adalah sama dengan, lebih besar daripada, kurang daripada, lebih besar daripada, kurang daripada, sama dengan, tidak sama, seperti di bawah:Rajah 3-6 Operator Bahasa Melayu
Operasi logik yang boleh menghubungkan pernyataan jenis Bull yang berasingan ke dalam satu keseluruhan, yang paling biasa digunakan ialah
Perhatikan:
Tanda-tanda dan tanda-tanda adalah apabila semua syarat adalah Tanda-tanda, dan Tanda-tanda akhir adalah Tanda-tanda;
Operator aritmatika bahasa Melayu yang biasa digunakan (
Jika terdapat ungkapan 100* ((10-1) / ((10+5)), langkah mana yang akan dihitung terlebih dahulu? Matematik sekolah menengah memberitahu kita: Jika operasi adalah tahap yang sama, biasanya pengiraan dilakukan dari kiri ke kanan. Jika terdapat kedua-dua pengurangan dan penggandaan, perkalian terlebih dahulu. Jika terdapat tanda kurung, pendahuluan di dalam tanda kurung. Jika sesuai dengan undang-undang operasi, pengurangan boleh dilakukan menggunakan undang-undang operasi. Keutamaan bahasa Mac juga berlaku, seperti gambar berikut:Rajah 3-9 Keutamaan operasi aritmatika bahasa Melayu
Dalam bahasa Mac, alat pengukuran pencipta, strategi program dijalankan dalam dua mod, iaitu: mod harga penutupan dan mod harga masa nyata. Mod harga penutupan merujuk kepada isyarat K semasa yang ditubuhkan, dan dengan segera melaksanakan urus niaga pada permulaan K bawah. Mod harga masa nyata merujuk kepada isyarat K semasa yang ditubuhkan, dan dengan segera melaksanakan urus niaga.
Jika ia adalah dasar harian, apabila kedudukan akhir perlu dipadamkan, maka perlu menggunakan fungsi masa pendaratan TIME. Fungsi ini di atas kitaran saat, di bawah kitaran hari, ditunjukkan dalam bentuk empat digit, iaitu: HMMMM ((1450
Rajah 3-11 Klasifikasi model bahasa Melayu
Terdapat dua jenis model dalam bahasa Melayu, iaitu: model tanpa penapis dan model penapis. Ini sebenarnya dapat difahami dengan baik: model tanpa penapis membenarkan isyarat bukaan atau isyarat perhentian secara berturut-turut, yang dapat mencapai fungsi menaikkan dan menurunkan. Model penapis tidak membenarkan isyarat bukaan atau perhentian secara berturut-turut, iaitu, apabila isyarat bukaan muncul, isyarat bukaan berikutnya akan disaring sehingga isyarat perhentian muncul, urutan isyarat model tanpa penapis adalah: terbuka - terbuka - terbuka - terbuka - terbuka...
Ini adalah perkenalan ringkas kepada bahasa Melayu, dan selepas belajar, anda boleh memprogramkan strategi transaksi kuantitatif. Jika anda perlu menulis strategi yang lebih rumit, anda boleh merujuk kepada alat inventor untuk menulis kuantitatif Bahasa Melayu API dokumentasi, atau terus rujuk perkhidmatan pelanggan rasmi untuk menulis strategi transaksi kuantitatif.
Dagangan dalam hari juga merupakan satu model perdagangan, yang tidak menyimpan saham semalaman, jadi berisiko rendah terhadap turun naik pasaran, apabila terdapat pasaran yang tidak menguntungkan, anda boleh menyesuaikan diri dengan tepat pada masanya. Setelah mempelajari perkenalan bahasa Melayu dalam seksyen ini, kita akan menulis strategi dagangan kuantitatif dalam hari yang boleh dilaksanakan.
1. Cuba menulis API untuk mendapatkan data asas dalam Bahasa Melayu dengan alat kuantiti pencipta. 2, bagaimana nilai-nilai pembolehubah boleh ditunjukkan dalam grafik?
Dalam artikel sebelum ini, kami telah menerangkan kepada anda tentang syarat-syarat untuk melaksanakan strategi dagangan dari segi pengenalan bahasa Melayu, tatabahasa asas, cara pelaksanaan model, klasifikasi model, dan lain-lain. Dalam artikel ini, kami akan meneruskan perkara sebelumnya, dari modul strategi yang biasa digunakan, penunjuk teknikal, langkah demi langkah untuk membantu anda mewujudkan strategi dagangan kuantitatif yang boleh dilaksanakan setiap hari.
Fikirkan bagaimana anda boleh mengikat robot dengan kepingan LEGO? Anda tidak akan pernah dapat mengikatnya dari atas ke bawah atau dari bawah ke atas, satu keping. Orang yang agak biasa tahu bahawa kepala, lengan, kaki, sayap, dan lain-lain harus diikat, dan kemudian digabungkan menjadi robot yang lengkap. Penulis program juga sama, menulis semua fungsi yang diperlukan ke dalam modul strategi, dan kemudian menggabungkan modul strategi masing-masing, untuk menggabungkan strategi perdagangan kuantitatif yang lengkap. Di bawah ini saya menyenaraikan beberapa modul strategi yang biasa digunakan:
Peningkatan fasa adalah peratusan perbezaan harga penutupan pada garis K dengan harga penutupan N kitaran sebelumnya. Sebagai contoh, untuk mengira berapa banyak kenaikan pada 10 peringkat K terakhir, anda boleh menulis dengan kod:Rajah 3-12 Peningkatan peringkat bahasa Melayu
Tingkat inovasi semula adalah untuk mengira sama ada baris akar K lebih besar daripada N kitaran. Sebagai contoh: untuk mengira sama ada baris akar K lebih besar daripada harga tertinggi dalam 10 baris K terakhir, kod boleh ditulis sebagai berikut:Rajah 3-13 Bahasa Melayu lagi berinovasi tinggi
Peningkatan kuantiti boleh difahami sebagai kenaikan harga dan peningkatan jumlah dagangan. Contohnya: jika harga penutupan pada garis akar K adalah 1.5 kali ganda daripada harga penutupan pada garis K 10 sebelumnya, iaitu kenaikan 50% dalam 10 hari; jumlah dagangan melebihi 5 kali purata 10 garis K terakhir.Rajah 3-14 Bahasa Melayu
Penyusunan yang sempit bermaksud bahawa harga kekal dalam margin tertentu untuk tempoh yang dekat. Contohnya: jika perbezaan antara harga tertinggi dalam 10 kitaran dengan harga terendah dalam 10 kitaran, selain daripada harga penutupan pada garis akar K, kurang daripada sekitar 0.05; kod boleh ditulis:Gambar 3-15 Bahasa Melayu
Perisian multihead berpusat di bawah garis 5
Untuk mendapatkan titik tinggi sebelum ini, dan di mana titik tinggi ini terletak, anda boleh mendapatkannya secara langsung melalui API alat pengukuran pencipta.Rajah 3-17 Kemuncak awal Bahasa Melayu
Jump gap adalah keadaan apabila harga terendah tertinggi dari dua garis K muncul tanpa bersentuhan, terdiri daripada dua garis K, dan Jump gap adalah harga rujukan untuk titik sokongan dan tekanan di masa akan datang. Apabila Jump Gap muncul, anda boleh menganggap bahawa percepatan trend di sepanjang arah Jump yang asalnya telah bermula. Dengan kod, anda boleh menulis:Rajah 3-18 Bahasa Melayu
Rajah 3-19 Grafik purata bergerak
Dari segi statistik, garis purata adalah purata aritmatika harga harian, ia adalah lintasan harga yang mempunyai trend. Sistem purata adalah alat teknikal yang biasa digunakan oleh kebanyakan penganalisis, dari segi teknikal adalah faktor yang mempengaruhi faktor harga psikologi penganalisis teknikal, faktor keputusan pembelian dan penjualan pemikiran, merupakan alat rujukan yang baik untuk penganalisis teknikal, pencipta alat pengukuran menyokong pelbagai jenis purata, seperti gambar berikut:Rajah 3-20 Menghitung pelbagai penunjuk bahasa Melayu
Rajah 3-21 BOLL
BOLL juga dikenali sebagai petunjuk tali pinggang Boll, dan menggunakan prinsip statistik, yang pertama mengira tengah-tengah mengikut purata bergerak N hari, dan kemudian mengira atas dan bawah mengikut perbezaan standard. Apabila saluran BOLL menjadi lebar, ia menunjukkan harga secara beransur-ansur kembali ke purata. Apabila saluran BOLL menjadi lebar, ia bermakna pasaran mula berubah, jika harga naik, ini menunjukkan peningkatan daya beli, jika harga turun, ini menunjukkan peningkatan daya jual.
Antara semua petunjuk teknikal, kaedah pengiraan BOLL adalah salah satu yang paling rumit, yang memperkenalkan konsep perbezaan standard dalam statistik, yang melibatkan pengiraan garis tengah (MB), garis atas (UP) dan garis bawah (DN). Kaedah pengiraan adalah sebagai berikut:Rajah 3-22 Bahasa Melayu Pengiraan tali pinggang
Rajah 3-23 Indikator MACD
MACD menggunakan garis purata bergerak cepat (pendek) dan perlahan (panjang) dan tanda penggabungan dan pemisahan mereka untuk melakukan operasi yang lancar ganda. MACD, yang dibangunkan berdasarkan prinsip purata bergerak, menghilangkan kekurangan purata bergerak yang sering mengeluarkan isyarat palsu, dan kedua mengekalkan kesan purata bergerak. Oleh itu, indikator MACD mempunyai ciri-ciri seperti trend, kestabilan, kestabilan, dan sebagainya.
Rajah 3-24 Indikator MACD Bahasa Melayu
Ini adalah modul strategi yang paling biasa digunakan dalam membangunkan strategi dagangan kuantitatif, tentu saja jauh lebih daripada itu, melalui contoh modul di atas, anda juga boleh melaksanakan beberapa modul dagangan yang paling biasa anda gunakan dalam perdagangan subjektif, dan kaedahnya adalah umum. Seterusnya, kita mula menulis strategi dagangan kuantitatif harian yang boleh dilaksanakan.
Dalam pasaran dagangan dagangan langsung, strategi perdagangan penembusan yang pernah tersebar luas ialah strategi HANS123, yang menggunakan penembusan tinggi dan rendah garis N root K selepas pembukaan yang ringkas sebagai kriteria penilaian yang mencetuskan isyarat dagangan. Ini juga merupakan satu gaya dagangan awal.
"Sudah 30 minit selepas permainan dimulakan, bersiap sedia untuk masuk. Peringkat atas = paras tertinggi 30 minit selepas permulaan; Tren bawah = titik terendah 30 minit selepas permulaan; Apabila harga melangkaui lintasan, beli dan buka. Apabila harga turun, jual dan buka kedudukan. Strategi dagangan dalam hari, perpecahan sebelum tutup;
Gambar 3-25 Kod strategi bahasa Melayu
Di atas, kita mempelajari konsep modul strategi, dan melalui beberapa contoh modul strategi yang biasa digunakan, mengetahui kaedah pengaturcaraan alat kuantiti pencipta, dapat dikatakan belajar menulis modul strategi dengan baik, meningkatkan pemikiran logik pengaturcaraan, adalah langkah penting dalam perdagangan kuantiti progresif. Akhirnya, kita menggunakan alat kuantiti pencipta, strategi dagangan yang biasa digunakan dalam dagangan forex segera.
Mungkin ada rakan-rakan yang akan keliru, kod yang rumit tidak dapat difahami. Jangan tergesa-gesa, semua ini telah kami fikirkan untuk anda, di dalam alat kuantiti pencipta, terdapat bahasa pengaturcaraan yang lebih sesuai untuk pengguna kecil dan putih, ia adalah pengaturcaraan visual, seperti namanya, apa yang dilihat, tunggu bersama-sama!
1. Cuba untuk melaksanakan beberapa modul dagangan yang paling biasa anda gunakan dalam dagangan subjektif. 2. Cuba untuk melaksanakan algoritma penunjuk KDJ menggunakan bahasa Mac dalam alat pengukuran pencipta.
Banyak pedagang subjektif yang berminat untuk berdagang kuantitatif, mula-mula penuh keyakinan, tetapi setelah mempelajari tatabahasa asas bahasa pengaturcaraan tradisional, pengolahan data, struktur data, kawalan logik dan lain-lain, melihat bahawa kod yang panjang dan rumit, sering kali gagal, atau terhenti, maka bahasa pengaturcaraan visual mungkin lebih sesuai untuk membawa anda masuk.
Untuk membantu anda memahami pengetahuan utama dalam seksyen ini dengan cepat, sebelum memperkenalkan pengenalan ringkas kepada bahasa pengaturcaraan visualisasi kuantitatif pencipta, lihat apa strategi yang ditulis dalam bahasa visualisasi? dan mempunyai pemahaman awal mengenai konsep kata dalam seksyen ini. Kami menggunakan contoh biasa dengan harga penutupan paling mudah lebih daripada 50 garis purata, sebaliknya dengan harga penutupan kurang daripada 50 garis purata:
Pemasaran berbilang: Jika tidak ada kedudukan pada masa ini, dan harga penutupan lebih besar daripada garis purata 50 kitaran.Perdagangan kosong: Jika tiada kedudukan pada masa ini, dan harga penutupan kurang daripada garis purata 50 kitaran.Pelbagai kedudukan: Jika anda memegang banyak pesanan pada masa ini, dan harga penutupan kurang daripada garis purata 50 kitaran.Perhentian kosong: Jika anda memegang order kosong pada masa ini, dan harga penutupan lebih besar daripada garis purata 50 kitaran.
Jika strategi di atas ditulis dalam bahasa visual, ia akan kelihatan seperti ini:Rajah 3-26 Antara muka bahasa visual
Seperti yang ditunjukkan di atas, keseluruhan proses reka bentuk strategi adalah: menetapkan jenis pasaran, mendapatkan matriks K, mendapatkan purata 50 kitaran pada garis K, mendapatkan harga penutupan pada garis K, mendapatkan matriks pegangan, menilai status pegangan, menentukan sama ada harga penutupan lebih besar atau lebih kecil daripada garis purata, menjalankan perdagangan atau kedudukan yang rata.
Perhatikan konsep array array, yang merupakan salah satu struktur data yang penting bagi setiap bahasa pengaturcaraan. Array adalah seperti bekas yang boleh menyimpan pelbagai nilai. Sebagai contoh: memanggil API untuk mendapatkan array K-string, ia akan mengembalikan hasil seperti ini:Rajah 3-27 Array Garis K
Kod dalam gambar di atas adalah satu susunan baris K yang mengandungi 3 data, iaitu data atas akar baris K, data atas akar baris K, dan data pada akar baris K. Jika kita memberi nilai kepada satu pembolehubah, jika kita ingin mendapatkan data terakhir dari susunan ini, data pada akar baris K boleh ditulis seperti ini (garis 4 atau 5 dalam gambar di bawah):Rujukan kepada Array Rajah 3-28
Kita akan menggunakan cara kedua (garis ke-5), kerana terdapat beratus-ratus baris data K dalam realiti, dan baris K baru terus bertambah. Jadi anda boleh mendapatkan panjang array terlebih dahulu, arr.length = mendapatkan panjang array, kemudian dikurangkan dari arr1 = data baris K terbaru. Jika anda ingin mendapatkan data pada akar K baris, anda dikurangkan dari arr2 = data baris K terbaru.
Jika anda berhati-hati, anda mungkin akan mendapati bahawa data ini disertakan dengan mata, dan jika anda melihat nama dalam bahasa Inggeris, anda mungkin tahu yang sesuai: masa, harga pembukaan, harga tertinggi, harga minimum, harga penutupan, jumlah dagangan. Jika anda ingin mendapatkan harga penutupan garis K atas, tambahkan mata.Rujukan kepada Array Rajah 3-29
Dengan konsep di atas, mari kita mulakan dengan menulis program dalam bahasa Java untuk mengeluarkan hello, world, untuk merasakan pengaturcaraan tradisional, seperti gambar di bawah:Rajah 3-30
Hanya dengan mengeluarkan satu senar hello world! program, ia akan menulis 5 baris kod. Saya percaya kebanyakan pemula, hanya mengenali kata-kata bahasa Inggeris dalam tanda kurung hello, world
Pemrograman visual telah lama wujud dan bukan sesuatu yang baru. Idea pengaturcaraan yang dilihat dan dijumpai ini mempunyai pelbagai modul kawalan, yang hanya dengan cara seret, boleh membina logik kod, menyelesaikan reka bentuk strategi dagangan, dan prosesnya seperti blok.Rajah 33-31
Seperti yang ditunjukkan di atas, prosedur yang sama, hanya memerlukan satu baris kod dalam pengaturcaraan visual blokly. Ini sangat mengurangkan ambang pengaturcaraan, terutama bagi peniaga yang tidak memahami pengaturcaraan sama sekali, yang merupakan pengalaman operasi yang sangat baik.
blockly bukan mainan pengaturcaraan, ia adalah penyunting sebenar, dan bukan sistem operasi yang menyamar sebagai penyunting, yang menyokong banyak elemen asas pengaturcaraan, seperti: pembolehubah, fungsi, array, dan blok tersuai yang mudah diperluas, yang boleh anda gunakan untuk menyelesaikan tugas pengaturcaraan yang kompleks.
Pengaturcaraan visualisasi kuantitatif oleh pencipta, yang juga dilakukan dengan alat visualisasi blockly yang dikeluarkan oleh Google. Sama seperti Scratch yang dilancarkan di Universiti Massachusetts pada reka bentuk, benar-benar zero-threshold (seperti yang ditunjukkan di bawah).Rajah 3-32
Dalam antara muka pemrograman visual yang diukur oleh pencipta, beratus-ratus modul dagangan biasa dibina, dan lebih banyak modul dagangan akan ditambahkan untuk menyokong idea-idea baru dan aplikasi baru pedagang, yang akan dibangunkan dan dikekalkan bersama oleh pemaju.
Walaupun sintaksnya mudah, ia tidak kehilangan prestasi. Ia hampir memenuhi kebanyakan pembangunan strategi dagangan kuantitatif yang mudah. Ia tidak kalah dengan bahasa pengaturcaraan biasa seperti Python, JavaScript, dan lain-lain dalam fungsi, kelajuan, dan masa depan akan menyokong aplikasi kewangan yang kompleks secara logik.
Rajah 33-33
Rajah 33-34
Rajah 3-35
Di atas, kita mulakan dengan strategi visualisasi yang lengkap, kepada pengenalan dan ciri-ciri bahasa visualisasi, dan akhirnya bagaimana menggunakan bahasa visualisasi pada alat kuantitatif pencipta, dan contoh menulis hello world. Walau bagaimanapun, perlu diingatkan bahawa sebagai permulaan perdagangan kuantitatif, pemrograman visualisasi adalah pintu masuk yang baik, tetapi pada masa ini pada alat kuantitatif pencipta, hanya API yang terhad yang terbuka, untuk transaksi kuantitatif, lebih baik menggunakannya sebagai alat tambahan untuk membantu anda menyelesaikan logika strategi.
Pemrograman visual tidak jauh berbeza dengan asas bahasa pemrograman lanjutan, bahkan di beberapa tempat adalah umum, belajar pemrograman visual juga mengambil langkah lebih jauh daripada belajar pemrograman lanjutan. Pada bahagian berikut, kita akan mempelajari kemajuan pemrograman visual secara mendalam, termasuk bagaimana untuk menulis modul perdagangan kuantitatif yang biasa digunakan dalam bahasa visual pada alat kuantitatif pencipta, dan bagaimana untuk membangunkan strategi dagangan dalam sehari yang lengkap.
1. Mengukur antara muka pemrograman visual pencipta, menggunakan API dan memahami maksud mereka. 2. Menggunakan bahasa visual untuk mendapatkan harga permulaan terkini dan mengeluarkannya ke log.
Dalam artikel sebelumnya, kami telah mempelajari perbandingan dan ciri-ciri bahasa pengaturcaraan visual, contoh hello world, dan penulisan strategi dalam alat dagangan kuantitatif pencipta. Dalam artikel ini, kami teruskan, bermula dengan modul strategi dan penunjuk teknikal yang biasa digunakan, dan kemudian ke logik strategi, langkah demi langkah untuk membantu anda mewujudkan strategi dagangan dalam sehari yang lengkap.
Peningkatan fasa adalah peratusan perbezaan harga penutupan pada garis K dengan harga penutupan N kitaran sebelumnya. Sebagai contoh, untuk mengira berapa banyak kenaikan pada 10 peringkat K terakhir, anda boleh menulis dengan kod:Rajah 3-36
Kod di atas dapat dilihat bahawa cara pelaksanaan komputer memerlukan satu putaran logik yang lengkap, seperti untuk mengira kenaikan tahap 10 baris K terakhir, perlu dipecah menjadi beberapa langkah berikut:
Pertama, komputer perlu mengetahui dengan jelas jenis yang akan anda dagangkan, contohnya methanol, kemudian atur kod kontrak: MA888
Dengan data K-line, anda boleh mendapatkan data terperinci untuk mana-mana K-line dari data K-line ini. Untuk mencatatkan kenaikan pada peringkat statistik, anda perlu mendapatkan dua harga penutupan garis K, contohnya: harga penutupan garis K atas dan harga penutupan garis K 11 sebelumnya.
Akhirnya, berdasarkan harga penutupan dua garis K, perkiraan kadar kenaikan fasa dibuat. Setiap strategi berikut mempunyai ciri-ciri yang ditetapkan oleh loop logik dan sifat syarat, memahami logik ini, pemograman visual juga menjadi lebih mudah.
Peningkatan kuantiti boleh difahami sebagai kenaikan harga dan peningkatan jumlah dagangan. Contohnya: jika harga penutupan pada garis akar K adalah 1.5 kali ganda daripada harga penutupan pada garis K 10 sebelumnya, iaitu kenaikan 50% dalam 10 hari; jumlah dagangan melebihi 5 kali purata 10 garis K terakhir.Rajah 3-37
Jump gap adalah keadaan apabila harga terendah tertinggi dari dua garis K muncul tanpa bersentuhan, terdiri daripada dua garis K, dan Jump gap adalah harga rujukan untuk titik sokongan dan tekanan di masa akan datang. Apabila Jump Gap muncul, anda boleh menganggap bahawa percepatan trend di sepanjang arah Jump yang asalnya telah bermula. Dengan kod, anda boleh menulis:Rajah 3-38
Dari segi statistik, garis purata adalah purata aritmatika harga harian, ia adalah lintasan harga yang mempunyai trend. Sistem purata adalah alat teknikal yang biasa digunakan oleh kebanyakan penganalisis, dari segi teknikal adalah faktor yang mempengaruhi faktor harga psikologi penganalisis teknikal, faktor keputusan pembelian dan penjualan pemikiran, merupakan alat rujukan yang baik untuk penganalisis teknikal, pencipta alat pengukuran menyokong pelbagai jenis purata, seperti gambar berikut:Rajah 3-39
MACD menggunakan garis purata bergerak cepat (pendek) dan perlahan (panjang) dan tanda penggabungan dan pemisahan mereka untuk melakukan operasi yang lancar ganda. MACD, yang dibangunkan berdasarkan prinsip purata bergerak, menghilangkan kekurangan purata bergerak yang sering mengeluarkan isyarat palsu, dan kedua mengekalkan kesan purata bergerak. Oleh itu, indikator MACD mempunyai ciri-ciri seperti trend, kestabilan, kestabilan, dan sebagainya.Rajah 3-40
Indikator KDJ merangkumi idea momentum, indikator lemah dan purata bergerak yang digunakan untuk mengukur tahap perubahan harga saham daripada julat normal harga. Ia tidak hanya mengambil kira harga penutupan, tetapi juga harga tertinggi dan terendah baru-baru ini, yang mengelakkan kelemahan besarnya turun naik yang sebenar dengan hanya mengambil kira harga penutupan. Kaedah penghitungannya adalah sebagai berikut:Rajah 3-41
Penasihat Warren Buffett, Benjamin Graham pernah menulis dalam bukunya Investor yang Pintar, mengenai model perdagangan yang dinamika dengan saham dan bon yang seimbang.
Model perdagangan ini sangat mudah: Dengan modal 50 peratus, anda boleh melabur dalam dana saham dan 50 peratus lagi dalam dana bon; iaitu saham dan bon masing-masing adalah separuh.
Dengan melakukan rebalancing aset pada waktu tertentu atau perubahan pasaran, nisbah aset saham dan aset bon akan kembali ke tahap awal iaitu 1:1. Itulah keseluruhan logik strategi, termasuk bila membeli dan berapa banyak membeli. Cukup mudah!
Dalam pendekatan ini, kadar turun naik dana bon sebenarnya sangat kecil, jauh di bawah kadar turun naik saham, jadi bon di sini dianggap sebagai 'bond rujukan', iaitu menggunakan bon untuk mengukur sama ada saham terlalu banyak atau terlalu sedikit.
Jika harga saham meningkat, maka nilai pasaran saham akan lebih besar daripada nilai pasaran bon, apabila nisbah nilai pasaran kedua-duanya melebihi ambang yang ditetapkan, kedudukan keseluruhan disesuaikan semula, menjual saham, dan membeli bon, sehingga nisbah nilai pasaran saham dan bon kembali ke 1:1 yang awal.
Sebaliknya, harga saham jatuh, menjadikan nilai pasaran saham kurang daripada nilai pasaran bon, dan apabila nisbah nilai pasaran kedua-duanya melebihi ambang yang ditetapkan, kedudukan keseluruhan disesuaikan semula, membeli saham, dan menjual bon, menjadikan nisbah nilai pasaran saham dan bon kembali ke tahap awal 1:1.
Dengan cara ini, perbandingan antara saham dan bon yang seimbang secara dinamik cukup untuk menikmati buah-buahan pertumbuhan saham dan mengurangkan turun naik aset. Sebagai pelopor pelaburan nilai, Graham memberi kita idea yang baik.
Dengan nilai BTC semasa, baki akaun menyimpan ¥ 5000 tunai dan 0.1 BTC, iaitu nisbah awal nilai tunai dan pasaran BTC adalah 1:1.
Jika harga BTC meningkat kepada ¥6000, iaitu nilai pasaran BTC lebih besar daripada baki akaun, dan selisih antara kedua-duanya melebihi ambang tertakluk, jual (<6000-5000) /6000/2 sen. Ini menunjukkan BTC meningkat dan menukar wang kembali.
Jika harga BTC jatuh kepada ¥ 4000, iaitu nilai pasaran BTC kurang daripada baki akaun, dan perbezaan antara mereka melebihi ambang yang ditetapkan, beli ¥ 5000-4000 / 4000 / 2 koin.
Dengan cara ini, sama ada BTC meningkat atau menurun, baki akaun sentiasa dinamik dijaga sama dengan nilai pasaran BTC. Jika BTC menurun, beli beberapa, tunggu untuk kembali, dan jual beberapa lagi, seolah-olah tidak ada apa-apa.
Syarat pembelian: Jika nilai pasaran simpanan semasa dikurangkan daripada baki sedia ada semasa kurang daripada -5% baki sedia ada semasa, buka dan beli.Syarat Jualan: Jika nilai pasaran simpanan semasa dikurangkan daripada baki sedia ada yang lebih besar daripada baki sedia ada sebanyak 5%, penjualan rata-rata.
Kami mengira empat prasyarat penting untuk strategi dagangan dan memberikan nilai kepada pembolehubah masing-masing. Untuk memvisualisasikan pengaturcaraan, blok kod adalah seperti ini.Rajah 3-42
Perlu diingat bahawa nilai pasaran mata wang adalah nilai pasaran keseluruhan jumlah mata wang yang dimiliki pada masa ini, yang dikira dengan jumlah mata wang yang dimiliki pada masa ini dikalikan dengan harga terkini pada masa ini. Pengecualian aset ialah nilai pasaran mata wang dikurangkan daripada baki yang tersedia pada masa ini.
Setelah penentuan syarat-syarat diperlukan selesai, anda perlu menulis logik urus niaga. Ini juga tidak begitu rumit seperti yang dibayangkan. Hanya perlu menunjukkan logik strategi di atas dalam bentuk blok kod.
Iaitu, jika aset kurang daripada 5% daripada baki boleh digunakan negatif, ia akan dibeli, dan jika aset lebih daripada 5% daripada baki boleh digunakan, ia akan dijual; seperti di bawah:Rajah 3-43
Keseluruhan strategi seolah-olah telah ditulis, tetapi perlu diketahui bahawa program ini dijalankan dari atas ke bawah dan berhenti selepas pelaksanaan. Tetapi strategi dagangan kami bukan menjalankan syarat dagangan sekali, tetapi pelaksanaan berulang berulang.
Dengan kata lain, program ini perlu terus memeriksa sama ada syarat-syarat dasar telah dipenuhi, jika tidak, terus memeriksanya; pada masa ini, anda perlu menggunakan kata pusingan lain, seperti di bawah:Rajah 3-44
Strategi visual tidak berbeza dengan strategi yang ditulis dalam bahasa pengaturcaraan lain, ia juga menyokong pelbagai kitaran, melakukan ujian data sejarah yang tepat, dan tentu saja menyokong perdagangan komoditi masa depan dan mata wang digital di dalam dan luar negara. Berikut adalah maklumat ujian semula strategi:Rajah 3-45
Pada masa ini, satu strategi perdagangan yang lengkap belumpun disiapkan. Untuk menjaga pihak yang berkepentingan, strategi ini telah dikongsi di Strategy Square dan boleh disalin secara langsung.
Undang-undang 10,000 jam sentiasa ada, tetapi tidak mungkin untuk mengambil 10,000 jam untuk pedagang yang berasaskan sifar. Jadi anda mesti mempunyai tangga, dan untuk pedagang yang berasaskan sifar, pengaturcaraan visual yang diukur oleh pencipta adalah tangga untuk kemasukan cepat.
Dengan pemrograman visual, anda tidak perlu mengingati nama-nama tatabahasa dan kaedah, anda hanya perlu melayari modul fungsi untuk mencari apa yang anda mahukan. Ini juga merupakan tujuan awal pencipta kuantiti untuk membantu lebih banyak pemula kuantiti menurunkan ambang kemasukan, meningkatkan minat kuantiti, dan semua orang boleh menjadi peniaga kuantiti!
Walau bagaimanapun, dengan kata lain, pemrograman visual sebagai pintu masuk kuantitatif tidak ada masalah, tetapi ia juga mempunyai batasan sendiri, seperti tidak boleh membangunkan strategi perdagangan yang terlalu kompleks dan terlalu terperinci.
Dari segi kepakaran perdagangan kuantitatif, bahasa Mac dan bahasa visual adalah bahasa peralihan ke dunia perdagangan kuantitatif. Ciri bahasa mereka juga menentukan batasan dalam membangunkan strategi perdagangan kuantitatif, dan beberapa strategi yang rumit tidak mungkin dilaksanakan. Oleh itu, dalam seksyen seterusnya, kami akan membawa anda belajar JavaScript, yang merupakan bahasa pengaturcaraan yang tinggi dan merupakan jalan penting untuk anda maju ke perdagangan kuantitatif yang tinggi.
1. Cuba untuk mewujudkan penunjuk tali pinggang dengan bahasa visual. 2. Cuba laksanakan satu strategi dagangan dengan modul dagangan di bahagian ini.
Sebagai seorang pemula perdagangan kuantitatif masa depan, anda tidak boleh belajar bahasa yang mudah sahaja. Bahasa Mac dan bahasa visualisasi yang dicipta oleh pencipta alat kuantitatif, walaupun dapat membawa anda masuk, tetapi terdapat banyak batasan dalam pembangunan strategi kerana sifat bahasa mereka. Oleh itu, untuk mendapatkan tempat dalam perdagangan kuantitatif, anda mesti belajar bahasa pengaturcaraan rasmi.
Bahasa JavaScript mempunyai prestasi dan kecekapan pelaksanaan yang lebih kuat berbanding bahasa visual. Dan dalam bidang pembangunan dasar, bahasa JavaScript lebih fleksibel daripada bahasa visual. Sebagai contoh, jika anda ingin membangunkan satu strategi set, maka bahasa visual tidak dapat digunakan, kerana ia mempunyai modul yang terhad, tidak menyokong strategi set yang serupa, sedangkan bahasa JavaScript dapat dengan mudah menang.
Selain itu, bahasa JavaScript lebih ringkas dan elegan daripada bahasa visual, contohnya: bahasa visual mempunyai 10 baris kod, mungkin 5 baris yang boleh ditulis dengan JavaScript. Dalam beberapa hal, bahasa visual hanyalah versi teks JavaScript, dengan kod yang dijalankan dan logiknya hampir sama dengan JavaScript. Jika anda mempelajari bahasa visual, maka belajar JavaScript akan menjadi sangat mudah.
JavaScript adalah bahasa pengaturcaraan peringkat tinggi yang rasmi. Ia baik sebagai bahasa pengenalan untuk belajar pengaturcaraan dan juga sebagai bahasa kerja pembangunan sehari-hari. Ia adalah salah satu bahasa komputer yang paling menjanjikan dan paling cerah dan kini mempunyai dominasi yang tidak dapat diguncang di sisi penyemak imbas. Walaupun ia terkenal sebagai pengembangan halaman web, ia juga digunakan dalam banyak persekitaran bukan penyemak imbas, contohnya: pelayan, hujung PC, hujung mudah alih, dan tentu saja ia juga boleh melakukan transaksi kuantitatif!
Untuk membantu anda memahami pengetahuan utama dalam seksyen ini dengan cepat, sebelum kita memperkenalkan pengenalan cepat kepada pencipta bahasa JavaScript kuantitatif, kita perlu mempunyai pemahaman awal mengenai konsep nama dalam seksyen ini.
Pemasaran berbilang: Jika tidak ada kedudukan semasa, dan garis purata 5 kitaran lebih besar daripada garis purata 20 kitaran.Perdagangan kosong: Jika tidak ada kedudukan semasa, dan garis rata 5 kitaran kurang daripada garis rata 20 kitaran.Pelbagai kedudukan: jika anda mempunyai banyak pesanan pada masa ini, dan garis purata 5 kitaran kurang daripada garis purata 20 kitaran.Perhentian kosong: Jika anda memegang pesanan kosong pada masa ini, dan garis purata 5 kitaran lebih besar daripada garis purata 20 kitaran.
Jika ditulis dalam kod bahasa JavaScript, ia akan kelihatan seperti ini:Rajah 4-1
Kod dalam gambar di atas adalah satu strategi dagangan kuantitatif yang lengkap yang ditulis dalam bahasa JavaScript. Ia boleh dijalankan secara langsung dan secara automatik membuat pesanan. Dari segi kuantiti kod, bahasa ini lebih mudah daripada bahasa visual. Proses reka bentuk keseluruhan strategi adalah: menetapkan pelbagai pasaran, mendapatkan data K-line, mendapatkan maklumat simpanan, mengira logik dagangan, membuat pesanan beli dan jual.
Semua (variabel, nama fungsi dan pengendali) dalam JavaScript ditulis dengan huruf besar, iaitu nama pembolehubah test dan nama pembolehubah Test adalah dua pembolehubah yang berbeza. Pengenali (nama pembolehubah, fungsi, sifat, parameter fungsi) mestilah huruf, tanda bawah (_), dolar ($), dan seterusnya boleh menjadi nombor, seperti yang ditunjukkan di bawah:Rajah 4-2
Nota termasuk nota baris tunggal dan nota peringkat blok. Nota baris tunggal bermula dengan dua tanda kurung, nota blok dengan satu tanda kurung dan bintang./) Dimulakan dengan bintang dan tanda kurung/) diakhiri dengan gambar berikut:Rajah 4-3
Setiap ayat mempunyai penghujung tanda petik; walaupun ini tidak perlu, kami mengesyorkan untuk tidak melewatkannya pada bila-bila masa. Menambah tanda petik boleh meningkatkan prestasi kod dalam beberapa kes, seperti yang ditunjukkan di bawah:Rajah 4-4
Variabel boleh menyimpan data dari mana-mana jenis, dengan menggunakan operator var semasa mencipta, dan kemudian dengan nama pembolehubah. Anda juga boleh menetapkan nilai pembolehubah semasa menentukan pembolehubah. Setelah pembolehubah dicipta, anda tidak perlu menggunakan operator var untuk menetapkan nilai pembolehubah lagi, seperti yang ditunjukkan di bawah:Rajah 4-5
JavaScript mempunyai 5 jenis data, iaitu: tidak ditakrifkan (Undefined), objek kosong (Null), nilai Boolean (Boolean), nombor (Number), baris (String), seperti yang ditunjukkan di bawah:Rajah 4-6
Undefined hanya mempunyai satu nilai, iaitu specification undefined, yang mewakili nilai yang belum ditetapkan. Sebagai contoh, kita hanya menentukan satu pembolehubah dan tidak menetapkan nilai untuk pembolehubah itu, maka nilai pembolehubah itu adalah specificationundefined.
Null hanya mempunyai satu nilai, iaitu silinder null khas, yang mewakili nilai yang ditetapkan sebagai kosong. Sebagai contoh, jika kita membuat satu pembolehubah terlebih dahulu dan menetapkan nilai pembolehubah sebagai silinder null, maka nilai yang dikembalikan oleh pembolehubah itu adalah silinder null.
Boolean mempunyai dua nilai, iaitu
Nombor adalah jenis nombor, termasuk: nombor positif, nombor negatif, bilangan bulat, bilangan kecil, dan lain-lain. Selain itu, NaN adalah nombor khas, yang khusus menunjukkan keadaan yang tidak dikembalikan, seperti: 1 dibagi dengan 0, kembali NaN.
String boleh difahami sebagai teks, mengandungi bahasa Cina dan Inggeris, dan boleh diwujudkan dengan tanda kutip tunggal atau ganda. Contohnya:
Objek boleh difahami sebagai bekas yang menyimpan pelbagai jenis data, sifat dan nilai dalam bekas yang sepadan. Objek ini boleh dicipta terlebih dahulu dengan menggunakan operator new. Objek yang dicipta boleh ditambah sifat dan kaedah seperti yang ditunjukkan di bawah:Rajah 4-7.
Array juga merupakan wadah untuk menyimpan pelbagai jenis data, tetapi elemen dalam wadah disusun dari kiri ke kanan, dengan elemen pertama adalah 0, elemen kedua adalah 1, dan sebagainya. Selain itu, Array JavaScript boleh menyimpan sebarang jenis data, seperti yang ditunjukkan di bawah:Rajah 4-8
Fungsi dalam JavaScript tidak berbeza dengan fungsi di sekolah menengah kita, anda boleh memahami apa yang dihantar, apa yang dikeluarkan melalui pengiraan fungsi, seperti yang ditunjukkan di bawah:Rajah 4-9
Javascript mempunyai pelbagai pengendali, iaitu pengendali aritmatika, pengendali perbandingan, pengendali logik. Di mana pengendali aritmatika adalah operasi matematik untuk menambah dan mengurangkan perkalian, pengendali perbandingan boleh membandingkan dua nilai sama ada lebih kecil atau kurang, pengendali logik terutamanya mempunyai: logik dan, logik atau, logik tidak; seperti yang ditunjukkan di bawah:Rajah 4-10
Perlu diperhatikan bahawa:?? & &?? adalah logik dengan, yang bermaksud?? dan??.
Jika terdapat ungkapan 100* ((10-1) / ((10+5)), langkah mana yang akan dihitung terlebih dahulu? Matematik sekolah menengah memberitahu kita: Jika operasi yang sama, biasanya pengiraan dilakukan dari kiri ke kanan. Jika terdapat tambahan atau pengurangan, perkalian dilakukan terlebih dahulu. Jika terdapat pengurangan, perkalian dilakukan terlebih dahulu.Rajah 4-11
Selalunya ketika menulis kod, anda selalu perlu melakukan tindakan yang berbeza untuk membuat keputusan yang berbeza. Anda boleh menggunakan pernyataan syarat dalam kod untuk menyelesaikan tugas ini. Dalam JavaScript, kita boleh menggunakan pernyataan syarat berikut: if statement - hanya menggunakan if statement untuk menjalankan kod apabila syarat yang ditetapkan adalah true if...else statement - Melakukan kod apabila syaratnya adalah true dan menjalankan kod lain apabila syaratnya adalah false if...else if...else statement - Gunakan statement ini untuk memilih salah satu daripada beberapa blok kod untuk dijalankan Perkataan switch - Gunakan perkataan ini untuk memilih salah satu daripada beberapa blok kod untuk dijalankan
Perkataan ini hanya akan dilaksanakan apabila syarat yang ditetapkan adalah benar. Jika anda menggunakan huruf kecil jika anda menggunakan huruf besar jika anda menggunakan huruf besar jika anda menghasilkan kesilapan JavaScript! Seperti yang ditunjukkan di bawah:Gambar 4-12#
Kod akan dijalankan apabila syaratnya adalah benar dan kod lain akan dijalankan apabila syaratnya adalah salah, seperti yang ditunjukkan di bawah:Rajah 4-13
Kadang-kadang kita perlu mendapatkan data K-line dalam beberapa hari terakhir, kita perlu mendapatkan data K-line dari array K-line, berdasarkan lokasi data K-line, maka menggunakan putaran for sangat mudah, seperti yang ditunjukkan di bawah:Rajah 4-14
Kita semua tahu pasaran sentiasa berubah, jika anda ingin mendapatkan array K-line terbaru, anda perlu terus menjalankan kod yang sama berulang kali, maka gunakan loop whilex, yang akan terus mendapatkan array K-line terkini selama syaratnya benar.Rajah 4-15
Loop adalah bersyarat, hanya apabila prasyarat ini adalah true, loop akan mula melakukan sesuatu secara berulang sehingga prasyarat ini adalah false, loop akan berakhir. Tetapi pernyataan break boleh melompat dari loop dengan serta-merta dalam proses pelaksanaan loop; pernyataan continue boleh menghentikan satu loop dan meneruskan pada loop seterusnya; seperti yang ditunjukkan di bawah:Rajah 4-16
return statement akan menghentikan pelaksanaan fungsi dan mengembalikan nilai fungsi. return statement hanya boleh muncul di dalam badan fungsi, dan muncul di mana-mana lagi dalam kod akan menyebabkan kesalahan tatabahasa!Rajah 4-17
Dalam alat kuantitatif pencipta, jika anda ingin menulis dasar dengan bahasa JavaScript, ia akan menjadi sangat mudah, dengan rangka kerja dasar standard yang dibina secara rasmi seperti yang ditunjukkan di bawah:Rajah 4-18
Ini adalah kerangka kerja dasar standard, seperti dalam gambar di atas, selain dapat mengubah kerangka kod jenis barangan hadapan, yang lain adalah format tetap. Manfaat terbesar untuk menulis strategi menggunakan kerangka kerja adalah bahawa anda hanya perlu menulis strategi logik dan selesai, dan pelbagai masalah lain seperti pengambilan, pemprosesan tunggal, dan lain-lain, akan diuruskan oleh kerangka kerja.
Ini adalah perkenalan ringkas kepada bahasa JavaScript. Setelah belajar, anda boleh memprogram strategi perdagangan kuantitatif. Jika anda perlu menulis strategi yang lebih rumit, anda boleh merujuk kepada dokumen API bahasa JavaScript.
Dagangan dalam hari juga merupakan satu model dagangan, yang tidak menyimpan saham semalaman, jadi berisiko rendah terhadap turun naik pasaran, dan boleh disesuaikan dengan tepat pada masanya sekiranya ada pasaran yang tidak menguntungkan. Setelah mempelajari perkenalan bahasa JavaScript dalam seksyen ini, kita akan membantu anda menulis strategi dagangan kuantitatif dalam hari yang boleh dilaksanakan.
1. Cuba mendapatkan data K-line sejarah menggunakan bahasa JavaScript dalam alat kuantitatif pencipta. 2. Cuba tulis kod strategi di awal bahagian ini dan tulis nota.
Dalam artikel sebelum ini, kami telah menerangkan kepada anda tentang dasar-dasar untuk mewujudkan strategi dagangan dari segi pengenalan bahasa JavaScript, tatabahasa asas, kerangka strategi CTA, dan lain-lain. Dalam artikel ini, kami akan meneruskan apa yang telah dijelaskan di atas, dari modul strategi yang biasa digunakan, penunjuk teknikal, dan langkah demi langkah untuk membantu anda mewujudkan strategi dagangan kuantitatif yang boleh dilaksanakan setiap hari.
Talian Bollinger juga dikenali sebagai saluran Bollinger, atau disingkat BOLL. Ia adalah salah satu penunjuk teknikal yang paling biasa digunakan, yang dicipta oleh John Bollinger pada tahun 1980-an. Secara teori, harga sentiasa berfluktuasi ke atas dan ke bawah di sekitar nilai dalam julat tertentu, dan talian Bollinger adalah berdasarkan teori ini, yang juga memperkenalkan konsep selokan saluran Bollinger.
Pengiraan ini dilakukan dengan menggunakan prinsip statistik, yang pertama mengira selisih piawai harga aluminium untuk satu tempoh masa, dan kemudian menggunakan garis rata ditambah/dikurangkan dua kali selisih piawai untuk selisih harga yang dihasilkan. Format asasnya adalah saluran bergelombang yang terdiri daripada tiga jalur.
Oleh kerana konsep deviasi standard digunakan, lebar saluran BOLL akan disesuaikan secara dinamik mengikut pergerakan harga terkini. Apabila turun naik kecil, saluran BOLL akan menjadi lebih sempit; apabila turun naik besar, saluran BOLL akan menjadi lebih lebar. Apabila saluran BOLL menjadi lebih sempit daripada lebar, ia menunjukkan harga secara beransur-ansur kembali ke paras rata. Apabila saluran BOLL menjadi lebih sempit daripada lebar, ia bermakna pasaran mula berubah, jika harga naik, ia menunjukkan peningkatan daya beli, jika harga turun, ia menunjukkan peningkatan daya jual.
Di antara semua petunjuk teknikal, kaedah pengiraan tali pinggang adalah salah satu yang paling rumit, yang memperkenalkan konsep perbezaan standard dalam statistik, yang melibatkan pengiraan garis tengah (MB), garis atas (UP) dan garis bawah (DN). Kaedah penghitungannya adalah sebagai berikut:
Kereta api tengah= purata bergerak mudah untuk N tempoh masaTerbang= jurang tengah + selisih standard untuk tempoh masa K × NKereta api= Jarak tengah − Jarak standard K × NRajah 4-19
Terdapat banyak cara untuk menggunakan garis Brin, boleh digunakan secara berasingan atau boleh digunakan bersama-sama dengan indikator lain. Dalam tutorial ini, kita akan menggunakan satu kaedah penggunaan garis Brin yang paling mudah. iaitu: apabila harga melintasi lintasan dari bawah ke atas, iaitu melintasi garis tekanan di atas, kita menganggap bahawa kekuatan pelbagai pihak semakin kuat, gelombang bullish telah terbentuk, dan isyarat beli terbuka dihasilkan;
Hailhydra2Artikel yang bagus!
Kuantitatiftanda