Sumber dimuat naik... memuat...

2.3 Penjelasan API biasa

Penulis:Kebaikan, Dicipta: 2019-04-16 15:39:35, Dikemas kini: 2019-04-17 10:55:33

Ringkasan

Apabila ia datang kepada pengaturcaraan, ia mesti tidak dapat dipisahkan dari API. Bagi ramai orang bukan pengaturcaraan, apa itu API? Dalam bahagian ini kita akan menggunakan bahasa yang paling mudah untuk menerangkan apa itu API, dan memperkenalkan API yang biasa digunakan dalam alat FMZ Quant.

Apa itu API?

Jika anda mencarinya di Google, anda akan mendapat hasil berikut: API (Application Programming Interface) adalah fungsi yang telah ditakrifkan untuk menyediakan aplikasi dan pemaju dengan keupayaan untuk mengakses satu set rutin berdasarkan sekeping perisian atau perkakasan. Tanpa perlu mengakses kod sumber, atau memahami butiran mekanisme kerja dalaman.

Sebenarnya, dalam kehidupan seharian, kita mempunyai banyak senario API yang sama, seperti: anda pergi ke restoran untuk makan, hanya melihat menu untuk memesan, anda tidak perlu tahu bagaimana untuk membuatnya. Nama menu dalam menu adalah API tertentu, dan menu adalah dokumen API.

Apakah API dalam perdagangan kuantitatif?

Sebagai contoh, jika anda perlu mendapatkan harga pembukaan varieti semasa hari ini, anda tidak perlu tahu dengan tepat bagaimana untuk mendapatkannya. anda hanya perlu menulis OPEN dalam editor kod, hanya menggunakannya secara langsung, OPEN adalah API untuk harga pembukaan dalam bahasa M.

API bahasa M biasa

Sebelum kita bercakap mengenai API bahasa M, mari kita lihat struktur kod biasa dan ciri-ciri yang dimiliki. Ini akan membantu anda memahami API dengan lebih baik. Sila lihat contoh berikut:

AA:=OPEN; //Get the opening price of the latest k line and assign the result to the variable AA
BB:=MA(ClOSE,10); //Get the 10-cycle moving average of the latest K line and assign the result to the variable BB

Kod yang ditunjukkan di atas:

  • AA adalah pembolehubah, dan pembolehubah adalah elemen yang boleh diubah, sama seperti aljabar sekolah menengah kita. jika harga pembukaan diberikan kepada AA, maka AA adalah harga pembukaan; jika harga tertinggi diberikan kepada AA, maka AA adalah harga tertinggi. AA hanya nama tersuai, anda juga boleh menentukan ia sebagai BB atau sesuatu yang lain.

  • := adalah makna penugasan, iaitu, nilai di sebelah kanan := diberikan kepada pembolehubah di sebelah kiri.

  • OPEN dan MA adalah API bahasa M. Perhatikan bahawa OPEN dalam baris pertama adalah API untuk mendapatkan harga penutupan. Ia boleh digunakan secara langsung. MA dalam baris kedua adalah API untuk mendapatkan purata bergerak. Ia perlu dilalui oleh 2 parameter, yang bermaksud anda perlu memberitahu alat perdagangan FMZ Quant, jenis purata bergerak yang anda perlukan: Jika anda ingin mendapatkan purata bergerak 50 tempoh yang dikira pada harga pembukaan, anda boleh menulis: MA (OPEN, 50); sila pastikan terdapat koma di antara parameter.

  • // kuning adalah watak komen, dan bahasa Inggeris di belakangnya adalah kandungan komen. Semua ini dilihat oleh pengaturcara untuk menunjukkan apa yang dimaksudkan oleh baris kod. Komen tidak akan diproses sama sekali semasa program mula berjalan. Perhatikan bahawa sebelum watak komen, setiap baris kod mesti mempunyai titik koma sebagai akhir baris.

Dengan kesedaran struktur kod asas, kami akan membawa anda beberapa tatabahasa biasa bahasa M di bawah, dan kami akan menggunakannya pada masa akan datang.

  • OPEN - Dapatkan harga pembukaan K barisan terkini

Contoh: AA: = OPEN; Dapatkan harga pembukaan K barisan terkini dan menetapkan hasilnya kepada AA

  • HIGH - mendapatkan harga tertinggi barisan K terkini

Contoh: AA: = HIGH; Dapatkan harga tertinggi K barisan terkini dan menetapkan hasilnya kepada AA

  • LOW - mendapatkan harga terendah K barisan terkini

Contoh: AA: = LOW; Dapatkan harga terendah K barisan terkini dan menetapkan hasilnya kepada AA

  • CLOSE - Dapatkan harga penutupan garis K terkini. Apabila garis k tidak selesai, dapatkan harga terkini.

Contoh: AA:=CLOSE; Dapatkan harga penutupan K barisan terkini dan menetapkan hasilnya kepada AA

  • VOL - Dapatkan jumlah baris K terkini

Contoh: AA:=VOL; Dapatkan jumlah baris K terkini dan serahkan hasilnya kepada AA

  • REF ((X,N) - merujuk kepada nilai X sebelum kitaran N.

Contoh: REF(CLOSE,1); Dapatkan harga pembukaan garis K yang terpencil

  • MA(X,N) - mencari purata bergerak mudah X dalam kitaran N

Contoh: MA ((CLOSE, 10); // Dapatkan purata bergerak 10-siklus K-garis terkini

  • CROSSUP(A,B)Menunjukkan bahawa apabila A melewati B dari bawah, ia mengembalikan 1 (Ya), jika tidak ia mengembalikan 0 (Tidak)

Contoh: CROSSUP (CLOSE, MA (C, 10)) // harga penutupan naik melintasi harga purata bergerak 10 kitaran

  • CROSSDOWN(A,B)Menunjukkan bahawa apabila A melewati B dari atas, ia mengembalikan 1 (Ya), jika tidak ia mengembalikan 0 (Tidak)

Contoh: CROSSDOWN(CLOSE, MA(C,10)) // harga penutupan ke bawah melintasi harga purata bergerak 10 kitaran

  • BK - membeli kedudukan terbuka panjang

Contoh: CLOSE>MA(CLOSE,5), BK; // Harga penutupan lebih besar daripada purata bergerak 5 kitaran, posisi panjang terbuka

  • SP - jual untuk menutup kedudukan panjang

Contoh: CLOSE

  • SK - jual kedudukan terbuka pendek

Contoh: CLOSE

  • BP - beli untuk menutup kedudukan pendek

Contoh: CLOSE>MA(CLOSE,5), BP; // Harga penutupan lebih besar daripada purata bergerak 5 kitaran, tutup kedudukan pendek

  • BPK - tutup kedudukan pendek dan buka kedudukan panjang (posisi terbuka terbalik)

Contoh: CLOSE>MA(CLOSE,5), BPK; // apabila harga penutupan lebih besar daripada purata bergerak 5 tempoh, tutup kedudukan pendek dan buka kedudukan panjang.

  • SPK - tutup kedudukan panjang dan buka kedudukan pendek (posisi terbuka terbalik)

Contoh: CLOSE

  • CLOSEOUT - menutup semua kedudukan, ia disyorkan untuk digunakan dalam operasi kedudukan penambahan dan pengurangan

Contoh: CLOSEOUT; menutup semua kedudukan yang kini dipegang.

API bahasa JavaScript yang biasa digunakan

Sebelum menerangkan API bahasa JavaScript, mari kita lihat struktur kod biasa dan ciri-cirinya. Ini akan membantu anda memahami API dengan lebih baik. Sila lihat contoh berikut:

var aa = exchange.GetRecords(); // get the K-line data
var bb = exchange.SetContractType("This_week") // set the trading pair to weekly K-line

Kod yang ditunjukkan di atas:

  • Mencipta pembolehubah dalam bahasa JavaScript sering dirujuk sebagai pembolehubah deklarasi. kita menggunakan kata kunci var untuk mengisytiharkan pembolehubah, nama pembolehubah adalah: aa.

  • Dalam bahasa JavaScript, berikan tanda sama, iaitu, berikan nilai di sebelah kanan = kepada pembolehubah di sebelah kiri.

  • Kod exchange adalah objek pertukaran. Pertukaran di sini merujuk kepada pertukaran yang anda tetapkan di halaman platform. Ini adalah format tetap, iaitu, anda mesti menentukan objek pertukaran apabila anda memanggil API bahasa JavaScript.

  • Kod hijau adalah API bahasa JavaScript. Apabila kita memanggilnya, ia sebenarnya memanggil fungsi dalam objek pertukaran. Perhatikan bahawa titik di belakang kod juga merupakan format tetap. Fungsi di sini adalah sama dengan makna fungsi yang kita pelajari di sekolah menengah. Jika fungsi tidak perlu menentukan parameter, ia diwakili oleh kurung kosong; jika fungsi mesti lulus dalam parameter, parameter ditulis dalam kurung.

Selepas menggunakan kes untuk memahami struktur asas kod, mari kita lihat beberapa API bahasa JavaScript yang akan anda gunakan pada masa akan datang.

  • SetContractType (variety code ) - menetapkan pasangan dagangan, yang merupakan varieti dagangan yang anda ingin dagangkan

Contoh: exchange.SetContractType ((this_week); //Tetapkan pasangan dagangan kepada K-line mingguan

  • GetTicker - Dapatkan data Tick

Contoh: exchange.GetTicker(); //Get Tick data

  • GetRecords - mendapatkan data baris K

Contoh: exchange.GetRecords ((); // Dapatkan data baris K

  • Beli - beli panjang

Contoh: pertukaran.Beli ((5000, 1); //Beli satu unit pada 5,000

  • Jual - jual pendek

Contoh: pertukaran.Menjual (5000, 1); // Menjual satu unit pada 5,000

  • GetAccount - mendapatkan maklumat akaun

Contoh: exchange.GetAccount(); //Mendapatkan maklumat akaun

  • GetPosition - Dapatkan maklumat kedudukan

Contoh: exchange.GetPosition ((); //Mendapatkan maklumat kedudukan

  • SetDirection - ditetapkan untuk melakukan jenis pesanan panjang atau pendek

contoh:

exchange.SetDirection ((buy); //Tentukan jenis pesanan untuk membuka kedudukan panjang

exchange.SetDirection ((closebuy); //Tentukan jenis pesanan untuk menjual untuk menutup kedudukan panjang

exchange.SetDirection ((sell); //Tentukan jenis pesanan untuk membuka kedudukan pendek

exchange.SetDirection ((closesell); //Tentukan jenis pesanan untuk membeli untuk menutup kedudukan pendek

  • Log - output mesej dalam log

Contoh: Log (( hello, World ); // output " hello world " dalam log

  • Tidur - hentikan program untuk seketika

Contoh: Tidur (1000); / / buat program berhenti sejenak untuk 1 saat (1000 milisaat sama dengan 1 saat)

Sesetengah orang mungkin mempunyai keraguan, begitu banyak API di atas, bagaimana saya boleh menghafal semuanya? sebenarnya, anda tidak perlu ingat mana-mana daripada mereka, laman web rasmi FMZ Quant mempunyai dokumentasi API yang terperinci. Sama seperti mencari kamus, setiap kali anda menggunakannya, anda hanya perlu memeriksanya melalui dokumentasi kami. Jangan takut dengan bahagian pengekodan. Apa yang kita mahu adalah mengatur strategi kita sendiri melalui bahasa ini. Sila ingat bahawa teknologi tidak pernah menjadi ambang untuk perdagangan kuantitatif. Strategi perdagangan yang sangat baik adalah yang paling penting daripada semua.

Ringkasnya

Di atas adalah API yang paling biasa digunakan dalam perdagangan kuantitatif, pada dasarnya termasuk: mendapatkan data, mengira data, meletakkan pesanan. Langkah-langkah ini harus mencukupi untuk menangani strategi perdagangan kuantitatif yang mudah.

Latihan selepas sekolah

1, cuba untuk menulis M bahasa 5 kitaran purata baris up-cross 10 kitaran bergerak purata baris ayat.

2, cuba gunakan bahasa JavaScript GetAccount untuk mendapatkan maklumat akaun anda, dan gunakan Log untuk mencetak ke log.

Pengumuman Bahagian Seterusnya

Pemrograman adalah seperti merakit batu bata LEGO. API adalah seperti pelbagai bahagian blok bangunan. Proses pengaturcaraan adalah untuk menjadikan setiap bahagian Lego mainan lengkap. Dalam bahagian seterusnya, saya akan membawa anda untuk merakit strategi perdagangan kuantitatif lengkap menggunakan API bahasa M.


Lebih lanjut