Panduan Pembuatan ZuluScript

Terakhir dikemas kini pada

Pengenalan

ZuluTrade telah mewujudkan generasi baharu bagi skrip dagangan, yang membolehkan para Pedagang untuk membuat dan mengerahkan robot dan penunjuk dagangan mereka sendiri, secara terus melalui akaun Pedagang ZuluTrade mereka, tanpa memerlukan sebarang perisian luar atau pendaftaran pihak ke-3!
ZuluScripts dilaksanakan menggunakan Bahasa Pertanyaan ZuluTrade (zql) yang telah dibentuk untuk serasi dengan bahasa skrip yang paling biasa digunakan untuk pasaran Forex.

Untuk menggunakan ZuluScripts, anda perlukan akaun Pedagang dengan ZuluTrade + pilihan didayakan seperti yang ditunjukkan pada tab Tetapan, Tetapan Pautan Akaun Broker, bagi akaun anda.

Mengakses Editor Skrip Perdagangan ZuluTrade

Untuk mengakses Skrip Perdagangan ZuluTrade, sebaik sahaja anda mendaftar dengan ZuluTrade dan menghubungkan akaun anda dengan platform ZuluTrade+, anda perlu menavigasi ke Stesen Perdagangan ZuluTrade dan klik pada 'Skrip Perdagangan'.
Tetingkap pop timbul baharu bertajuk 'Klien Perdagangan' kemudiannya akan muncul .
Di bar sisi di sebelah kanan atas Editor Skrip, anda akan mendapati 4 tab berbeza yang menukarkan mod fungsi Editor Skrip.
Tab yang pertama akan menetapkan mod kepada pembuatan Skrip, tab yang kedua akan menetapkan mod kepada pembuatan Penunjuk Tersuai, tab yang ketiga menetapkan mod pembuatan Pengepala dan yang terakhir membawa kepada Glosari ZQL, yang anda boleh mendapatkan maklumat terperinci bagi setiap arahan Bahasa ZQL.

Atas

Membuat ZuluScript

Untuk membuat ZuluScript anda, anda perlu klik pada butang 'Buat Skrip' bagi Editor Skrip.

Selepas membuat skrip baharu, anak tetingkap editor akan diisi dengan templat kod zql - kod skrip perlu dimasukkan pada panel ini.


Di bawah editor dan di sebelah kanan terdapat tiga butang, yang akan membantu membuat ZuluScript anda - Simpan, Susun dan Kerahkan.


Simpan - Butang Simpan akan menyimpan skrip anda pada bila-bila masa, supaya sebarang perubahan dan perkembangan tidak hilang.

Walau bagaimanapun, menyimpan perubahan pada skrip tidak menunjukkan bahawa perubahan ini sedia untuk digunakan. Sebarang perubahan perlu Dikompil dan Diatur Kedudukan sebelum sedia untuk digunakan.

Susun - Menyusun skrip akan menyemak kod untuk ralat sintaks dan, jika pengkompilan itu berjaya, akan menghasilkan fail binari yang berkaitan dengan skrip kita supaya ia boleh dilaksanakan.
Jika proses pengkompilan gagal, ralat yang ditemui akan disenaraikan dalam panel 'Output Pengkompil'.

Sila lihat di bawah contoh pengkompilan yang tidak berjaya:
Kerahkan - Untuk Mengerahkan skrip, ia perlu terlebih dahulu dipenyusunankan. Sebaik sahaja ini telah dibuat dan fail .zql telah dibuat, anda boleh kemudian Mengerahkan skrip dan ia sedia untuk digunakan pada Stesen Perdagangan ZuluTrade anda!


Data Meta - Di sebelah kanan tetingkap Meta Data skrip anda boleh dipinda.
Medan 'Nama' ialah nama yang akan dipaparkan apabila melampirkan skrip pada carta.
Medan Filename ialah nama fail yang mana skrip akan disimpan secara dalaman dalam pelayan ZuluTrade. Ia bukan mandatori untuk menukar medan ini, tetapi jika anda ingin berbuat demikian, perlu diingat ia perlu berakhir dengan akhiran '.zql'.
Medan 'Penerangan' ialah penerangan ringkas yang akan kelihatan apabila skrip dilampirkan pada carta. Keterangan ini boleh membantu dalam mengingatkan anda tentang fungsi sebenar skrip, jadi sila huraikan sebarang maklumat yang anda perlukan dalam ruangan ini.

Senarai Skrip - Di bawah medan Data Meta, senarai semua skrip yang disimpan disediakan. Sila ambil perhatian bahawa setiap skrip baharu yang dibuat, akan disimpan secara automatik.
Skrip pilihan semasa (kod yang dipaparkan pada tetingkap editor) diserlahkan
Memadam skrip - Sekiranya, anda perlu memadam skrip, anda hanya perlu klik pada ikon 'x' bersebelahan nama skrip, dan mengesahkan pemadaman pada pop timbul berkaitan.
Contoh Skrip - Mari kita lihat contoh skrip zql, yang anda boleh gunakan untuk tujuan ujian:

#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);
}
Skrip ini menyemak dalam setiap kitaran untuk bilangan posisi terbuka. Jika tidak ada yang terbuka dan beberapa penunjuk syarat dipenuhi, skrip akan membuka posisi baharu. Sebaliknya, jika terdapat posisi terbuka, ia akan menutup salah satu.
NOTA: Ini bukanlah strategi perdagangan sebenar dan hanya untuk tujuan demonstrasi.

Jika pada bila-bila masa anda perlu untuk membuat skrip yang baharu, hanya klik pada butang 'Buat Skrip' dan mulakan proses ini sekali lagi.

Atas

Membuat Penunjuk Tersuai

Penunjuk Tersuai boleh dicipta dan digunakan dalam skrip perdagangan lain dengan memanjangkan penunjuk teknikal yang sudah tersedia dalam bahasa.Penunjuk Tersuai

boleh digunakan dalam mana-mana ZuluScript yang menggunakan iCustom() fungsi ZQL selepas disimpan, dipenyusunan dan diletak atur penunjuk suai anda.

Nota: Buat masa ini, kita tidak boleh menyerahkan Penunjuk Tersuai pada carta.


Untuk mencipta Penunjuk Tersuai, anda perlu klik pada butang 'Buat Penunjuk' pada Editor Skrip.

Sila pastikan Editor dialihkan ke Tab Penunjuk Tersuai:

Anda kemudian perlu Edit, Namakan, Simpan dan Letak Atur penunjuk tersuai anda apabila bersedia!

Edit, Namakan, Simpan dan Letak Atur kerja-kerja dengan cara yang sama untuk ZuluScripts
Nota: Nama penunjuk akan digunakan kemudiannya memanggil fungsi iCustom() untuk mengaksesnya di ZuluScripts anda.


Mari lihat contoh penunjuk Tersuai, yang boleh anda gunakan untuk tujuan ujian:

extern int index = 0;
int MODE = 0;
int init() {
return(0);
}
int start() {
double value = iCustom(NULL, NULL, "my_new_indicator", 0, index);

Print("my_new_indicator value for bar ", index, " is ", value);
}

Atas

Membuat Pengepala

Di sini anda boleh mentakrifkan fungs boleh guna semula yang boleh diimport dan digunakan oleh sebarang Skrip atau Penunjuk Tersuai.

Sila ambil perhatian bahawa Pengepala bukan skrip ZQL jadi ia tidak memerlukan fungsi init(), mula() atau deinit().


Untuk membuat Pengepala, anda perlu klik pada butang 'Buat Pengepala' daripada Editor Skrip.

Sila pastikan Editor ditukarkan ke Tab Pengepala:
Nota I: Ini merupakan nama fail yang perlu digunakan di dalam #include<> arahan pada skrip yang anda perlukan untuk mengakses fungsi.

Nota II: Pengepala hanya disimpan. Penyusunan atau pengerahan adalah tidak perlu kerana kod akan disusun dan dikerahkan apabila diimport oleh Skrip atau Penunjuk Tersuai.



Dengan menggunakan pengepala pada Skrip baharu adalah semudah seperti memasukkan fail pengepala seperti berikut

#include "my_common_functions.zqh"

int init() {
}

int start() {
printMyBalance();
}

Atas

Glosari

Di dalam Glosari, anda boleh mencari maklumat yang terperinci bagi setiap arahan bahasa ZQL.

Hanya klik pada huruf di atas untuk skrol automatik ke senarai huruf. Serta, dengan mengklik pada pengepala senarai huruf, anda boleh mengembangkan/meruntuhkan fungsi setiap huruf dan dengan mengklik pada nama fungsi/pengepala anda boleh mengembangkan/meruntuhkan fungsi butiran.

Atas

Menggunakan skrip pada akaun Pedagang anda

Setelah skrip berjaya disusun dan dikerahkan, anda boleh tutup tetingkap Editor Skrip dan lampirkan Skrip pada carta.

Untuk melakukannya, anda perlu menavigasi ke pasangan mata wang dan tempoh pilihan anda. Untuk contoh ini, pada carta EURUSD dengan tempoh H1.

Klik pada butang Skrip Perdagangan (diserlahkan dalam syot layar di bawah) dan pilih skrip pilihan anda.

Jika anda halakan tetikus di atas skrip, tooltip akan kelihatan yang mengandungi penerangan Skrip.


Untuk memulakan skrip pada Carta/Tempoh yang dipilih, hanya klik pada nama skrip tersebut dan tetingkap baharu akan muncul, mengandungi penerangan skrip serta sebarang medan permulaan untuk pembolehubah luar skrip.


Dengan menyesuaikan parameter mengikut keperluan anda, kemudian, anda perlu klik pada butang 'Mula' dan skrip akan dilampirkan pada carta!

Nota: Skrip akan berjalan pada carta ini dari pelayan ZuluTrade, tanpa mengira sama ada komputer anda dihidupkan atau sama ada anda melog masuk ke akaun anda atau tidak.

Tab Skrip Perdagangan - Di sini anda boleh menyemak semula semua skrip perdagangan yang sedang aktif pada setiap Carta/Tempoh, bersama-sama dengan versi operasi dan masa kemas kini yang terakhir.

Anda juga boleh menavigasi terus ke Carta di mana skrip sedang berjalan melalui Ikon Carta.


Tab Mesej - Sebarang mesej dari Skrip anda, cetakan, mesej daripada ZuluTrade berkenaan skrip anda dan lain-lain akan muncul di bahagian ini.

Atas

Hentikan dan Nyahkerahkan Skrip

Anda boleh Hentikan dan Nyahkerahkan Skrip pada bila-bila masa


Menghentikan Skrip - Bagi menghentikan skrip daripada berjalan pada Carta/Tempoh, anda perlu menavigasi ke tab 'Skrip Perdagangan', klik pada butang 'x' di sebelah kanan skrip yang anda ingin Hentikan dan mengesahkan Pemberhentian pada pop timbul berkaitan.

Nota: Menghentikan skrip, akan hanya menghentikannya daripada berjalan pada Carta/Tempoh. Skrip akan kekal pada akaun Pedagang dan Skrip Pedagangan anda


Menyahkerahkan Skrip - untuk menyahkerahkan skrip, anda perlu menavigasi ke Bahagian Skrip Perdagangan, klik pada butang 'x' berhampiran namanya dan mengesahkan Nyahkerahkan pada pop timbul berkaitan.

Nota: Nyah kerahkan skrip akan hanya mengeluarkannya daripada senarai skrip yang tersedia pada Akaun Pedagang anda, ia tidak akan memadamkan skrip dari tetingkap Editor Skrip.

Atas

Panduan Pengguna ZQL Standalone Compiler

Untuk bermula dengan ZQL Standalone Compiler

ZQL Standalone Compiler adalah pengkompil Skrip ZQL yang ditawarkan zulutrade dalam platform webnya. Ia akan mengkompil mana-mana skrip yang serasi dengan ZQL (cth. mq4) kepada fail .zl.

Muat Turun

ZQL Standalone Compiler diagihkan dari tapak ZuluTrade.

Pengkompil tersedia dalam format fail zip atau tar.

MD5 SHA1
zql-standalone-compiler-stable.zip zql-standalone-compiler-stable.zip.md5 zql-standalone-compiler-stable.zip.sha1
zql-standalone-compiler-stable.tar.bz2 zql-standalone-compiler-stable.tar.bz2.md5 zql-standalone-compiler-stable.tar.bz2.sha1

Keperluan

  • Java JDK 6 (kami mengesyorkan anda menggunakan hotspot Java JDK 6)

Pemasangan

Hanya ekstrak muat turun yang dipilih ke direktori pilihan anda. Anda boleh memasang ZQL Standalone Compiler di mana-mana sistem pengendalian yang menyokong format zip atau tar. Rujuk Nota Keluaran untuk maklumat tambahan berkaitan keluaran.

Panduan Cepat

Kini anda telah memuat turun ZQL Standalone Compiler, perkara seterusnya yang perlu dibincangkan ialah tataletak pengagihan dan menjelajah struktur direktori pengkompil, fail konfigurasi utama, fail log dan seterusnya.

Struktur Direktori
Direktori Huraian
lib/
Mengandungi sandaran pustaka pengkompil.
conf/
Mengandungi fail konfigurasi penting yang tidak boleh diubah dalam apa jua cara.
run.bat
Jalankan skrip untuk mesin Windows.
run.sh
Jalankan skrip untuk mesin Linux/Unix.
Opsyen Pengkompil
Nama Parameter
Nama Pendek Parameter
nilai
Huraian
help h - Mencetak mesej bantuan ke konsol.
class c Sebarang nilai rentetan Nama kelas yang dijana.
package p Sebarang rentetan dalam bentuk laluan pakej Nama pakej yang dijana
output o Sebarang nilai rentetan Nama fail output yang dikompil tanpa sambungan
zqh z Sebarang rentetan dalam bentuk laluan direktori (relatif atau mutlak) Termasuk laluan direktori dengan fail zqh tersuai
name n

Nama skrip yang dikehendaki

jika anda ada ruang pastikan anda meletakkannya antara " dalam Windows dan \" dalam Linux

Nama skrip yang ditunjukkan selepas dimuatkan dalam sistem ZuluTrade
description d

Perihalan skrip yang dikehendaki

jika anda ada ruang pastikan anda meletakkannya antara " dalam Windows dan \" dalam Linux

Perihalan skrip yang ditunjukkan selepas dimuatkan dalam sistem ZuluTrade
Contoh
Compile a custom expert script Output
run.bat -c MyCustomExpert -p org.test -o my_expert -n "My Expert" custom_expert.zql
my_expert.zl
Compile a custom expert script with a custom header script (e.g. in headers directory) Output
run.bat -c MyCustomExpert -p org.test -o my_expert -n "My Expert" -z headers custom_expert.zql
my_expert.zl
Atas