Bahasa algoritma QPILE untuk robot dagangan pengaturcaraan untuk QUIK.
Robot dagangan boleh ditulis dalam bahasa tertentu, serupa dengan kod program. QPILE ialah salah satu daripadanya, artikel itu akan mempertimbangkan bahasa ini, membandingkan bahasa QPILE dan
LUA , dan juga menyediakan contoh robot dalam bahasa ini.
- Maklumat am tentang QPILE
- Bekerja dengan meja
- binaan QPILE
- Jenis data
- Ungkapan
- Fungsi
- Program nyahpepijat
- QPILE atau LUA?
- Bagaimana untuk mencipta robot dagangan di QPILE?
- Robot dagangan di QPILE – penyelesaian siap sedia
- Robot purata bergerak
- N. Kalkulator kedudukan Moroshkin
- Penapis volum
- Pilihan Yunani
- Robot dagangan TRIX untuk QUIK
- M4 prapemproses
Maklumat am tentang QPILE
QPILE ialah singkatan yang bermaksud QUIK Antara Muka Boleh Aturcara dan Persekitaran Logik.
Ini ialah satu siri arahan yang ditafsirkan oleh stesen kerja QUIK. Ia digunakan terutamanya untuk mengira harga portfolio sekuriti. Bahasa ini juga digunakan untuk:
- pengiraan semula dinamik harga aset pelanggan pada desktop broker dan dalam portfolio mereka. Dalam kes kedua, jumlah harga mereka juga dikira semula;
- mencari petunjuk yang hilang menggunakan algoritma dan data mereka sendiri untuk pinjaman margin;
- membangunkan strategi perdagangan yang betul.
Bahasa menerangkan struktur jadual: pelantikan lajur dan baris, formula. Dalam yang terakhir, operasi matematik, pembolehubah, data dari jadual lain boleh digunakan untuk pengiraan. Kod program yang dimuatkan dari pelayan QUIK atau dari cakera pengguna diproses oleh penterjemah bahasa, yang mengira nilai dalam formula. Jadual satu program mempunyai satu sumber data, tetapi pengiraan tidak diduplikasi dan tidak menjejaskan kecekapan sistem. Apabila bekerja dengan jadual QUIK, jadual pada QPILE mempunyai fungsi standard. QUIK di tempat kerja dilengkapi dengan penyahpepijat kod QPILE. https://articles.opexflow.com/software-trading/torgovyj-terminal-quik.htm Bahasa ini membolehkan anda menerangkan jadual baharu dengan struktur tertentu, menyerlahkan sel dengan nilai tertentu, mengira medan berdasarkan ungkapan matematik dan logik. Pengguna akan menerima pemberitahuan dalam bentuk isyarat bunyi atau mesej teks. Jadual pada QPILE boleh diedit, dicetak, disalin, dieksport melalui pelayan ODBC dan DDE. Data awal adalah daripada jadual QUIK:
- transaksi, termasuk untuk pelaksanaan dan tidak peribadi;
- pesanan, termasuk pesanan henti, untuk dagangan dan pesanan di kaunter – laporan untuk perdagangan dalam tawaran penyelesaian;
- “portfolio pelanggan”, “beli/jual”
- data daripada kedudukan peserta melalui wang, akaun dagangan, instrumen.
Jadual berdasarkan QPILE tidak boleh disalin ke fail teks melalui menu konteks dan dieksport ke sistem analisis teknikal, dan carta tidak boleh dibangunkan berdasarkannya. Jadual berasaskan QPILE tidak boleh ditapis atau diisih.
Bekerja dengan meja
Untuk memuatkan kod program, anda perlu memilih menu perkhidmatan, kemudian skrip QPILE. Anda juga boleh menggunakan gabungan Ctrl+F11. Selepas anda perlu mengklik “Tambah” dan pilih fail yang dikehendaki. Ia mempunyai sambungan .qpl dan namanya akan muncul dalam senarai Skrip Tersedia.
- nama jadual;
- bilangan lajur dan pelanggan;
- senarai pengecam dan pelanggan;
- senarai parameter dan kod sumber fail.
binaan QPILE
Jenis data
- Rentetan – rentetan.
- Double ialah nombor titik terapung.
- Koleksi – koleksi.
- Peta – tatasusunan bersekutu – jujukan pasangan yang membolehkan anda mendapatkan maklumat dengan kunci.
Ungkapan
Operasi aritmetik tambah, tolak, darab, bahagi digunakan. Ungkapan logik “dan”, “atau”, sama, lebih banyak, kurang, ketaksamaan, pembinaan bersyarat “jika … maka …” juga digunakan.
Fungsi
Fungsi boleh didapati di mana-mana dalam program dan mempunyai nama yang berbeza. Secara keseluruhan, 18 kumpulan fungsi dan fungsi matematik tersedia untuk mendapatkan nilai jadual dan parameter, tatasusunan bersekutu, senarai jadual dan tugas lain. Gred pertama:
- Fungsi matematik yang membolehkan anda mengembalikan nilai sinus, kosinus, tangen, kotangen hujah, mengira eksponen hujah, menjana nombor rawak, dsb.
- Perintah umum : NEW_GLOBAL untuk memulakan pembolehubah global dan MESSAGE untuk membuka mesej.
Fungsi untuk bekerja dengan:
- Koleksi objek (Koleksi) . Mereka membenarkan anda membuat koleksi baharu, mengembalikan bilangan elemen yang diperlukan, menggantikan atau memasukkan nilai yang dikehendaki.
- Tatasusunan Bersekutu (MAP) . Bantu untuk mencipta dan mengurus tatasusunan.
- Fail – bekerja dengan fail teks, mengekalkan log-log program. Nama fail mungkin mengandungi laluan kepadanya.
- Rentetan .
- graf . Berfungsi GET_CANDLE untuk mengakses data lilin dan GET_CANDLE EX untuk mengembalikan tatasusunan bersekutu.
- Aplikasi . Mencipta pesanan dan menghantarnya ke sistem perdagangan.
- Tag . Pembinaan dan pemasangan mereka pada carta. Menambah, memadam satu atau semua label, mendapatkan dan menetapkan parameter untuk label tertentu.
Terdapat juga fungsi untuk:
- Untuk mengakses baris jadual QUIK arbitrari dan senarai parameter yang tersedia . Akses kepada data jadual tempat kerja. Ini termasuk GET_ITEM untuk mengembalikan MAP dan GET_NUMBER_OF untuk mengembalikan bilangan entri.
- Untuk bekerja dengan jadual boleh atur cara . Arahan ini beroperasi pada jadual OWN. Ia boleh dibaca oleh fungsi standard dari perenggan sebelumnya dan oleh fungsi ini. Kumpulan ini termasuk arahan untuk menambah, mengubah suai dan memadam baris dengan indeks dan mengosongkan jadual OWN sepenuhnya.
Untuk mendapatkan nilai gunakan:
- Jadual dagangan semasa . Mendapatkan parameter maklumat pertukaran menggunakan arahan GET_PARAM (_EX).
- Petikan tingkap . Mendapatkan nilai petikan instrumen.
- Jadual kedudukan mengikut instrumen dan wang . Mendapatkan data pada pelanggan, syarikat, instrumen, akaun depo mengikut kod.
Fungsi perkhidmatan – mengembalikan tarikh sesi dagangan semasa, siri bersekutu, tarikh dan masa semasa, menentukan keadaan sambungan, mengganggu mod pengiraan.
Program nyahpepijat
Kawalan langkah demi langkah ke atas pengendalian program dijalankan dalam tetingkap “Nyahpepijat”. Ia dibuka dari menu konteks “Mulakan pengiraan dalam mod nyahpepijat”. Ia juga boleh dibuka dengan perintah breakpoint() dan baris program akan diserlahkan dengan warna merah. Tetingkap mengandungi medan dengan kod program dan nilai pembolehubah. Di bahagian bawah tetingkap terdapat butang “Langkah seterusnya”, “Teruskan pelaksanaan”, “Hentikan pengiraan”. Menekan F5 akan meneruskan pelaksanaan program, gabungan Shift + F5 akan menghentikan penyahpepijatan, kekunci F10 akan mengarahkan ke baris seterusnya.
QPILE atau LUA?
LUA ialah bahasa pengaturcaraan baharu untuk mencipta robot dagangan. Seperti QPILE, ia dilaksanakan dalam terminal QUIK. https://articles.opexflow.com/programming/lua.htm Tapak khusus untuk pembangunan robot dagangan untuk perdagangan menunjukkan kelebihan bahasa LUA berbanding QPILE. Jadi, ia boleh berfungsi sebagai skrip dan kod bait yang tidak tersusun, dilengkapi dengan alat pembangun dan mekanisme pengaturcaraan berorientasikan objek. Objek yang ditulis dalam bahasa pengaturcaraan lain boleh disambungkan ke program LUA. LUA menyediakan 8 jenis data, termasuk metatable. Bahasa LUA adalah berbilang benang, pantas dan transaksi serta peristiwa terminal tidak segerak. LUA adalah lebih biasa daripada QPILE, dan banyak sambungan telah ditulis untuknya.
Bahasa QPILE kini tidak digunakan lagi. Pakar di forum mengesyorkan menggunakan LUA. Walaupun program yang berguna dan berkesan masih digunakan.
Walau bagaimanapun, bahasa QPILE adalah mudah berbanding dengan LUA, jadi jika anda tidak mempunyai pengalaman dalam pengaturcaraan, lebih baik memilih QPILE. Dalam bahasa ini, anda boleh menulis robot mudah jika anda tidak perlu melakukan pengiraan yang rumit.
Bagaimana untuk mencipta robot dagangan di QPILE?
Untuk mencipta penasihat dagangan, anda memerlukan program berikut:
- ITS Quik.
- Editor kod Notepad++.
- Panduan untuk QPILE.
- Pemalam XML untuk pengesanan kod dalam Notepad++.
Muat turun dan pasang program ini. Dayakan sintaks bahasa dengan meletakkan userDefineLang.xml dalam laluan C:\Users\User\ AppData\Roaming\Notepad++\
Blok “Tetapan pengguna” ditambah dengan pembolehubah NUMBER dan INTERVAL, yang akan digunakan dalam fungsi mendapatkan bar N terakhir. Fungsi DATETIME menetapkan tarikh dan masa pelayan, dan fungsi tarikh dan masa semasa CURDATE dan CURTIME dipanggil daripadanya. Masa semasa ditukar kepada nombor pada baris 24. Baris 26 menetapkan masa untuk algoritma berjalan dari 10:00:01 hingga 18:40:00 UTC.
Robot dagangan di QPILE – penyelesaian siap sedia
Robot purata bergerak
Robot demo tidak sesuai untuk perdagangan sebenar.
N. Kalkulator kedudukan Moroshkin
Satu program untuk mengira tahap pengeluaran maksimum yang dibenarkan dan sasaran untuk kedudukan panjang dan pendek pada harga permintaan dan tawaran semasa. Tahap dikira untuk 2 nilai volum kemasukan kedudukan. Robot mencari volum kedudukan yang dibenarkan apabila menetapkan perintah henti dalam satu langkah dari harga pembukaan dengan pengiraan membuka kedudukan ke arah pertumbuhan bar. Tahap yang ditemui dimasukkan ke dalam tetingkap terminal, yang kemudiannya ditunjukkan dalam carta harga. Urus niaga ditetapkan untuk instrumen tertentu. Jika kedudukan dibuka, robot mula mengira parameternya. Bergantung pada perubahan dalam kedudukan, pesanan yang ditetapkan diselaraskan.
Penapis volum
Robot portfolio untuk mengira min aritmetik isipadu untuk lilin dan membandingkannya dengan hasil purata dengan pekali X. Berfungsi dengan betul dengan carta yang diplot dalam tempoh masa yang dipilih.
Pilihan Yunani
Portfolio untuk mengira dan memaparkan pilihan “Yunani”. Ia berbeza daripada kaedah Black-Showers.
Robot dagangan TRIX untuk QUIK
Program ini berdasarkan Penunjuk TRIX. Apabila penunjuk ditutup di atas garisan sifar, tahap yang ditentukan, robot mengambil kedudukan Panjang. Kedudukan ditutup oleh Take Profit, Stop Loss atau trailing stop.
M4 prapemproses
Program untuk bekerja dengan QPILE dan Lua. Termasuk arkib dengan fail boleh laku, dokumentasi dan fail DLL dengan penghuraian ungkapan biasa. Untuk menggunakan program ini, anda perlu membongkar fail boleh laku dan letakkan regexp2 dalam laluan C:\Windows. Pelajaran tentang QPILE untuk QUIK: https://youtu.be/vMTXwDUujpI Memasang skrip pada QPILE dalam terminal Quik: https://youtu.be/0B7qL8Svh7I Bahagian pada github yang menerangkan penggunaan bahasa algoritma QPILE yang dibina ke dalam Stesen kerja sistem QUIK terletak di pautan – https://euvgub.github.io/quik_user_manual/ch8.html. QPILE ialah bahasa lapuk, tetapi agak mudah dan boleh diakses walaupun kepada pedagang baru. Robot dan program dagangan yang telah membuktikan diri mereka untuk masa yang lama terus mengusahakannya. Walau bagaimanapun, untuk tugas yang lebih kompleks adalah lebih baik menggunakan LUA.
0к