ZuluScript létrehozás útmutató
Utoljára frissítve ekkor:
Bevezetés
A ZuluTrade létrehozta a kereskedői szkriptek egy új generációját, amellyel a kereskedők saját kereskedő robotokat és indikátorokat hozhatnak létre és telepíthetnek, közvetlenül ZuluTrade kereskedői számlájukon keresztül anélkül, hogy szükség lenne külső szoftverre vagy más oldalon való regisztrációra.
A ZuluScript a ZuluTrade Query nyelvet (zql) használja, ami kompatibilis a Forex piac gyakran használt szkript-alkotó nyelveivel.
A ZuluScript használatához mindössze egy kereskedői számlára van szükség engedélyezett ZuluTrade+ opcióval, ami számlája Beállítások oldalán a Brókerszámla kapcsolat beállítások pont alatt látható.
A ZuluTrade Kereskedői szkript szerkesztő elérése
A ZuluTrade kereskedői szkripthez való hozzáféréshez, sikeres ZuluTrade regisztrációt és ZuluTrade+ platform összekötést követően, lépjen a ZuluTrade Kereskedői állomásra, majd kattintson a Kereskedői szkriptek-re.
Egy felugró ablak jelenik meg Kereskedő Ügyfél címmel.
A szkript szerkesztő jobb felső oldalsorán négy különböző gombot talál, melyekkel a szkript szerkesztő működési módja változtatható.
Az első a Szkriptek létrehozásának módja, a második az Egyéni Indikátorok létrehozásának módja, a harmadik a Fejlécek létrehozásának módja, az utolsó pedig előhívja a ZQL szójegyzéket, ahol részletes információt talál a ZQL nyelv minden egyes parancsáról.
Legjobb kereskedők
ZuluScript létrehozása
Saját ZuluScript létrehozásához kattintson a Szkript létrehozása gombra a Szkript szerkesztőben.
Az új szkript létrehozásakor a szerkesztő panelen egy sablon zql kód jelenik meg – erre a panelre kell bevinni a szkript kódot.
A szerkesztő alatt a jobb oldalon három gomb található, amely segít létrehozni a ZuluScript-et – Mentés, Fordítás és Telepítés.
Mentés – a Mentés gomb minden alkalommal elmenti a szkriptet, így nem vesznek el a változtatások vagy az előrehaladás.
Egy változtatás mentése a szkriptben azonban nem jelenti azt, hogy a változtatás használatra kész. Minden változtatást Fordítani és Telepíteni kell, mielőtt felhasználhatóak lesznek.
Fordítás – A szkript fordításakor ellenőrzi a kódot, hogy van-e benne szintaktikai hiba, és ha a fordítás sikeres, egy a szkriptünkhöz tartozó bináris fájl kerül létrehozásra, hogy az végrehajtható legyen.
Ha a fordítási folyamat nem sikerül, a talált hibákat a Fordítás eredménye panelben látható.
Lent látható egy példa a sikertelen fordításra:
Telepítés – Egy szkript telepítéséhez először a fordítást kell elvégezni. Miután ez megtörtént, és létrejött egy zql fájl, telepítheti a szkriptet, és használhatja a ZuluTrade kereskedői állomásán!
Meta adatok – Az ablak jobb oldalán lehet kiegészíteni a szkript Meta adatait.
A Név mezőben található név jelenik meg, amikor a szkriptet egy grafikonhoz csatolja.
. A Fájlnév mezőben lévő fájlnéven tárolja a ZuluTrade szervere a szkriptet belső használatra. Nem kötelező megváltoztatni ezt a mezőt, de ha szeretné, akkor ne felejtse el, hogy .zql kiterjesztéssel kell végződnie.
A Leírás mezőbe egy rövid leírás kerülhet, amely akkor lesz látható, amikor a szkriptet egy grafikonhoz csatolja. A leírás segíthet emlékeztetni a szkript pontos funkciójára, ezért írjon ide minden részletet, amire szüksége lehet.
A szkriptek listája A Meta adatok mező alatt található az elmentett szkriptek listája. Minden újonnan létrehozott szkript automatikusan elmentésre kerül.
Az aktuálisan kiválasztott szkript (amelyiknek a kódja a szerkesztő panelen látható) ki van emelve.
Szkript törlése – Ha törölni szeretne egy szkriptet, kattintson a szkript neve melletti x ikonra, és erősítse meg a törlést a vonatkozó felugró ablakban.
Minta szkript – Nézze meg a minta zql szkriptet, amit felhasználhat tesztelésre:
#property copyright "Copyright © 2014, Zulutrade Inc"
#property link "www.zulutrade.com"
extern int BuyThreshold = 40;
extern int SellThreshold = 30;
extern double Lots = 1;
extern int MagicNumber = 33;
extern string comment = "by example script";
extern int maxOpenPositions = 3;
extern int shift = 1;
int RSILength = 14;
int TimeOfFirstBar = 0;
int init() {
}
int start() {
double RSI = 0.0;
if (isFirstTickOfCurrentBar()) {
RSI = iRSI(NULL, PERIOD_H1, RSILength, PRICE_CLOSE, shift);
Print("Got RSI value for period H1 and shift ", shift, " equals to ", RSI);
// Buy Condition
if ( RSI >= BuyThreshold && OrdersTotal() < maxOpenPositions) {
if (doBuy() == false) {
return (0);
}
}
// Close condition
if ( RSI <= SellThreshold && OrdersTotal() > 0) {
if(doClose() == false) {
return(0);
}
}
}
}
// Figures out the first tick of a new bar
bool isFirstTickOfCurrentBar() {
if (TimeOfFirstBar != Time[1]) {
TimeOfFirstBar = Time[1];
return (true);
}
return (false);
}
// Close an order checking magic number to make sure it is generated from current script
bool doClose() {
OrderSelect(0, SELECT_BY_POS, MODE_TRADES);
if (OrderClose( OrderTicket(), OrderLots(), Ask, 0, White) == -1) {
Print ("Failed to close trade ", OrderTicket(),", error # ", GetLastError());
return(false);
}
Print ("Successfully closed trade ", OrderTicket(),", error # ", GetLastError());
return(true);
}
// Open a new order
bool doBuy() {
int ticket = OrderSend( Symbol(), OP_BUY, Lots, Ask, 0, 0.0, 0.0, comment, MagicNumber, 0, Lime);
if (ticket < 0) {
Print ("Failed to open trade, error # ", GetLastError());
return (false);
}
Print ("Successfully opened ticket ", ticket);
return (true);
}
Ez a szkript minden ciklust bejegyez a nyitott pozíciók számával. Ha nincs nyitott, és egy bizonyos indikátor feltételei teljesednek, a szkript megnyit egy új pozíciót. Más esetben, ha sok a nyitott pozíció, bezár egyet.
MEGJEGYZÉS: Ez nem egy valós kereskedői stratégia, és csak bemutatási célt szolgál.
Ha valamikor új szkriptet kell létrehoznia, egyszerűen kattintson a Szkript létrehozása gombra, és kezdje újra a folyamatot.
Legjobb kereskedők
Egyéni indikátor létrehozása
Az Egyéni indikátorokat egy másik kereskedői szkriptben lehet létrehozni és használni, így kiterjesztve a nyelvben már elérhető technikai indikátorokat.
Az egyéni indikátorokat bármelyik ZuluScriptben fel lehet használni az iCustom() ZQL funkcióval, miután elvégezte a mentést, fordítást és telepítést az egyéni indikátorán.
Megjegyzés: Jelenleg nem tudunk a grafikonokon bemutatni egyéni indikátorokat.
Saját egyéni indikátora létrehozásához, kattintson az Indikátor létrehozása gombra a szkript szerkesztőben.
Figyeljen, hogy a szerkesztő az Egyéni indikátor fülön álljon:
Ezután végezheti egyéni indikátora szerkesztését, elnevezését, mentését és telepítését, amikor készen van!
A szerkesztés, elnevezés, mentés és telepítés hasonló módon működik a ZuluScripthez
Megjegyzés: Az indikátor nevét használja később az iCustom() funkció hívásakor, amikor el akarja érni a ZuluScriptjét.
Nézze meg a minta Egyéni indikátort, amelyet tesztelés céljából használhat.
Legjobb kereskedők
Fejléc létrehozása
Így határozhatja meg azokat az újra használható funkciókat, amelyeket bármelyik szkriptbe vagy egyéni indikátorba importálhat és felhasználhat.
A Fejlécek nem ZQL szkriptek, ezért nem szükséges hozzájuk egy init(), start() vagy deinit() funkció.
egy fejléc létrehozásához kattintson a Fejléc létrehozása gombra a Szkript szerkesztőben.
Figyeljen, hogy a szerkesztő a Fejléc fülön álljon:
Megjegyzés I: Az #include<> parancsban a fájlnevet kell használni azon a szkripten, amelyikre szüksége lesz a funkciók eléréséhez.
Megjegyzés II: A fejlécek csak elmentésre kerülnek. Nem szükséges a fordítás vagy a telepítés, mert a kód nem kerül fordításra és telepítésre, amikor egy szkriptbe vagy személyre szóló indikátorba importálják.
A fejléc felhasználása egy új szkriptben olyan egyszerű, mint a fejléc fájl beillesztése a következők szerint
#include "my_common_functions.zqh"
int init() {
}
int start() {
printMyBalance();
}
Legjobb kereskedők
Szójegyzék
A Szójegyzékben talál részletes információt a ZQL nyelv minden egyes parancsáról.
Egyszerűen kattintson a felül található betűkre, hogy végignézhesse a betűvel kezdődő bejegyzéseket. Ha a betűk fejlécére kattint, kinyithatja/bezárhatja a betűk funkcióit, és ha a funkció nevére/fejlécére kattint, kinyithatja/bezárhatja a funkció részleteit.
Legjobb kereskedők
Szkript használata a kereskedői számláján
Miután sikeresen elvégezte a szkript fordítását és telepítését, bezárhatja a Szkript szerkesztő ablakot, és csatolhatja a szkriptet egy grafikonhoz.
Ehhez a választott valutapárhoz és periódushoz kell mennie. Ebben a példában az EURUSD grafikonhoz H1 periódussal.
Kattintson a Kereskedői szkriptek fülre (a lenti képen kiemelve), és válassza ki a kívánt szkriptet.
Ha az egeret egy szkript fölött hagyja, megjelenik egy tipp a szkript leírásával.
A szkript elindításához a kiválasztott Grafikonon/Perióduson egyszerűen kattintson a szkript nevére, és megjelenik egy új ablak, benne a szkript leírása és a szkript külső változóinak inicializáló mezői, ha vannak.
Miután igény szerint beállította a paramétereket, kattintson a Start gombra, és csatolta is a szkriptet a grafikonhoz!
Megjegyzés: A szkript futni fog a grafikonon a ZuluTrade szerverekről, függetlenül attól, hogy az Ön számítógépe be van-e kapcsolva, és be van-e jelentkezve a számlájába.
Kereskedői szkriptek fül – Itt nézheti meg az éppen aktív kereskedői szkripteket mindegyik Grafikonon/Perióduson, a legutolsó frissítés futó verziójával és időpontjával.
Közvetlenül a Grafikonra is mehet, ahol a szkript fut a Grafikon ikon segítségével.
Üzenetek fül – Ebben a részben jelenik meg minden szkript üzenet, nyomtatási üzenet, a ZuluTrade-től a szkriptekkel kapcsolatban kapott üzenet stb.
Legjobb kereskedők
A szkript leállítása és a telepítés visszavonása
Bármikor leállíthat egy szkriptet, és visszavonhatja a telepítést
A szkript leállítása – Egy szkript futtatásának leállításához egy Grafikonon/Perióduson mindössze a Kereskedői szkriptek oldalra kell lépnie, az x gombra kattintani a leállítani kívánt szkript mellett, és megerősíteni a leállítást a vonatkozó felugró ablakban.
Megjegyzés: Egy szkript leállítása csak a Grafikonon/Perióduson való futását állítja le. A szkript ott marad a kereskedői számláján és a Kereskedői szkriptek között
A szkript telepítésének visszavonása – A szkript telepítésének visszavonásához a Kereskedői szkriptek oldalra kell lépnie, az x gombra kattintani a visszavonni kívánt szkript mellett, és megerősíteni a telepítés visszavonását a vonatkozó felugró ablakban.
Megjegyzés: Egy szkript telepítésének visszavonása csak a kereskedői számláján rendelkezésre álló szkriptek listájáról távolítja el a szkriptet, de nem törli azt a Szkript szerkesztő ablakból.
Legjobb kereskedők
ZQL Standalone Compiler Felhasználói kézikönyv
Ismerkedjen meg a ZQL Standalone Compiler-rel
A ZQL Standalone Compiler a ZQL Script összeállító önálló módozata, amit a zulutrade a webes platformján tesz elérhetővé. Bármilyen ZQL kompatibilis szkriptet (pl. mq4) .zl fájllá tud alakítani.
Letöltés
A ZQL Standalone Compiler terjesztése NatureForex oldaláról történik.
Az összeállító zip és tar formátumban elérhető.
Követelmények
- Java JDK 6 (javasoljuk a Java JDK 6 hotspot használatát)
Telepítés
Egyszerűen társítsa a kiválasztott letöltést a választott könyvtárhoz. A ZQL Standalone Compiler-t bármilyen operációs rendszerben feltelepíthető, amelyik támogatja a zip vagy tar formátumot. Amennyiben toábbi információra van szüksége, olvassa el a Kobocsátási információkat.
Gyors áttekintés
Most, hogy letöltötte a ZQL Standalone Compiler-t, a következő lépés az elrendezés megismerése, valamint az, hogy tanulmányozza az összeállító könyvtárszerkezetét, a kulcsfontosságú konfigurációs fájlokat, a naplófájlokat, stb.
Könyvtárszerkezet
Könyvtár |
Leírás |
lib/
|
Az összeállító könyvtár-kapcsolatait tartalmazza |
conf/
|
Létfontosságú konfigurációs fájlokat tartalmaz, amiket semmiféleképpen sem szabad megváltoztatni. |
run.bat
|
Futtató szkript Windows renszerű gépeken |
run.sh
|
Futtató szkript Linux/Unix rendszerű gépeken |
Compiler opciók
Paraméter neve
|
Paraméter rövid neve
|
Érték
|
Leírás
|
help |
h |
- |
Megjeleníti a súgó üzenetet a konzolon. |
class |
c |
Bármilyen sztring érték. |
A generált osztály neve |
package |
p |
Bármilyen sztring csomag útvonal formájában. |
A generált csomag neve |
output |
o |
Bármilyen sztring érték. |
Az összeállított kimeneti fájl neve kiterjesztés nélkül |
zqh |
z |
Bármilyen sztring, könytár elérési útvonal formájában (relatív vagy abszolút) |
Az egyedi zqh fájlok esetén mellékelje a könyvtár elérési útvonalat is. |
name |
n |
A kívánt szkript neve
A szóközöket Windows alatt " közé, Linuxban \" közé kell helyezni
|
A szkript neve, ami megjelenik a NatureForex rendszerbe való betöltés után |
description |
d |
A kívánt szkript leírása
A szóközöket Windows alatt " közé, Linuxban \" közé kell helyezni
|
A szkript leírása, ami megjelenik a NatureForex rendszerbe való betöltés után |
Példák
Egyedi haladó szkript összeállítása |
Kimenet |
run.bat -c MyCustomExpert -p org.test -o my_expert -n "My Expert" custom_expert.zql
|
my_expert.zl |
Egyedi haladó szkript összeállítása egyedi fejléc szkripttel (pl. fejléc könyvtárban) |
Kimenet |
run.bat -c MyCustomExpert -p org.test -o my_expert -n "My Expert" -z headers custom_expert.zql
|
my_expert.zl |
Legjobb kereskedők