Kaip testuoti robotus su 99% kokybe – lengvai, nemokamai, legaliai

Sveiki, mielieji skaitytojai, Forex prekiautojai!

Kaip žinoma, Forex robotų testavimui (ypač skalperių, pipsuotojų, jautrių indikatorinių robotų) geriausi testai yra su 99% kokybės modeliavimu, tai yra naudojant momentinius (tikų) duomenis iš trečiųjų šaltinių. Anksčiau mes jau esame kalbėję, kaip testuoti robotus su puikia programa Tickstory. Tačiau, dėl naujųjų Metatrader 4 versijų ir pasikeitimų licencinėje Tickstory politikoje, nemokamai to daryti nebeįmanoma.

Šiame straipsnyje mes mes pakalbėsime, kaip testuoti Forex robotus daug paprasčiau ir efektyviau, ir be abejo, su 99% modeliavimo kokybe. Viskas ko reikia – terminalas, keletas įrankių ir galva ant pečių.

Kas atsitiko su Tickstory Lite?

Problema iškilo ten, kur jos mažiausiai buvo laukta: Tickstory Lite tapo komercinis produktas. Apsilankę puslapyje https://tickstory.com/download-tickstory/ mes matome tokį vaizdą:

Tai yra, nemokamai programą mes galime naudoti tik iki 765-tos Build MT4 versijos, tuo tarpu kai paskutinės terminalo versijos seniai jau perkirto tūkstančio numeraciją.

Ką gi daryti, jei ne visi nori mokėti 35$ už licenciją? Ieškoti internete senųjų terminalo versijų? Naudotis hakerių paslaugomis? Ne, tam nėra būtinybės: naujos Metatrader 4 Build versijos ir keletas nemokamų programėlių gali visiškai pakeisti Jums Tickstory Lite.

Kuo geri ir kuo blogi nauji MT4 Build’ai?

Bloga naujiena: MT4 terminale iki šiol nėra momentinės (tikų) kotiruočių istorijos.

Gera naujiena: mes galime atsisiųsti šalutinės momentines (tikų) kotiruotes, sukonvertuoti jas atitinkamu formatu ir prijungti prie testerio.

Kodėl mes taip nedarėme anksčiau? Todėl, kad ankstesnėse MT4 versijose nebuvo galima imti ir naudoti šalutinius failus: juos terminalas bandydavo perrašyti atsiųstomis brokerių kotiruotėmis ir emuliuodavo momentinių kotiruočių reikšmes iš naujo. Reikėdavo papildomai „prijaukinti“ MT4 failus, ką būtent ir darė programa Tickstory Lite. Tačiau naujuose build’uose terminalas nebegadina failų, o tai leidžia mums sutaupyti ant mokamų programų.

Ko prireiks testuotojui?

1. Pačio terminalo Metatrader 4, kurį galima reikia atsisiųsti iš Jūsų brokerio puslapio ir jį įsidiegti.

2. Programos momentinių kotiruočių atsisiuntimui iš Dukascopy StrategyQuant Tick Data Downloader, kuria rasite šiuo adresu: http://www.strategyquant.com/tickdownloader/

Patarimas: ieškokite žaliojo „Download“ mygtuko, spauskite jį, įveskite vardą ir el. paštą, į kurį ateis patvirtinimo laiškas. Paspaudę nuorodą, rinkitės 32 bitų versiją, kaip stabiliausią testavimo darbui.

3. Skriptas CSV2FXT https://eareview.net/download/csv2fxt_v0.50.zip

Darbo pradžia

  1. Įdiegiame Metatrader 4 kaip įprastai, registruojame demo sąskaitą ir įkeliame skriptą CSV2FXT  į terminalo MQL4 duomenų katalogą. Uždarome Metatrader 4.
  2. Įdiegiame programą StrategyQuant Tick Data Downloader.

Bendrų parametrų nustatymas

Programa StrategyQuant Tick Data Downloader yra nemokama ir jos nustatymuose yra kai kurie punktai, kurie mūsų testavimui nereikalingi, todėl joje apžvelgsime tik mums reikalingus veiksmus.

Iš pradžių nustatysime bendruosius programos parametrus.

Spaudžiame mygtuką Configure ir uždedame varnelę ant Automatic export to CSV. Taip pat, meniu punkte Change Timezone galima pakeisti gaunamų kotiruočių laiko juostą. Einamoji programos versija sukuria du išeitinius kotiruočių CSV failus: vieną be laiko poslinkio, o kitą su poslinkiu, kurį mes nurodėme nustatymuose. Labiausiai patogu naudoti failą be laiko poslinkio.

Momentinių kotiruočių atsisiuntimas

Dabar pasirenkame valiutų porą ir datos (istorijos) diapazoną. Kaip pavyzdį, paimsime valiutų porą EURUSD (pažymime varnele) ir 1 mėnesio diapazoną – spaudžiame Change download range.

Toliau pasirenkame vietą, kur išsaugosime CSV failus. Spaudžiame Settings.

Pagal nutylėjimą programa siūlo įrašyti failus į aplanką, kuris įdiegtas programos StrategyQuant Tick Data Downloader, direktorijoje tickdata. Galima nurodyti ir kitą aplanką. Kad išsaugoti, spaudžiame Save.

Tam, kad pradėti siųsti kotiruotes, spaudžiame Start Download.

Kai kotiruotės atsisiuntė, mes gauname du failus:

EURUSD_tick.csv ir EURUSD_tick_UTC+0_00.csv.

Patarimas: Mūsų testavimams pilnai pakaks pirmojo iš šių failo. Todėl jeigu failų dydžiai labai dideli, o kompiuteryje mažai vietos, tai atsisiuntus pirmąjį, galima sustabdyti programą ir ištrinti antrąjį failą.

Konvertuojame kotiruotes į Metatrader 4 formatą

1. Perkeliame kotiruočių failą .csv (mūsų atveju tai failas EURUSD_tick.csv) į terminalo aplanką MQL4/Files. Patogumui galima jį pervardinti į EURUSD.csv;

2. Paleidžiame terminalą MT4 iš naujo;

3. Atsidarome mums reikalingos poros grafiką (EURUSD), pasirenkame mums reikalingą laiko intervalą;

4. Paleidžiame skriptą CVS2FXT.

  • CVS2FXT version — skripto versija;
  • CVS filename  — failo pavadinimas su kotiruotėmis. Jeigu pavadinimas sutampa su valiutų poros pavadinimu (pavyzdžiui EURUSD.cvs ir EURUSD pora terminale, tai laukelį galima palikti tuščią, kitu atveju būtina įrašyti tikslų pavadinimą. Platesnis paaiškinimas straipsnio pabaigoje;
  • Create HST — kurti HST failus – paliekame true. Tai failai, kuriuose MT4 saugo kotiruočių istoriją;
  • All spreads and comissions in pips  — visa spredų ir komisijų suma pipsais. Testavimui galima palikti „nulio“ reikšmę;
  • Spreadspredas, testavimui galima palikti „nulio“ reikšmę;
  • Date range infoinformacija apie datų diapazoną;
  • Start date/ End Date — tikų konvertacijos datų pradžia ir pabaiga. Jeigu nustatymų nekeisti, skriptas tiesiog sukonvertuos viską, kas bus užduotame faile;
  • Use real (variable spread) — naudoti realų spredą. Mūsų atveju, spredo dydį mes nustatysime pačiame testeryje, todėl paliekame false;
  • Spread padding — fiksuotas papildomas brokerio spredas (broker’s markup), testavimui galima palikti „nulio“ reikšmę;
  • Minimum spread  — minimali spredo reikšmė sukonvertuotame faile, testavimui galima palikti „nulio“ reikšmę;
  • Comission infoinformacija apie komisijas;
  • Comission in pips — komisija pipsais, testavimui galima palikti „nulio“ reikšmę;
  • Commission in accoun currency — komisija sąskaitos valiuta, testavimui galima palikti „nulio“ reikšmę;
  • Leveragekreditinis petys, galima palikti automatic;
  • FXT GMT and DST info — informacija apie GMT poslinkio nustatymus ir vasaros laiką ( DST = daylight saving time — šviesus paros laikas, t.y. vasaros laikas);
  • FXT GMT offset — GMT laiko poslinkis failuose FXT;
  • FXT DST setting  — vasaros laiko pasirinkimas failuose FXT priklausomai nuo brokerio;
  • CSV GMT and DST info — informacija apie GMT poslinkio ir vasaros laiko nustatymus kotiruočių faile (.csv formate);
  • CSV GMT offset — GMT poslinkis kotiruočių faile .csv, testavimui galima palikti «autodetect»;
  • CSV DST setting — vasaros laiko parametrai kotiruočių faile .csv testavimui galima palikti «autodetect»;
  • Remove duplicate ticks — panaikinti besidubliuojančias kotiruočių reikšmes;
  • Create M1 FXT, Create M5 FXT, Create M15 FXT, Create M30 FXT, Create H1 FXT, Create H4 FXT, Create D1 FXT, Create W1 FXT, Create MN FXT — šie parametrai suteikia galimybę kurti keletą FXT failų įvairiems laiko intervalams vienu metu. Pagal nutylėjimą skriptas sukuria FXT failus tik tam laiko intervalui, kuriam jis paleistas;
  • Time shift info — poslinkio naudojimas laiku;
  • Time shift — naudoti laiko poslinkį, taip/ne. Jei true, visos datos testerio faile FXT perrašomos 28 metams atgal. Jeigu kažkoks robotas turi blokavimą testavimo metu tam tikromis datomis (kad paslėpti kai kuriuos rezultatus), tai testų palyginimas paprastame laike ir kotiruočių, su poslinkiu 28 metams, leis parodyti skirtingus rezultatus ir padės išryškinti apgaules, jei jos buvo;
  • Price multiplication factor — multiplikatorius, visos kotiruotės po konvertacijos dauginamos į šias reikšmes. Paprastoms Forex kotiruotėms ši reikšmė lygi 1.0, tačiau yra brokeriai, kurie tam tikriems finansiniams instrumentas, tokiems kaip CFD, indeksai, metalai ir pan., taiko dydžius, padaugintus iš tam tikros reikšmės.

Pabaigai

Spaudžiame OK ir stebime procesą. Skriptas paklaus mūsų sutikimo dėl failo perkėlimo (sutinkame) ir pasiūlys restartuoti MT4. Paleidžiame terminalą iš naujo ir viskas – galima testuoti robotus!

Strategijų testeryje nustatome valiutų porą ir laiko intervalą, kuriam buvo sugeneruotos kotiruotės, užduodame testavimo periodą, atitinkantį kotiruočių datoms, nustatome adekvatų spredą.

…ir pirmyn!

Tam kartui tiek. Sėkmingų Jums testų!

Pagarbiai, Mykolas

Spekuliantas.com

P.S. Jeigu kažkas ne taip…

Dažnas atvejis, kai paleidžiant CSV2FXT skriptą, iššoka pranešimas „Can’t open input file GBPJPY.csv“…

Tai reiškia, kad skriptas nemato Jūsų įkelto kotiruočių failo. Atkreipkite dėmesį, kad teisinga failo vieta yra MQL4/Files kataloge (reikia eiti per MT4 terminalą, spausti Failas> Atidaryti duomenų katalogą ir patikrinti, ar failas ten yra).

Kita priežastis – blogai įrašytas kotiruočių failo pavadinimas, pvz., jeigu mes sugeneravome failą GBPUSD_tick.csv, tai lygiai tokį patį pavadinimą įrašome nustatymuose:

Jeigu viskas gerai, pamatysime kotiruočių siuntimo į terminalą procentus:

Print Friendly, PDF & Email