Lemmik Postitused

Toimetaja Valik - 2020

100% kvaliteediga ajalooliste andmete ettevalmistamine testimisstrateegiate ja nõustajate jaoks

Finantsturgudel kauplemise valdkonnas on ilma testide ja optimeerimise jaoks vajalike kvaliteediandmeteta võimatu teha järeldust konkreetse meetodi või süsteemi toimimisest või sobimatusest. Tõeliselt kasumlike kauplemissüsteemide arendamiseks vajab kaupleja kindlasti vähemalt kvaliteetseid varasemate hindade andmeid huvipakkuvate valuutapaaride kohta.

Reeglina on enamiku maaklerite puhul hinnapakkumiste kvaliteet vahemikus 90 kuni 96%. MT4 terminal pole eriti täpne tööriist, seega pole 4-10% suurema ebatäpsuse lisamine meie valik. Meie valik on 100% kvaliteediga hinnapakkumised. Kust ja kuidas neid hankida, kuidas töödelda ja tagada garanteeritud kvaliteetne tulemus - meie tänases materjalis.

Ajalooliste andmete liigid

Ajalooliste andmete peamine tüüp, ilma milleta neid lihtsalt kontrollida ei saa, on muidugi hinnaandmed. Ajaloolisi andmeid hinna kohta saab erinevate perioodide kohta ja erinevatest allikatest. Kõige tavalisemad on päeva-, minuti- ja linnukeste graafikud. Reeglina on ajalugu kõige sügavamalt päevakaartide jaoks - seda saab hankida alates 1971. aastast (MetaTrader terminal ei toeta pikemat ajalugu). Minutite andmed pärinevad reeglina maksimaalselt aastatest 1999–1998 ja puugid ei esine tavaliselt varem kui aastatel 2004–2007.

Reeglina on mis tahes perioodi kohta järgmised andmed: küünla kuupäev, kellaaeg, avatud hind, kõrgeim hind, madalaim hind, sulgemishind ja puugi maht. Mõnes tsitaadiallikas ei pruugi linnukete maht saadaval olla. Samuti ei näita D1 ja kõrgema perioodi kohta küünla avanemise aega sageli ega maksimaalset ja miinimumhinda. Märkimishinnad erinevad teatud perioodil teisendatud noteeringutest. Sellistest hinnapakkumistest leiate kuupäeva, kellaaja täpsusega sekundites, küsi ja pakkumise hindu.

Lisaks hinnale võib mõnikord vaja minna mõnda konkreetset teavet - näiteks makromajanduslike näitajate väljundi kohta, näiteks inflatsioonimäär, eluasemehinnad või töötuse andmed teatud riikides, aga ka veelgi täpsemaid andmeid, näiteks päikese aktiivsus või kauplejate arvamused konkreetse instrumendi kohta.

Ajavahemiku andmed

Andmeid saab kasutada loomulikus ajaraamistikus või arvutada ümber muule ajavahemikule. Sõltuvalt strateegiast võib teil vaja minna erinevaid ajakavasid, alates M1 või isegi puukidest kuni D1 või MN1. Lühikeste ajavahemike andmete abil saate andmeid hõlpsalt pikemaks muuta, kuid mitte vastupidi. Näiteks saame perioodi M1 andmetest hõlpsasti nii M5 kui ka H1 ja D1. Sellepärast on oluline omada kvaliteetset andmebaasi, kus oleks täpselt M1 noteeringud.

Kuid M1 pole väikseim skaala, sest seal on ka puukide andmeid. Puuk ei ole püsiv ajaühik, mõnikord on puugid väga sagedased, eriti uudisteväljaannete ajal, ja mõnikord, näiteks öösel, on üksteise vahel suured ajavahemikud. Märkide ajalugu on vajalik peamiselt uudiste nõustajate, hft-strateegiate (mida MT4 või MT5 platvormil pole üldse võimalik kasutada) ning nõustajate jaoks, kes kasutavad erinevaid arvutusi küünalde sees.

Kuid selliste nõustajate jaoks on maaklerite mõju liiga suur, nagu ma selles artiklis kirjutasin. Kui nõustaja ei punkti pool punkti, siis pole seda vaja puukide andmete osas testida - see on väga pikk ja ressursimahukas. Lisaks pole võrgust leitavad tasuta linnuandmed parima kvaliteediga ja mitte liiga pika aja jooksul ning tasulised maksavad päris korralikku raha - pole kaugeltki fakt, et sellised investeeringud tasuvad end üldse ära.

Seetõttu ei tohiks te ülitäpsust jälitada, strateegiatester ise annab ikkagi vea, mis välistab kõik pingutused. Parem on varuda minutilise ajaraami, igapäevase ajakava ja mitmesuguste konkreetsete andmete kvaliteediga seotud ajalugu - te ei saa kunagi kindel olla, mis sellest kasu tuleb ja mis mitte.

Kui palju andmeid vajate? Mida rohkem, seda parem. Fakt on see, et mida rohkem on testis tehinguid, seda väiksem on “sobitumise” risk, seda statistiliselt olulisem on tulemus ja seda suurem on tõenäosus, et teie süsteem töötab tulevikus samamoodi nagu varem. Seetõttu on äärmiselt soovitatav kasutada kogu olemasolevat ajalugu.

Ajakava valik

Tööks kasutatava ajaraami osas on see maitse küsimus. Töötades madalatel perioodidel nagu M5 või M15, võtab testimine palju aega, peale selle on sellised süsteemid väga nõudlikud hinnapakkumiste kvaliteedile, need sõltuvad suuresti maakleritest ja lõpptulemust mõjutavad rahulikult sellised kulud nagu levik, vahetused, libisemine, komisjonitasud.

Teisalt on selliste süsteemidega kauplemine dünaamilisem, sest nendega saab päevas teha kümneid tehinguid. Suhteliselt lühikeste peatuste tõttu pääseb ainult sissemaksega 100 USD. Seetõttu on hoiuste kasv tavaliselt kiirem kui pikaajaliste süsteemide puhul. Kuigi see on sageli lühem - mida madalam on süsteemi periood, seda enam osutub see reeglina vähem stabiilseks.

Kõrgetel perioodidel töötades on süsteemid vastupidi stabiilsemad ja visad, sõltuvad nõrgalt maaklerist ja kauplemiskuludest, pole kuigi nõudlikud hinnapakkumiste kvaliteedile ja teste saab teha väga kiiresti. Sellegipoolest on hoiuse kasv üsna pikk, kuna iga tehing võib kesta nädalaid.

Teine probleem - pikaajaliste süsteemide jaoks on vaja piisavalt suurt hulka ajaloolisi andmeid. Lisaks on samades päevakaartides isegi ATR-i kahe jalaga peatused mõnikord üsna suured ja 2000 dollarist ei pruugi raha korraliku haldamise tagamiseks piisata. Lisaks kasutavad nad kõrgete ajakavadega töötades reeglina tootluskõvera silumiseks süsteemiportfelle. Sellegipoolest on psühholoogiliselt kümnete avatud tehingute talumine nädalate kaupa kas üles või alla riputamine on üsna keeruline.

Ajakava valimine on endiselt iga kaupleja isiklik asi. Mõnel neist on oma plussid ja miinused, nii et lihtsalt otsustage, mis teid rohkem häirib.

Ajalooliste andmete kvaliteet

Üks levinumaid põhjuseid valede tulemuste saamiseks ekspertnõustaja testimisel MetaTrader 4 terminali strateegiatestil on ajalooliste tsitaatide terviklikkuse probleem. Erinevatel põhjustel võib terminalis saadaolevate hindade ajaloos esineda nn auke, mis põhjustavad hinnavoolu lünki, millel pole tegelikkusega mingit pistmist. Ütlematagi selge, et nõustajat selliste hinnapakkumiste peal testida pole eriti mõtet?

Halvad andmed võivad viia mis tahes süsteemianalüüsi täieliku kaose seisundini, anda seisvatele süsteemidele kahjumlikke järeldusi või, mis veelgi hullem, anda rohelise tule süsteemidele, mis pole seda väärt. Seetõttu tasub ajaloolistele andmetele läheneda kogu vastutusega - see on alus, millele tulevikus kogu teie kaubandus rajatakse. Halb ajalooline alus võib süstemaatiliselt põhjustada vigu ja selle tulemusel palju aega ja raha kaotada. Te ei saa aru, milles on probleem ja miks teie testid tegevad süsteemid ei taha reaalses elus töötada.

Andmevead võivad esineda mitmel erineval kujul. Üsna sageli leidub kauplemisel selgelt ekslike hindadega puuke, mis on lihtsalt võimatud. Näiteks sekundi hind tõuseb taevasse ja siis järgmise sekundi jooksul tuleb tagasi. See on niinimetatud juuksenõel, millega peaaegu kõik maaklerid patustasid alles mõni aasta tagasi. Selline viga võib viia kokkuleppeni, mis toob kaasa tohutu kasumi või kahjumi. Ja kui andmetes on palju selliseid nööpnõelu, siis on mis tahes süsteemi test tegelikkusest kaugel. See kehtib eriti erinevate võrestikastrateegiate testide kohta, kus juuksenõel on garanteeritud hoiuste äravool ja selle tulemusel test ei läbi filtrit.

Levinumad ja vähem märgatavad on tavalised väikesed vead hinnatasemes. Näiteks sulgemishinna 1,4378 asemel on meil hind 1,4387. Loomulikult on sellist viga raske märgata, eriti kui see on ajaliselt liiga pikk. Õnneks ei mõjuta need enamasti testi tulemusi suuresti, kuigi on ka erandeid. Seetõttu tasub kõige usaldusväärsemate hindade saamiseks vaadata mitmete erinevate tarnijate hinnapakkumisi.

Noh, kõige tavalisem viga on andmete vahelejätmine. Lihtsalt mingil põhjusel ei registreerita andmebaasis teatud ajavahemikku, moodustades tsitaadipausid. Kõige sagedamini ilmneb see probleem pühade ajal, aastavahetusel ja öösel. Mida auklikum on graafik, seda vähem on testides reaalsust. Selle probleemiga tegeldakse ka muudest allikatest pärit lünkade täitmisega.

Nagu juba aru saite, toimib nõustajate testimisel kvaliteetsete tsitaatide arhiivi loomise küsimus number üks. Kuid kahjuks pole MT4 terminalil sisseehitatud tööriistu ajalooliste andmete terviklikkuse kontrollimiseks, seega peate platvormi varustamisel kasutama abivahendeid, mis täidavad selle tüütu tühiku.

Millised peaksid minu arvates olema kvaliteetsed ajaloolised andmed?

Kvalitatiivsed ajaloolised andmed on moodustatud perioodi M1 tulbadest. Kõik ülaltoodud viib meid nõustaja käitumise reprodutseerimise täpsusest kaugemale. Hinnapakkumiste ajaloo kujundamisel on kõige parem kasutada M1-noteeringuid. Veelgi enam, ideaaljuhul on nõustajate testimine kõige parem M1 hinnapakkumistel. Sel juhul peate veenduma, et perioodid on nõustaja koodis endas fikseeritud ja vaikimisi perioodi (Periood ()) pole määratud, vastasel juhul ei saa te tulemusi, millele arvestasite, kuna algoritm ei tööta plaanipäraselt.

Samuti tasub meeles pidada, et nõustaja on lihtsalt kohustatud küünla avamisel täpselt töötama. Selleks on reeglina nõuandekoodis ette nähtud erifunktsioon, mis lubab kaubelda vaid siis, kui avaneb uus ajakava uus küünlajalg. Usaldusväärsete testide tegemiseks, mitte küünla sulgemisega, vajate kvaliteetseid puuke ja spetsiaalset tarkvara, mis võimaldab teil selliseid katseid läbi viia. Kui teil seda pole, leiutab terminal ise küünlate sees toimuva. Saate aru - ta suudab midagi leiutada.

Sellistel andmetel pole olulisi tõrkeid, see tähendab nn auke. See sõltub peamiselt hinnapakkumiste pakkujast - kui sujuvalt töötasid ajaloolisi andmeid säilitavad seadmed.

Sellistes tsitaatides puudub üks või mitu riba. Ideaalis peaksid teil olema 100% täielikud hinnapakkumised (mitte segi ajada modelleerimise kvaliteediga). Minutite noteeringute ajaloo 100% -line täielikkus on minu arvates vajalik, kuna hilisemad ajaraamid moodustuvad minutist ja mõne minutriba puudumine tekitab lõppkokkuvõttes kõrgemate ajakavade “kõverad” ribad.

Tahan kohe märkida, et vähestel DC-del on oma pikk avalike pakkumiste ajalugu, eriti seoses väikeste ajakavade tsitaatidega. Selles artiklis rääkisime sellest, kust saada ajaloolisi andmeid.

Aukuanalüüs tsitaatide ajaloo kohta

Skript history_data_analysis aitab teil teada saada graafiku kvaliteeti.

See kood tuvastab puuduvad ribad ("augud") ja lüngad (suured augud) ajaloo andmetes, määrab nende suuruse, kestuse ja lünga. See töötab kõigi instrumentide puhul ja on mõeldud päevasisesteks graafikuteks, seega on ajakava piiratud H4 perioodiga.

Analüüs võtab arvesse ainult nädalavahetusi (laupäev ja pühapäev - 48 tundi), ülejäänud hetki, mille kood arvestab aukude või tühikutega. Diagrammil töötamise mugavuse tagamiseks pakub kood filtri, kus saate ajakavades määrata puuduvate ribade arvu (M1,5,15,30), mida kood aukudena ignoreerib, puuduvate ribade arvu (minimaalne väärtus), mida kood loeks tühimikuks ( vaikimisi 20 riba) ning puuduvate punktide arv, mida kood tühikuna eirab. Pärast skripti käitamist ja selle töö lõpetamist näete sõnumit:

Näiteks testisin EURUSD Alpari paari hinnapakkumiste kvaliteeti:

Noh, näiteks teeme sama testi Dukascopy EURUSD M1 tsitaatide jaoks:

Nagu näete, on Dukascopy andmete kasutamine testimiseks kõige parem - hinnapakkumiste üldine kvaliteet on siin umbes 99,55%. Ainult 0,45% läbisõitudest ja lünkadest, väga hea tulemus. Sellegipoolest on meil endiselt 4662 tühimikku - peaaegu kakskümmend viis tuhat riba ja koguni 39 740 punkti on puudu. Ja seetõttu - kõige usaldusväärsemate testide jaoks tuleb see probleem lahendada.

Pakkumiste kvaliteedi tõstmine 100% -ni

1. Soovitan kasutada tsitaatide ajaloo jaoks Ducaskopy andmeid, nendes on vähe auke ja siis tuleb neid vähem “lappida”. Selleks võite kasutada mis tahes abiprogrammi, mis laadib Ducaskopy puugid alla. Soovitan Tickstory Lite'i.

2. Pärast puukide allalaadimist programmis Tickstory Lite paremklõpsake teid huvitaval valuutapaaril ja valige suvand "Ekspordi faili":

3. Täitke väljad sätetega:

4. Avage andmekataloog:

5. Andmekataloogist leiame ajaloo kausta, seejärel leiame soovitud kausta meie serveri nime järgi:

6. Kustutage soovitud valuutapaari kõik failid.

7. Ekspordige allalaaditud hinnapakkumised terminali, vajutades F2, valides soovitud valuutapaari, perioodi M1 ja klõpsates nuppu “Import”:

8. Avage perioodi M1 valuutapaari diagramm.

9. Tehke kvaliteedikontroll, kasutades skripti history_data_analysis. Testimise tulemusel saadud tekstifaili kasutades peate leidma kõige kriitilisemad kohad. Siis need kriitilised kohad eemaldatakse. Täiendame neid hiljem teistest allikatest pärit tsitaatidega (pange nn "plaastrid").

Tahan eraldi juhtida teie tähelepanu hinnapakkumiste puudumisele uusaasta pühade ajal - paljud maaklerid lihtsalt ei tööta sel ajal ning need allikad, kelle maaklerite töö näib uusaastaööl sõelana ja sellel perioodil võib olla väga keeruline leida adekvaatset ajalugu. . Seetõttu ei juhtu midagi väga halba, kui paar päeva uue aasta eelõhtul lihtsalt puudub - see tuleks täielikult eemaldada, muidu võivad testide nõustajad näidata valesid tulemusi.

10. Kust saada plaastrite toorainet - sellest artiklist oleme juba arutanud. Teil on vaja ühte, võib-olla kahte allikat - kõik sõltub konkreetsest juhtumist.

11. Esiteks tuleb teie plaastrite andmed teisendada csv-vormingusse, kui teil on need hst-vormingus, aitab skript hst2csv.

12. Seejärel tuleks need muudest allikatest pärit andmed viia õigesse aega, nimelt määrake neile sama GMTOffset kui maaklerile ja parandatud hinnapakkumised. Ärge unustage, see on teave selle kohta, milline on konkreetse pakkumise allika nihkumine GMT-ga võrreldes täpselt, kas see on kunagi muutunud ja kas kasutati talve- / suveaja teisendamist. Näiteks Alpari noteeringutes oli GMT + 2 enne 2011. aastat ja GMT + 3 pärast 2011. aastat.

Selleks vajate eraldi terminali. Igast allikast tuleb alla laadida tsitaadid, muuta GMT aega GMTconverteri skripti abil, mille ma kirjutasin, kui avastasin, et mingil põhjusel pole võrgus selliseid skripte. Skripti leiate / saate alla laadida artikli lõpus. Samuti saate allalaaditud hinnapakkumiste importimisel eraldi terminali määrata GMT, kuid mõnikord see ei toimi. Hinnapakkumiste importimisel soovitud GMT täpsustamiseks peate määrama tundides vahetuse. Seejärel tuleb need tsitaadid eksportida, klõpsates eksportimisnupul. Seega salvestatakse hinnapakkumised soovitud vormingus ja vajaliku GMT-ga.

13. Pärast hinnapakkumiste kohandamist soovitud vormile avage lihtsalt fail oma kvaliteeditesti ja saadud plaastrite allikaga.Pealegi peate failid avama Notepadis, kuna paljude lugude korral ei pruugi Excel avada kogu faili.

14. Leiame kõik probleemsegmendid segmendifailist ja teisaldame tükid eraldi avatud Notepadi faili:

15. Kui ühes allikas pole piisavalt andmeid, proovime leida teisi allikaid.

16. Järgmisena salvestage ettevalmistatud fail csv-vormingus. Muutke lihtsalt faililaiend txt-st csv-ks.

17. Importige Ducascopy hinnapakkumisi terminali. Kustutatud lõigud taastatakse meie koostatud failist automaatselt.

18. Pärast pikka ja vaevalist tööd plaastrite importimisel peate terminali sulgema ja uuesti avama, et paikade ajalugu laaditaks. Visandage uuesti skript history_data_analysis ja vaadake meie töö tulemust.

19. Nüüd saabub teine ​​skript AllMinutes_Step1. Mida ta teeb? Fakt on see, et need minutiribad, milles midagi ei juhtunud ja hindu polnud, jätab terminal automaatselt vahele. Skript pakub vastamata ribade tehnilist täitmist, et tagada kõrgema ajaperioodiga küünalde õige genereerimine. Niisiis, tilgutage see diagrammile ja lülitage sisse vahekaart “Eksperdid”. Seda vahekaarti vajame selle skripti lõpuleviimise teate ja selle lühiaruande kuvamiseks.

20. Niipea kui ilmub teade skripti lõpuleviimise kohta, peate avama võrguühenduseta ajakava (File - Open offline - ALLEURUSD1):

21. Tilgutame esimese skripti history_data_analysis avatud diagrammile. Saame aruande, mille juurde naaseme veidi hiljem.

22. Järgmisena käivitage kolmas skript, hst2csv. Fakt on see, et eelmine skript mitte ainult ei täitnud võrguühenduseta režiimis diagrammi kõiki puuduvaid ribasid, vaid moodustas ka sama täieliku tsitaatide baasi hst-vormingus. Fail moodustati ajaloo kaustas ja kannab nime "ALLEURUSD1". Käivitage skript history_data_analysis eraldiseisval diagrammil. Nüüd peame selle ALLEURUSD1.hst-faili vormindama hallatavaks (aja nihutamise mõttes) .csv-vorminguks, mida skript hst2csv tegelikult teeb.

23. Ja nüüd tagasi autonoomse ajakava analüüsi põhjal koostatud aruande juurde. See on vajalik nende minimaalsete tühikute jälgimiseks, mida skript ei pruugi tähele panna. Seda ei juhtu alati, kuid mõnikord juhtub. Stsenaarium leidis ja täitis tuhandeid üksildasi baare, kuid paraku oleks neist võinud väheks jääda. Ja seetõttu tuleb see viga käsitsi parandada.

Põhimõtteliselt pole see keeruline - tabeli aruanne näitab nende läbisõitude konkreetseid koordinaate. Seetõttu on töö väga sarnane sellele, mida tegime lõikes 14. Üldiselt läheme kausta „Failid”. Programmi Notepad abil avage "ALLEURUSD1.csv". Funktsiooni „otsing” kasutades leiame end õigest kuupäevast. Täidame vastamata ribad viimase teadaoleva hinnaga, unustamata ribade aja muutmist.

24. Avage terminalis jutumärkide arhiiv (F2), kustutage kogu sinna salvestatud vormingu ajalugu ja laadige see uus teisendatud fail uuesti. Sulgege ja avage terminal uuesti. Avame diagrammi, meie puhul EURUSD M1, ja teostame kontrollmõõtmise skripti history_data_analysis abil juhuks, kui midagi jääb puudu.

25. Asi jäi väikeseks - skripti period_converter_ALL jaoks. Temaga on üldiselt kõik lihtne - viska diagrammile ja vaata vasakpoolset ülanurka - sel ajal kui numbrid seal jooksevad, töötab skript endiselt. Niipea kui liikumine selles nurgas peatub, on töö valmis. Ja lõpuks vahetame järjestikku kõik ajaraamid nii, et need laaditakse.

Järeldus

See on kõik - meie terminalis on hinnapakkumised 100% kvaliteetsed. Kui teil on M1 perioodi lisaajaraamid, mis 100% hõlmavad õppeperioodi, saate kõige täpsema testimise ja tulemuste usaldusväärsuse hea garantii.

Seega muutub kvaliteedikontrolli küsimus üksikasjalike ajalooliste andmete otsimiseks ja sellele järgnevaks võimalikult kvaliteetse hinnapakkumise koostamiseks. Igal juhul peaksite usaldusväärsete testitulemuste saamiseks hoolitsema omaenda kvaliteetse ajalooliste andmete andmebaasi eest.

Laadige alla vajalike skriptide komplekt

Juhised skriptide installimiseks MT4-s

Jäta Oma Kommentaar