Algorithmesch Sprooch QPILE fir programméiere Handelsroboter fir QUIK.
Handelsroboter kënnen an enger spezifescher Sprooch geschriwwe ginn, ähnlech wéi de Programmcode. QPILE ass ee vun hinnen, den Artikel wäert dës Sprooch berücksichtegen, d’QPILE an
LUA Sprooche vergläichen , an och Beispiller vu Roboteren an dëser Sprooch ubidden.
- Allgemeng Informatiounen iwwert QPILE
- Schafft mat engem Dësch
- QPILE konstruéiert
- Daten Zorte
- Ausdréck
- Fonctiounen
- Debugging Programmer
- QPILE oder LUA?
- Wéi erstellt en Handelsroboter op QPILE?
- Trading Roboteren op QPILE – fäerdeg Léisungen
- Plënneren Moyenne Roboter
- N. Moroshkin Positioun Rechner
- Volume Filter
- Optiounen Griichen
- TRIX Handelsroboter fir QUIK
- M4 preprocessor
Allgemeng Informatiounen iwwert QPILE
QPILE ass eng Ofkierzung déi fir QUIK Programmable Interface and Logic Environment steet.
Dëst ass eng Serie vu Kommandoen interpretéiert vun der QUIK Workstation. Et gëtt haaptsächlech benotzt fir de Präis vu Portfolios vu Wäertpabeieren ze berechnen. D’Sprooch gëtt och benotzt fir:
- dynamesch Neiberechnung vum Präiss vum Verméigen vun de Clienten um Desktop vum Broker an an hire Portefeuillen. Am leschte Fall gëtt hire Gesamtpräis och nei berechent;
- fehlend Indikatoren ze fannen mat hiren eegene Algorithmen an Daten fir Marginkrediten;
- déi richteg Handelsstrategie entwéckelen.
D’Sprooch beschreift d’Struktur vum Dësch: d’Ernennung vu Sailen a Reihen, Formelen. An der leschter kënne mathematesch Operatiounen, Variabelen, Daten aus aneren Dëscher fir d’Berechnung benotzt ginn. De Programmcode, dee vum QUIK-Server oder vum Disk vum Benotzer gelueden ass, gëtt vum Sproochentolk veraarbecht, deen d’Wäerter an de Formelen berechent. D’Tabellen vun engem Programm hunn eng Datenquell, awer d’Berechnungen sinn net duplizéiert an beaflossen net d’Effizienz vum System. Wann Dir mat QUIK Dëscher schafft, hunn Dëscher op QPILE Standardfunktiounen. QUIK op der Aarbechtsplaz ass mat engem QPILE Code Debugger ausgestatt. https://articles.opexflow.com/software-trading/torgovyj-terminal-quik.htm D’Sprooch erlaabt Iech nei Dëscher mat enger bestëmmter Struktur ze beschreiwen, Zellen mat bestëmmte Wäerter ze markéieren, Felder ze berechnen op Basis vu mathemateschen a logeschen Ausdréck. De Benotzer kritt Notifikatiounen a Form vun engem Soundsignal oder SMS. Dëscher op QPILE kann geännert ginn, gedréckt, kopéiert, exportéiert via ODBC an DDE Server. Déi initial Donnéeën sinn aus de QUIK Dëscher:
- Transaktiounen, dorënner fir Ausféierung an onperséinlech;
- Uerder, dorënner Stop Uerder, fir iwwer-de-Konter Handel an Uerder – Berichter fir Handel an Siidlung Deals;
- “Client Portfolio”, “Kafen/verkafen”
- Daten aus de Positiounen vum Participant duerch Suen, Handelskonten, Instrument.
Dëscher baséiert op QPILE kann net zu engem Text Fichier via de Kontext Menü kopéiert an zu technesch Analyse Systemer exportéiert ginn, an Charts kann net baséiert op hinnen entwéckelt ginn. QPILE-baséiert Dëscher kënnen net Filteren oder zortéiert ginn.
Schafft mat engem Dësch
Fir de Programm Code lued, Dir musst de Servicer Menü wielt, dann QPILE Scripten. Dir kënnt och d’Kombinatioun Ctrl + F11 benotzen. Nodeems Dir op “Add” klickt a wielt déi gewënscht Datei. Et huet eng .qpl Extensioun a säin Numm erschéngt an der Verfügbar Scripte Lëscht.
- Dësch Numm;
- Zuel vu Sailen a Clienten;
- Lëscht vun Identifizéierer a Clienten;
- d’Lëscht vun de Parameteren an de Quellcode vun der Datei.
QPILE konstruéiert
Daten Zorte
- String – String.
- Duebel ass eng schwiewend Punktzuel.
- Kollektioun – eng Kollektioun.
- Kaart – en assoziativen Array – eng Sequenz vu Pairen déi Iech erlaabt Informatioun duerch Schlëssel ze kréien.
Ausdréck
Déi arithmetesch Operatioune vun Additioun, Subtraktioun, Multiplikatioun, Divisioun ginn ugewannt. Déi logesch Ausdréck “an”, “oder”, gläich, méi, manner, Ongläichheeten, bedingungsvoll Konstruktioun “wann … dann …” ginn och benotzt.
Fonctiounen
Funktiounen kënnen iwwerall am Programm lokaliséiert ginn an hunn verschidden Nimm. Am Ganzen sinn 18 Gruppe vu mathematesche Funktiounen a Funktiounen verfügbar fir d’Wäerter vun Dëscher a Parameteren, assoziativ Arrays, eng Lëscht vun Dëscher an aner Aufgaben ze kréien. Éischt Klass:
- Mathematesch Funktiounen , déi Iech erlaben de Wäert vum Sinus, Cosinus, Tangent, Cotangent vum Argument zréckzeginn, den Exponent vum Argument ze berechnen, eng zoufälleg Zuel ze generéieren, etc.
- Allgemeng Kommandoen : NEW_GLOBAL fir eng global Variabel ze initialiséieren an MESSAGE fir Messagen opzemaachen.
Funktiounen fir mat ze schaffen:
- Sammlung vun Objeten (Kollektioun) . Si erlaben Iech eng nei Sammlung ze kreéieren, déi erfuerderlech Unzuel vun Elementer zréckzeginn, déi gewënschte Wäerter z’ersetzen oder anzeginn.
- Associative Arrays (MAP) . Hëlleft d’Array ze kreéieren an ze managen.
- Dateien – mat Textdateien schaffen, e Log-Log vum Programm erhalen. De Dateinumm kann de Wee dohinner enthalen.
- Strings .
- Grafiken . Fonctiounen GET_CANDLE fir Zougang zu Käerzendaten an GET_CANDLE EX fir en assoziativen Array zréckzekommen.
- Uwendungen . Bestellungen erstellen an se an den Handelssystem schécken.
- Tags . Hir Konstruktioun an Installatioun op der Grafik. Addéieren, läschen een oder all Etiketten, kréien a setzen Parameteren fir e spezifesche Label.
Et ginn och Funktiounen fir:
- Fir Zougang zu Reihen vun arbiträren QUIK Dëscher a Lëschte vu verfügbare Parameteren . Zougang zu Aarbechtsplaz Dësch Daten. Dës enthalen GET_ITEM fir d’MAP zréckzebréngen an GET_NUMBER_OF fir d’Zuel vun den Entréen zréckzeginn.
- Fir mat engem programméierbaren Dësch ze schaffen . Dës Kommandoen funktionnéieren op der EIGEN Dësch. Et ass liesbar duerch d’Standardfunktiounen aus dem viregte Paragraf a vun dëse Funktiounen. Dëse Grupp enthält Kommandoen fir eng Zeil mat engem Index derbäizefügen, z’änneren an ze läschen, an d’EIGEN Tabelle komplett ze läschen.
Fir Wäerter ze kréien benotzt:
- Tabelle vun aktuellen Handel . Kréien Austauschinformatiounsparameter mat GET_PARAM (_EX) Kommandoen.
- Zitat Fënsteren . Erhalen d’Wäerter vun Instrument Zitater.
- Dëscher vun Positiounen no Instrumenter a Suen . Erhalen Donnéeën op engem Client, Firma, Instrument, Depo Kont duerch Code.
Service Funktiounen – den Datum vun der aktueller Handelssitzung zréckginn, assoziativ Serie, aktuellen Datum an Zäit, Bestëmmung vum Verbindungszoustand, Ënnerbriechung vum Berechnungsmodus.
Debugging Programmer
Schrëtt fir Schrëtt Kontroll iwwer d’Operatioun vum Programm gëtt an der “Debug” Fënster duerchgefouert. Et gëtt aus dem Kontextmenü “Start Berechnung am Debug Modus” opgemaach. Et kann och mat der breakpoint opgemaach ginn () Kommando, an der Programm Linn wäert am rout markéiert ginn. D’Fënster enthält Felder mat Programmcode a Variabel Wäerter. Um Enn vun der Fënster sinn et Knäppercher “Nächste Schrëtt”, “Ausféierung weider”, “Berechnung stoppen”. Dréckt F5 wäert d’Ausféierung vum Programm weiderféieren, d’Kombinatioun Shift + F5 stoppt Debugging, de F10-Schlëssel féiert op déi nächst Zeil.
QPILE oder LUA?
LUA ass eng nei Programméierungssprooch fir Handelsroboter ze kreéieren. Wéi QPILE ass et am QUIK Terminal implementéiert. https://articles.opexflow.com/programming/lua.htm E Site gewidmet fir d’Entwécklung vun Handelsroboter fir den Handel weist d’Virdeeler vun der LUA Sprooch iwwer QPILE. Also, et kann als net-kompiléiert Skript a Bytecode funktionnéieren, ausgestatt mat Entwéckler Tools an objektorientéierter Programméierungsmechanismen. Objekter, déi an anere Programméierungssprooche geschriwwe sinn, kënne mat LUA Programmer verbonne sinn. LUA bitt 8 Datentypen, dorënner Metatabelen. D’LUA Sprooch ass multi-threaded, séier, an Transaktiounen an Terminalevenementer sinn asynchron. LUA ass méi heefeg wéi QPILE, a vill Extensiounen sinn dofir geschriwwe ginn.
D’QPILE Sprooch ass elo ofgeschaaft. Experten op de Foren recommandéiere LUA ze benotzen. Och wann nëtzlech an effektiv Programmer nach ëmmer benotzt ginn.
Wéi och ëmmer, d’QPILE Sprooch ass einfach am Verglach zum LUA, also wann Dir keng Erfahrung am Programméiere hutt, ass et besser QPILE ze wielen. An dëser Sprooch kënnt Dir en einfache Roboter schreiwen wann Dir keng komplex Berechnunge maache musst.
Wéi erstellt en Handelsroboter op QPILE?
Fir en Handelsberoder ze kreéieren, braucht Dir déi folgend Programmer:
- ITS Quik.
- Notizblock++ Code Editor.
- Guide ze QPILE.
- XML Plugin fir Code Detektioun am Notepad ++.
Eroflueden an installéieren dës Programmer. Aktivéiert d’Sproochsyntax andeems de userDefineLang.xml am Wee C:\Users\User\AppData\Roaming\Notepad++\
De Block “Benotzer Astellungen” gëtt ergänzt mat den NUMMER an INTERVAL Variablen, déi an der Funktioun benotzt gi fir déi lescht N Baren ze kréien. D’DATETIME Funktioun setzt de Server Datum an Zäit, an déi aktuell Datum an Zäit Funktiounen CURDATE an CURTIME ginn aus et genannt. Déi aktuell Zäit gëtt an eng Zuel op der Linn ëmgerechent 24. Linn 26 setzt d’Zäit fir den Algorithmus vun 10:00:01 bis 18:40:00 UTC ze lafen.
Trading Roboteren op QPILE – fäerdeg Léisungen
Plënneren Moyenne Roboter
Demo Roboter net gëeegent fir real Handel.
N. Moroshkin Positioun Rechner
E Programm fir d’Niveaue vun der maximal zulässlecher Oflehnung an d’Zil fir laang a kuerz Positiounen bei aktuellen Ufro- a Offerpräisser ze berechnen. D’Niveaue gi fir 2 Wäerter vum Positiounentréevolumen berechent. De Roboter fënnt de zulässlechen Positiounsvolumen wann Dir eng Stopbestellung an engem Schrëtt vum Ouverturespräis mat der Berechnung vun der Ouverture vun enger Positioun an der Richtung vum Barwachstum zougewisen. Déi fonnt Niveauen ginn an d’Terminalfenster agefouert, déi duerno an der Präisdiagramm reflektéiert ginn. Transaktioune si fir e bestëmmten Instrument fixéiert. Wann eng Positioun opgemaach ass, fänkt de Roboter seng Parameteren aus. Ofhängeg vun der Ännerung vun der Positioun, ginn déi zougewisen Bestellungen ugepasst.
Volume Filter
Portfolio Roboter fir de arithmetesche Moyenne vum Volume fir Käerzen ze berechnen an et mam Duerchschnëttsprodukt mam X-Koeffizient ze vergläichen. Schafft korrekt mat geplotte Charts an der gewielter Zäitperiod.
Optiounen Griichen
Portfolio fir “Griichen” vun Optiounen ze berechnen an ze weisen. Et ënnerscheet sech vun der Black-Showers Method.
TRIX Handelsroboter fir QUIK
De Programm baséiert op der TRIX Indikator. Wann den Indikator iwwer der Nulllinn zoumaacht, de spezifizéierte Niveau, hëlt de Roboter déi laang Positioun. D’Positioun ass zougemaach duerch Take Profit, Stop Loss oder Trailing Stop.
M4 preprocessor
Programm fir mat QPILE a Lua ze schaffen. Ëmfaasst Archiver mat ausführbare Dateien, Dokumentatioun an DLL Dateien mat regulärem Ausdrock Parsing. Fir de Programm ze benotzen, musst Dir déi ausführbar Dateien auspacken a regexp2 am C:\Windows Wee setzen. Lektiounen iwwer QPILE fir QUIK: https://youtu.be/vMTXwDUujpI E Skript op QPILE am Quik Terminal installéieren: https://youtu.be/0B7qL8Svh7I Eng Sektioun op Github déi d’Benotzung vun der QPILE algorithmescher Sprooch beschreift, déi an der gebauter QUIK System Workstation um Link läit – https://euvgub.github.io/quik_user_manual/ch8.html. QPILE ass eng al Sprooch, awer zimlech einfach an zougänglech och fir Ufänger Händler. Trading Roboteren a Programmer, déi sech fir eng laang Zäit bewisen hunn, schaffen weider drun. Wéi och ëmmer, fir méi komplex Aufgaben ass et besser LUA ze benotzen.
0к