Lingua algoritmica QPILE per a prugrammazione di robot di cummerciale per QUIK.
I robots di cummerciale ponu esse scritti in una lingua specifica, simili à u codice di u prugramma. QPILE hè unu di elli, l’articulu cunsiderà sta lingua, paragunà e lingue QPILE è
LUA , è ancu furnisce esempi di robots in questa lingua.
- L’infurmazione generale nantu à QPILE
- U travagliu cù una tavola
- QPILE custruzzioni
- Tipi di dati
- Espressioni
- Funzioni
- Programmi di debugging
- QPILE o LUA?
- Cumu creà un robot di cummerciale nantu à QPILE?
- Robots di cummerciale nantu à QPILE – soluzioni pronte
- Robot mediu in muvimentu
- Calculatrice di pusizioni N. Moroshkin
- Filtru di u voluminu
- Opzioni Grechi
- Robot di cummerciale TRIX per QUIK
- Preprocessore M4
L’infurmazione generale nantu à QPILE
QPILE hè un’abbreviazione chì significa QUIK Programmable Interface and Logic Environment.
Questa hè una seria di cumandamenti interpretati da a stazione di travagliu QUIK. Hè principarmenti utilizatu per calculà u prezzu di cartera di tituli. A lingua hè ancu usata per:
- recalculazione dinamica di u prezzu di l’assi di i clienti nantu à u desktop di u broker è in i so portafogli. In l’ultimu casu, u so prezzu tutale hè ancu recalculatu;
- truvà indicatori mancanti utilizendu i so propri algoritmi è dati per u prestitu di margini;
- sviluppà a strategia di cummerciale ghjusta.
A lingua descrive a struttura di a tavula: l’appuntamentu di culonni è fila, formule. In l’ultimi, l’operazioni matematiche, variàbili, dati da altre tavule pò esse usatu per u calculu. U codice di u prugramma caricatu da u servitore QUIK o da u discu di l’utilizatori hè trattatu da l’interprete di lingua, chì calcula i valori in e formule. I tavule di un prugramma anu una fonte di dati, ma i calculi ùn sò micca duplicati è ùn anu micca affettatu l’efficienza di u sistema. Quandu u travagliu cù e tavule QUIK, i tavule nantu à QPILE anu funzioni standard. QUIK in u locu di travagliu hè dotatu di un debugger di codice QPILE. https://articles.opexflow.com/software-trading/torgovyj-terminal-quik.htm A lingua permette di discrìviri novi tavule cù una struttura data, mette in risaltu e cellule cù certi valori, calculà campi basati nantu à espressioni matematiche è logiche. L’utilizatore riceverà notificazioni in forma di un signalu sonu o un missaghju di testu. E tabelle nantu à QPILE ponu esse editate, stampate, copiate, esportate via u servitore ODBC è DDE. I dati iniziali sò da e tavule QUIK:
- transazzione, ancu per l’esekzione è impersonale;
- Ordini, cumpresi ordini di stop, per i cumerci è ordini over-the-counter – rapporti per i cummerci in accordi di liquidazione;
- “portfolio clienti”, “cumprà / vende”
- dati da i pusizioni di i participanti da soldi, cunti di cummerciu, strumentu.
I tavule basati nantu à QPILE ùn ponu micca esse copiati in un schedariu di testu via u menù di u cuntestu è esportati à sistemi di analisi tecniche, è i grafici ùn ponu micca esse sviluppati nantu à elli. E tavule basate in QPILE ùn ponu esse filtrate o ordinate.
U travagliu cù una tavola
Per carricà u codice di u prugramma, avete bisognu di selezziunà u menù di servizii, dopu QPILE scripts. Pudete ancu aduprà a cumminazzioni Ctrl + F11. Dopu avè bisognu di cliccà “Add” è selezziunate u schedariu desideratu. Hà una estensione .qpl è u so nome appariscerà in a lista di Scripts Disponibile.
- nome di a tavola;
- numeru di culonni è clienti;
- lista di identificatori è clienti;
- a lista di i paràmetri è u codice fonte di u schedariu.
QPILE custruzzioni
Tipi di dati
- String – string.
- Doppiu hè un numeru in virgule flottante.
- Cullizzioni – una cullizzioni.
- Mappa – un array assuciativu – una sequenza di coppie chì vi permette di ottene infurmazioni per chjave.
Espressioni
L’operazioni aritmetiche di addizzioni, sottrazione, multiplicazione, divisioni sò applicate. L’espressioni lògichi “è”, “o”, uguali, più, menu, inuguaglianze, custruzzioni cundiziunali “se … allora …” sò ancu usati.
Funzioni
E funzioni ponu esse situate in ogni locu in u prugramma è anu diverse nomi. In totale, 18 gruppi di funzioni matematiche è funzioni sò dispunibuli per ottene i valori di tavule è paràmetri, arrays associativi, una lista di tavule è altre attività. Prima classa:
- Funzioni matematiche chì permettenu di rinvià u valore di u senu, cosenu, tangente, cotangente di l’argumentu, calculà l’esponente di l’argumentu, generà un numeru aleatoriu, etc.
- Cumandamenti generale : NEW_GLOBAL per inizializà una variabile globale è MESSAGE per apre i missaghji.
Funzioni per travaglià cù:
- Raccolta d’ogetti (Collezione) . Permettenu di creà una nova cullizzioni, rinvià u numeru necessariu di elementi, rimpiazzà o inserisce i valori desiderati.
- Arrays Associativi (MAP) . Aiutate à creà è gestisce l’array.
- Files – travaglià cù schedari di testu, mantene un log-log di u prugrammu. U nome di u schedariu pò cuntene a strada per ellu.
- Corde .
- Grafici . Funzioni GET_CANDLE per accede à e dati di candele è GET_CANDLE EX per rinvià un array assuciativu.
- Applicazioni . Crià ordini è mandà à u sistema di cummerciu.
- Tags . A so custruzzione è a stallazione nantu à a carta. Aghjunghjite, sguassate una o tutte e etichette, uttene è stabilisce parametri per una etichetta specifica.
Ci sò ancu funzioni per:
- Per accede à e file di tabelle QUIK arbitrarie è liste di parametri dispunibili . Accessu à e dati di a tavola di u locu di travagliu. Questi includenu GET_ITEM per rinvià u MAP è GET_NUMBER_OF per rinvià u numeru di entrate.
- Per travaglià cù una tavola programable . Questi cumandamenti operanu nantu à a tavola PROPRIA. Hè leggibile da e funzioni standard da u paràgrafu precedente è da queste funzioni. Stu gruppu include cumandamenti per aghjunghje, mudificà è sguassate una fila cù un indice, è sguassate cumplettamente a tavola PROPRIA.
Per piglià i valori utilizate:
- Tavule di i cummerci attuali . Ottene paràmetri di infurmazione di scambiu utilizendu cumandamenti GET_PARAM (_EX).
- Quote windows . Ottene i valori di i citazioni di l’instrumentu.
- Tavule di pusizioni per strumenti è soldi . Uttenimentu di dati nantu à un cliente, impresa, strumentu, contu depo per codice.
Funzioni di serviziu – rinvià a data di a sessione di cummerciale attuale, a serie associativa, a data è l’ora attuale, determinendu u statu di cunnessione, interrompendu u modu di calculu.
Programmi di debugging
U cuntrollu Step-by-step nantu à u funziunamentu di u prugrammu hè realizatu in a finestra “Debug”. Hè apertu da u menù di cuntestu “Start calculu in modu debug”. Pò esse ancu apertu cù u cumandimu breakpoint (), è a linea di prugramma serà evidenziata in rossu. A finestra cuntene campi cù codice di prugramma è valori variàbili. À u fondu di a finestra ci sò i buttoni “Next step”, “Cuntinuà l’esecuzione”, “Stop calculu”. Pressing F5 cuntinueghja l’esekzione di u prugramma, a cumminazione Shift + F5 cesserà di debugging, a chjave F10 dirigerà à a prossima linea.
QPILE o LUA?
LUA hè una nova lingua di prugrammazione per a creazione di robot di cummerciale. Cum’è QPILE, hè implementatu in u terminal QUIK. https://articles.opexflow.com/programming/lua.htm Un situ dedicatu à u sviluppu di robot di cummerciale per u cummerciu mostra i vantaghji di a lingua LUA nantu à QPILE. Cusì, pò funziunà cum’è un script non compilatu è bytecode, dotatu di strumenti di sviluppatore è miccanismi di prugrammazione orientati à l’ughjettu. L’uggetti scritti in altre lingue di prugrammazione ponu esse cunnessi à i prugrammi LUA. LUA furnisce 8 tippi di dati, cumprese metatables. A lingua LUA hè multi-threaded, veloce, è e transazzione è l’avvenimenti terminali sò asincroni. LUA hè più cumuni di QPILE, è parechje estensioni sò state scritte per questu.
A lingua QPILE hè avà obsoleta. I sperti nantu à i fori ricumandenu di utilizà LUA. Ancu se i prugrammi utili è efficaci sò sempre usati.
In ogni casu, a lingua QPILE hè simplice paragunata à LUA, perchè s’ellu ùn avete micca sperienza in a prugrammazione, hè megliu di sceglie QPILE. In questa lingua, pudete scrive un robot simplice sè ùn avete micca bisognu di fà calculi cumplessi.
Cumu creà un robot di cummerciale nantu à QPILE?
Per creà un cunsigliu cummerciale, avete bisognu di i seguenti prugrammi:
- U so Quik.
- Editore di codice Notepad++.
- Guida à QPILE.
- Plugin XML per a rilevazione di codice in Notepad ++.
Scaricate è stallà sti prugrammi. Abilita a sintassi di a lingua pusendu userDefineLang.xml in a strada C:\Users\User\AppData\Roaming\Notepad++\
U bloccu “Configurazione di l’Usuariu” hè cumplementatu cù e variabili NUMERO è INTERVALU, chì seranu utilizati in a funzione di ottene l’ultimi N bars. A funzione DATETIME stabilisce a data è l’ora di u servitore, è e funzioni di data è ora attuale CURDATE è CURTIME sò chjamati da questu. L’ora attuale hè cunvertita in un numeru nantu à a linea 24. A linea 26 stabilisce l’ora per l’algoritmu per esse da 10:00:01 à 18:40:00 UTC.
Robots di cummerciale nantu à QPILE – soluzioni pronte
Robot mediu in muvimentu
Demo robot ùn hè micca adattatu per u cummerciu reale.
Calculatrice di pusizioni N. Moroshkin
Un prugramma per calculà i livelli di u massimu permessu di drawdown è u target per i pusizioni longu è curtu à i prezzi attuali di dumanda è offerta. I livelli sò calculati per 2 valori di u voluminu di entrata di pusizioni. U robot trova u voluminu di pusizioni permessi quandu assigna un ordine di stop in un passu da u prezzu di apertura cù u calculu di apertura di una pusizione in a direzzione di a crescita di a barra. I niveli truvati sò inseriti in a finestra di u terminal, chì dopu sò riflessi in u cartulare di prezzu. E transacciones sò fissate per un strumentu determinatu. Se una pusizioni hè aperta, u robot cumencia à calculà i so parametri. Sicondu u cambiamentu di pusizioni, l’ordine assignati sò adattati.
Filtru di u voluminu
Portfolio robot per u calculà a media aritmetica di u voluminu di candele è paragunà cù u pruduttu mediu da u coefficient X. Funziona currettamente cù grafici tracciati in u periodu di tempu sceltu.
Opzioni Grechi
Portfolio per calculà è visualizà “Greci” di opzioni. Differisce da u metudu Black-Showers.
Robot di cummerciale TRIX per QUIK
U prugramma hè basatu annantu à l’indicatore TRIX. Quandu l’indicatore chjude sopra à a linea cero, u livellu specificu, u robot piglia a pusizione Long. A pusizione hè chjusa da Take Profit, Stop Loss o trailing stop.
Preprocessore M4
Prugramma per travaglià cù QPILE è Lua. Include archivi cù i fugliali eseguibili, a documentazione è i fugliali DLL cù l’analisi di l’espressione regulare. Per utilizà u prugramma, avete bisognu di scumpressà i fugliali eseguibili è mette regexp2 in a strada C: \ Windows. Lezioni nantu à QPILE per QUIK: https://youtu.be/vMTXwDUujpI Installazione di un script in QPILE in u terminal Quik: https://youtu.be/0B7qL8Svh7I Una sezione nantu à github chì descrive l’usu di a lingua algoritmica QPILE integrata in u A stazione di travagliu di u sistema QUIK situatu à u ligame – https://euvgub.github.io/quik_user_manual/ch8.html. QPILE hè una lingua obsoleta, ma abbastanza simplice è accessibile ancu per i cummircianti principianti. I robots di cummerciale è i prugrammi chì anu pruvatu per un bellu pezzu cuntinueghjanu à travaglià nantu à questu. Tuttavia, per i travaglii più cumplessi hè megliu aduprà LUA.
0к