Llenguatge algorítmic QPILE per a la programació de robots comercials per a QUIK.
Els robots comercials es poden escriure en un llenguatge específic, similar al codi del programa. QPILE és un d’ells, aquest article considerarà aquest llenguatge, compararà els llenguatges QPILE i
LUA i també donarà exemples de robots en aquest llenguatge.
- Informació general sobre QPILE
- Treballant amb una taula
- Construccions QPILE
- Tipus de dades
- Expressions
- Funcions
- Programes de depuració
- QPILE o LUA?
- Com crear un robot comercial a QPILE?
- Robots comercials a QPILE: solucions ja fetes
- Robot mitjà mòbil
- Calculadora de posició N. Moroshkin
- Filtre de volum
- Opcions grecs
- Robot comercial TRIX per a QUIK
- Preprocessador M4
Informació general sobre QPILE
QPILE és una abreviatura que significa QUIK Programmable Interface and Logic Environment.
Aquesta és una sèrie d’ordres interpretades per l’estació de treball QUIK. S’utilitza principalment per calcular el preu de les carteres de valors. El llenguatge també s’utilitza per a:
- recàlcul dinàmic del preu dels actius dels clients a l’escriptori del corredor i a les seves carteres. En aquest darrer cas, també es recalcula el seu preu total;
- trobar indicadors que falten utilitzant els seus propis algorismes i dades per als préstecs amb marge;
- desenvolupar l’estratègia comercial adequada.
El llenguatge descriu l’estructura de la taula: la designació de columnes i files, fórmules. En aquest últim, es poden utilitzar per al càlcul operacions matemàtiques, variables, dades d’altres taules. El codi del programa carregat des del servidor QUIK o del disc de l’usuari és processat per l’intèrpret d’idiomes, que calcula els valors de les fórmules. Les taules d’un programa tenen una font de dades, però els càlculs no es dupliquen i no afecten l’eficiència del sistema. Quan es treballa amb taules QUIK, les taules de QPILE tenen funcions estàndard. QUIK al lloc de treball està equipat amb un depurador de codi QPILE. https://articles.opexflow.com/software-trading/torgovyj-terminal-quik.htm El llenguatge us permetrà descriure taules noves amb una estructura determinada, ressaltar cel·les amb determinats valors, calcular camps a partir d’expressions matemàtiques i lògiques. L’usuari rebrà notificacions en forma de senyal sonor o missatge de text. Les taules de QPILE es poden editar, imprimir, copiar, exportar mitjançant el servidor ODBC i DDE. Les dades inicials són de les taules QUIK:
- transaccions, fins i tot per a l’execució i impersonals;
- ordres, incloses les ordres de parada, per a operacions i ordres de venda lliure: informes per a operacions en acords de liquidació;
- “cartera de clients”, “compra/venda”
- dades de les posicions del participant per diners, comptes comercials, instrument.
Les taules basades en QPILE no es poden copiar en un fitxer de text mitjançant el menú contextual i exportar-les a sistemes d’anàlisi tècnica, i no es poden desenvolupar gràfics basats en ells. Les taules basades en QPILE no es poden filtrar ni ordenar.
Treballant amb una taula
Per carregar el codi del programa, heu de seleccionar el menú de serveis i, a continuació, els scripts QPILE. També podeu utilitzar la combinació Ctrl+F11. Després de fer clic a “Afegeix” i seleccionar el fitxer desitjat. Té una extensió .qpl i el seu nom apareixerà a la llista de Scripts disponibles.
- nom de la taula;
- nombre de columnes i clients;
- llista d’identificadors i clients;
- la llista de paràmetres i el codi font del fitxer.
Construccions QPILE
Tipus de dades
- String – cadena.
- El doble és un nombre de coma flotant.
- Col·lecció – una col·lecció.
- Mapa – una matriu associativa – una seqüència de parells que permet obtenir informació per clau.
Expressions
S’apliquen les operacions aritmètiques de suma, resta, multiplicació, divisió. També s’utilitzen les expressions lògiques “i”, “o”, és igual, més, menys, desigualtats, construcció condicional “si … aleshores …”.
Funcions
Les funcions es poden localitzar a qualsevol lloc del programa i tenen noms diferents. En total, 18 grups de funcions i funcions matemàtiques estan disponibles per obtenir els valors de taules i paràmetres, matrius associatives, una llista de taules i altres tasques. Primer grau:
- Funcions matemàtiques que permeten retornar el valor del sinus, cosinus, tangent, cotangent de l’argument, calcular l’exponent de l’argument, generar un nombre aleatori, etc.
- Ordres generals : NEW_GLOBAL per inicialitzar una variable global i MESSAGE per obrir missatges.
Funcions per treballar:
- Col·leccions d’objectes (Col·lecció) . Permeten crear una nova col·lecció, retornar el nombre necessari d’elements, substituir o inserir els valors desitjats.
- Arrays associatius (MAP) . Ajuda a crear i gestionar la matriu.
- Fitxers : treballant amb fitxers de text, mantenint un registre de registre del programa. El nom del fitxer pot contenir el camí d’accés.
- Cordes .
- Gràfics . Funcions GET_CANDLE per accedir a les dades de les espelmes i GET_CANDLE EX per retornar una matriu associativa.
- Aplicacions . Creació de comandes i enviament al sistema comercial.
- Etiquetes . La seva construcció i instal·lació a la carta. Afegir, suprimir una o totes les etiquetes, obtenir i establir paràmetres per a una etiqueta específica.
També hi ha funcions per:
- Per accedir a files de taules QUIK arbitràries i llistes de paràmetres disponibles . Accés a les dades de la taula del lloc de treball. Aquests inclouen GET_ITEM per retornar el MAPA i GET_NUMBER_OF per retornar el nombre d’entrades.
- Per treballar amb una taula programable . Aquestes ordres funcionen a la taula PROPIA. És llegible per les funcions estàndard del paràgraf anterior i per aquestes funcions. Aquest grup inclou ordres per afegir, modificar i suprimir una fila amb un índex i esborrar completament la taula PROPIA.
Per obtenir valors utilitzeu:
- Taules d’oficis actuals . Obtenció de paràmetres d’informació d’intercanvi mitjançant ordres GET_PARAM (_EX).
- Cotitzar finestres . Obtenció dels valors de les cotitzacions d’instruments.
- Taules de posicions per instruments i diners . Obtenció de dades d’un client, empresa, instrument, compte de depo per codi.
Funcions de servei: retorn de la data de la sessió de negociació actual, sèries associatives, data i hora actuals, determinació de l’estat de connexió, interrupció del mode de càlcul.
Programes de depuració
El control pas a pas sobre el funcionament del programa es realitza a la finestra “Depuració”. S’obre des del menú contextual “Iniciar càlcul en mode depuració”. També es pot obrir amb l’ordre breakpoint() i la línia del programa es ressaltarà en vermell. La finestra conté camps amb codi de programa i valors variables. A la part inferior de la finestra hi ha els botons “Pas següent”, “Continua l’execució”, “Atura el càlcul”. Prement F5 continuarà l’execució del programa, la combinació Maj + F5 deixarà de depurar, la tecla F10 dirigirà a la línia següent.
QPILE o LUA?
LUA és un nou llenguatge de programació per crear robots comercials. Igual que QPILE, s’implementa al terminal QUIK. https://articles.opexflow.com/programming/lua.htm Un lloc dedicat al desenvolupament de robots comercials per al comerç mostra els avantatges del llenguatge LUA respecte a QPILE. Per tant, pot funcionar com un script i bytecode no compilats, equipat amb eines de desenvolupament i mecanismes de programació orientats a objectes. Els objectes escrits en altres llenguatges de programació es poden connectar a programes LUA. LUA ofereix 8 tipus de dades, incloses metataules. L’idioma LUA és de múltiples fils, ràpid i les transaccions i els esdeveniments del terminal són asíncrons. LUA és més comú que QPILE, i s’han escrit moltes extensions per a això.
El llenguatge QPILE ara està obsolet. Els experts dels fòrums recomanen utilitzar LUA. Encara que encara s’estan utilitzant programes útils i eficaços.
Tanmateix, el llenguatge QPILE és senzill en comparació amb LUA, així que si no tens experiència en programació, és millor triar QPILE. En aquest llenguatge, podeu escriure un robot senzill si no necessiteu fer càlculs complexos.
Com crear un robot comercial a QPILE?
Per crear un assessor comercial, necessitareu els programes següents:
- EL SEU Quik.
- Editor de codi Notepad++.
- Guia de QPILE.
- Connector XML per a la detecció de codi al Notepad++.
Baixeu i instal·leu aquests programes. Habiliteu la sintaxi de l’idioma col·locant userDefineLang.xml al camí C:\Users\User\AppData\Roaming\Notepad++\
El bloc “Configuració d’usuari” es complementa amb les variables NÚMERO i INTERVAL, que s’utilitzaran en la funció d’obtenir les últimes N barres. La funció DATETIME estableix la data i l’hora del servidor, i les funcions de data i hora actuals CURDATE i CURTIME s’hi criden. L’hora actual es converteix en un número a la línia 24. La línia 26 estableix l’hora en què l’algorisme s’executa des de les 10:00:01 fins a les 18:40:00 UTC.
Robots comercials a QPILE: solucions ja fetes
Robot mitjà mòbil
El robot de demostració no és adequat per al comerç real.
Calculadora de posició N. Moroshkin
Un programa per calcular els nivells de la retirada màxima admissible i l’objectiu per a posicions llargues i curtes als preus de compra i oferta actuals. Els nivells es calculen per a 2 valors del volum d’entrada de la posició. El robot troba el volum de posició admissible quan assigna una ordre de parada en un pas del preu d’obertura amb el càlcul d’obrir una posició en la direcció ascendent de la barra. Els nivells trobats s’introdueixen a la finestra del terminal, que es reflecteixen posteriorment al gràfic de preus. Les transaccions es fixen per a un instrument determinat. Si s’obre una posició, el robot comença a calcular els seus paràmetres. En funció del canvi de posició, les ordres assignades s’ajusten.
Filtre de volum
Un robot-cartera per calcular la mitjana aritmètica del volum de les espelmes i comparar-la amb el producte mitjà pel coeficient X. Funciona correctament amb gràfics representats en un període de temps seleccionat.
Opcions grecs
Cartera per calcular i mostrar “grecs” d’opcions. Es diferencia del mètode Black-Showers.
Robot comercial TRIX per a QUIK
El programa es basa en l’indicador TRIX. Quan l’indicador es tanca per sobre de la línia zero, el nivell especificat, el robot pren la posició llarga. La posició es tanca per Take Profit, Stop Loss o trailing stop.
Preprocessador M4
Programa per treballar amb QPILE i Lua. Inclou arxius amb fitxers executables, documentació i fitxers DLL amb anàlisi d’expressions regulars. Per utilitzar el programa, heu de desempaquetar els fitxers executables i col·locar regexp2 a la ruta C:\Windows. Lliçons sobre QPILE per a QUIK: https://youtu.be/vMTXwDUujpI Instal·lació d’un script a QPILE al terminal Quik: https://youtu.be/0B7qL8Svh7I Una secció sobre github que descriu l’ús del llenguatge algorítmic QPILE integrat al Estació de treball del sistema QUIK ubicada a l’enllaç: https://euvgub.github.io/quik_user_manual/ch8.html. QPILE és un llenguatge obsolet, però bastant senzill i accessible fins i tot per als comerciants novells. Els robots comercials i els programes que s’han demostrat durant molt de temps continuen treballant-hi. Tanmateix, per a tasques més complexes és millor utilitzar LUA.
0к