Algoritma basa QPILE pikeun programming robot dagang pikeun QUIK.
Robot dagang bisa ditulis dina basa husus, sarupa jeung kode program. QPILE mangrupikeun salah sahijina, tulisan bakal nganggap basa ieu, ngabandingkeun basa QPILE sareng
LUA , sareng ogé nyayogikeun conto robot dina basa ieu.
- Inpo umum ngeunaan QPILE
- Gawe sareng méja
- QPILE ngawangun
- Tipe data
- Babasan
- Fungsi
- Program debugging
- QPILE atanapi LUA?
- Kumaha cara nyiptakeun robot dagang dina QPILE?
- Robot dagang on QPILE – solusi siap-dijieun
- Pindah rata robot
- N. Moroshkin posisi kalkulator
- Saringan volume
- Pilihan Yunani
- TRIX robot dagang pikeun QUIK
- M4 preprocessor
Inpo umum ngeunaan QPILE
QPILE mangrupikeun singketan tina QUIK Programmable Interface sareng Logic Environment.
Ieu runtuyan paréntah diinterpretasi ku workstation QUIK. Utamana dipaké pikeun ngitung harga portopolio sekuritas. Basa ogé dipaké pikeun:
- recalculation dinamis tina harga aset klien ‘dina desktop calo na di portfolios maranéhna. Dina kasus dimungkinkeun, total harga maranéhanana ogé recalculated;
- nyungsi indikator leungit ngagunakeun algoritma sorangan jeung data pikeun lending margin;
- ngamekarkeun strategi dagang katuhu.
Basa ngajelaskeun struktur tabel: janjian kolom jeung baris, rumus. Dina dimungkinkeun, operasi matematik, variabel, data tina tabel séjén bisa dipaké pikeun itungan. Kode program anu dimuat tina server QUIK atanapi tina disk pangguna diolah ku juru basa, anu ngitung nilai dina rumus. Tabél tina hiji program gaduh hiji sumber data, tapi itungan henteu diduplikasi sareng henteu mangaruhan efisiensi sistem. Nalika damel sareng tabel QUIK, tabel dina QPILE ngagaduhan fungsi standar. QUIK di gaw dilengkepan QPILE kode debugger. https://articles.opexflow.com/software-trading/torgovyj-terminal-quik.htm Basa ngidinan Anjeun pikeun ngajelaskeun tabel anyar kalawan struktur dibikeun, nyorot sél kalawan nilai nu tangtu, ngitung widang dumasar kana éksprési matematik jeung logis. Pangguna bakal nampi béwara dina bentuk sinyal sora atanapi pesen téks. Tables on QPILE bisa diédit, dicitak, disalin, diékspor via ODBC na DDE server. Data awal asalna tina tabel QUIK:
- transaksi, kaasup pikeun palaksanaan na impersonal;
- pesenan, kaasup eureun pesenan, pikeun over-the-counter trades na pesenan – laporan pikeun trades di poéna pakampungan;
- “portopolio klien”, “meuli/ngajual”
- data tina posisi pamilon ku duit, rekening dagang, instrumen.
Tabél dumasar kana QPILE teu bisa disalin kana file téks via menu konteks na diékspor ka sistem analisis téhnis, sarta grafik teu bisa dimekarkeun dumasar kana éta. tabél basis QPILE teu bisa disaring atawa diurutkeun.
Gawe sareng méja
Pikeun ngamuat kode program, anjeun kedah milih ménu jasa, teras skrip QPILE. Anjeun oge bisa make kombinasi Ctrl + F11. Saatos Anjeun kudu klik “Tambahkeun” tur pilih file nu dipikahoyong. Mibanda extension .qpl sarta ngaranna bakal muncul dina daptar Aksara sadia.
- ngaran méja;
- Jumlah kolom sareng klien;
- daptar identifiers sarta klien;
- daptar parameter sareng kode sumber file.
QPILE ngawangun
Tipe data
- Senar – senar.
- Ganda mangrupakeun angka floating point.
- Koléksi – kumpulan.
- Peta – hiji Asép Sunandar Sunarya associative – runtuyan pasangan nu ngidinan Anjeun pikeun meunangkeun informasi ku konci.
Babasan
Operasi aritmatika tambahan, pangurangan, perkalian, pembagian diterapkeun. Babasan logis “jeung”, “atawa”, sarua, leuwih, kirang, inequalities, konstruksi kondisional “lamun … lajeng …” ogé dipaké.
Fungsi
Fungsi tiasa ayana di mana waé dina program sareng gaduh nami anu béda. Jumlahna aya 18 kelompok fungsi sareng fungsi matematika pikeun kéngingkeun nilai tabel sareng parameter, susunan asosiatif, daptar tabel, sareng tugas-tugas sanés. Kelas kahiji:
- Fungsi matematik nu ngidinan Anjeun pikeun mulangkeun nilai sinus, kosinus, tangent, cotangent sahiji argumen, ngitung éksponén argumen, ngahasilkeun angka acak, jsb.
- Paréntah umum : NEW_GLOBAL pikeun ngamimitian variabel global sareng MESSAGE pikeun muka pesen.
Fungsi pikeun dianggo sareng:
- Koléksi objék (Koléksi) . Aranjeunna ngidinan Anjeun pikeun nyieun koleksi anyar, balik jumlah diperlukeun elemen, ngaganti atawa selapkeun nilai nu dipikahoyong.
- Array Asosiatif (MAP) . Pitulung pikeun nyieun jeung ngatur Asép Sunandar Sunarya.
- File – damel sareng file téks, ngajaga log-log program. Ngaran koropak bisa ngandung jalur ka dinya.
- Senar .
- Grafik . Fungsi GET_CANDLE pikeun ngaksés data lilin sareng GET_CANDLE EX pikeun mulangkeun susunan asosiatif.
- Aplikasi . Nyiptakeun pesenan sareng ngirim kana sistem perdagangan.
- Tag . Konstruksi sareng instalasina dina bagan. Nambahkeun, mupus hiji atawa sakabéh labél, meunangkeun tur nyetel parameter pikeun labél husus.
Aya ogé fungsi pikeun:
- Pikeun ngakses barisan tabel QUIK wenang jeung daptar parameter sadia . Aksés ka data tabel gaw. Ieu kalebet GET_ITEM pikeun mulangkeun MAP sareng GET_NUMBER_OF pikeun mulangkeun jumlah éntri.
- Pikeun dianggo sareng tabel anu tiasa diprogram . Paréntah ieu beroperasi dina tabel OWN. Éta tiasa dibaca ku fungsi standar tina paragraf sateuacana sareng ku fungsi ieu. Grup ieu kalebet paréntah pikeun nambihan, ngarobih sareng mupus baris kalayan indéks, sareng ngabersihkeun tabel SENDIRI.
Pikeun meunangkeun nilai ngagunakeun:
- Tabél dagang ayeuna . Meunangkeun parameter inpormasi bursa nganggo paréntah GET_PARAM (_EX).
- Quote windows . Kéngingkeun nilai kutipan alat.
- Tabel posisi ku instrumen sareng artos . Kéngingkeun data dina klien, perusahaan, instrumen, akun depo ku kode.
fungsi Service – balik tanggal sési dagang ayeuna, runtuyan associative, tanggal ayeuna jeung waktu, nangtukeun kaayaan sambungan, interrupting mode itungan.
Program debugging
Kontrol léngkah-léngkah pikeun operasi program dilaksanakeun dina jandela “Debug”. Ieu dibuka tina menu konteks “Mimitian itungan dina mode debug”. Ogé bisa dibuka ku breakpoint () paréntah, jeung garis program bakal disorot beureum. Jandéla ngandung widang kalayan kode program sareng nilai variabel. Di handapeun jandela aya tombol “Lengkah salajengna”, “Teruskeun palaksanaan”, “Stop itungan”. Mencét F5 bakal neruskeun palaksanaan program, kombinasi Shift + F5 bakal ngeureunkeun debugging, konci F10 bakal langsung ka garis salajengna.
QPILE atanapi LUA?
LUA mangrupikeun basa pamrograman énggal pikeun nyiptakeun robot dagang. Kawas QPILE, éta dilaksanakeun di terminal QUIK. https://articles.opexflow.com/programming/lua.htm A situs dedicated ka ngembangkeun robot dagang keur dagang nembongkeun kaunggulan tina basa LUA leuwih QPILE. Janten, éta tiasa fungsina salaku skrip sareng bytecode anu henteu disusun, dilengkepan alat pamekar sareng mékanisme program berorientasi obyék. Objék anu ditulis dina basa pamrograman sanés tiasa disambungkeun kana program LUA. LUA nyadiakeun 8 tipe data, kaasup metatables. Basa LUA nyaéta multi-threaded, gancang, sareng transaksi sareng acara terminal henteu sinkron. LUA langkung umum tibatan QPILE, sareng seueur ekstensi anu ditulis pikeun éta.
Basa QPILE ayeuna tos teu dianggo. Para ahli dina forum nyarankeun ngagunakeun LUA. Sanajan program mangpaat tur éféktif masih dipaké.
Nanging, basa QPILE saderhana dibandingkeun sareng LUA, janten upami anjeun teu gaduh pangalaman dina program, langkung saé milih QPILE. Dina basa ieu, anjeun tiasa nyerat robot basajan upami anjeun henteu kedah ngalakukeun itungan anu rumit.
Kumaha cara nyiptakeun robot dagang dina QPILE?
Pikeun nyieun panaséhat dagang, anjeun peryogi program ieu:
- ITS Quik.
- Editor kode Notepad++.
- Pituduh ka QPILE.
- XML plugin pikeun deteksi kode dina Notepad ++.
Unduh sareng pasang program ieu. Aktipkeun sintaksis basa ku cara nempatkeun userDefineLang.xml dina jalur C:\Users\User\ AppData\Roaming\Notepad++\
Blok “Setélan pangguna” ditambah ku variabel NUMBER sareng INTERVAL, anu bakal dianggo dina fungsi pikeun kéngingkeun bar N terakhir. Fungsi DATETIME netepkeun tanggal sareng waktos server, sareng fungsi tanggal sareng waktos ayeuna CURDATE sareng CURTIME disebat tina éta. Waktu ayeuna dirobah jadi angka dina garis 24. Jalur 26 Nyetél waktu pikeun algoritma ngajalankeun ti 10:00:01 ka 18:40:00 UTC.
Robot dagang on QPILE – solusi siap-dijieun
Pindah rata robot
Robot demo henteu cocog pikeun dagang nyata.
N. Moroshkin posisi kalkulator
Program pikeun ngitung tingkat drawdown maksimum anu diidinan sareng udagan pikeun posisi panjang sareng pondok dina harga naros sareng tawaran ayeuna. Tingkat diitung pikeun 2 nilai tina volume éntri posisi. Robot manggih volume posisi allowable nalika assigning urutan eureun dina hiji hambalan tina harga muka kalayan itungan muka posisi dina arah tumuwuhna bar. Tingkat kapanggih diasupkeun kana jandela terminal, nu salajengna reflected dina bagan harga. Transaksi dibereskeun pikeun instrumen anu dipasihkeun. Lamun posisi dibuka, robot mimiti ngitung parameter na. Gumantung kana parobahan dina posisi, pesenan ditugaskeun disaluyukeun.
Saringan volume
Robot portopolio pikeun ngitung rata-rata aritmetika volume pikeun lilin sareng ngabandingkeunana sareng produk rata-rata ku koefisien X. Gawéna leres sareng grafik plotted dina periode waktos anu dipilih.
Pilihan Yunani
Portopolio pikeun ngitung sareng ningalikeun pilihan “Yunani”. Ieu béda jeung métode Hideung-Pancuran.
TRIX robot dagang pikeun QUIK
Program ieu dumasar kana Indikator TRIX. Nalika indikator nutup luhureun garis enol, tingkat dieusian, robot nyokot posisi Long. Posisi ditutup ku Take Profit, Stop Loss atanapi trailing stop.
M4 preprocessor
Program pikeun gawé bareng QPILE sareng Lua. Ngawengku arsip sareng file anu tiasa dieksekusi, dokuméntasi sareng file DLL kalayan parsing ekspresi biasa. Pikeun ngagunakeun program, anjeun kedah ngabongkar file anu tiasa dieksekusi sareng nempatkeun regexp2 dina jalur C:\Windows. Palajaran ngeunaan QPILE pikeun QUIK: https://youtu.be/vMTXwDUujpI Masang skrip dina QPILE di terminal Quik: https://youtu.be/0B7qL8Svh7I Bagian dina github anu ngajelaskeun pamakéan basa algoritma QPILE diwangun kana workstation sistem QUIK lokasina di link – https://euvgub.github.io/quik_user_manual/ch8.html. QPILE mangrupa basa luntur, tapi cukup basajan tur diaksés malah keur padagang novice. Robot dagang sareng program anu parantos kabuktian pikeun waktos anu lami teras damel di dinya. Nanging, pikeun tugas anu langkung kompleks langkung saé ngagunakeun LUA.
0к