Popularni Postovi

Izbor Urednika - 2019

Zašto automatizirati svoju strategiju?

Da bi uspio na Forex tržištu, trgovac mora imati trgovinski sustav s jasnim pravilima, filtrima, ograničenjima. Istovremeno, prilično često profitabilne strategije trgovanja imaju samo nekoliko osnovnih pravila koja se mogu napisati u obliku algoritma. Takve sustave često nazivamo mehaničkim, a upravo te algoritme trgovci vole prenijeti u programski kod. Danas ću podijeliti algoritam o tome kako razviti svoj trgovački robot.

Zašto automatizirati svoje strategije trgovanja?

Prvi razlog je provjera povijesnih podataka. U principu je sve logično. Imate svoju strategiju trgovanja, koja vam trenutno donosi profit, ali želite znati kako je to funkcioniralo u prošlosti i hoće li raditi u budućnosti. Čak i ako na svoje mjesto nećete instalirati robota, ovo će vam znanje donijeti dodatno samopouzdanje, posebno u razdobljima duljeg odlaganja.

Drugi razlog je odabir optimalnog upravljanja novcem i kvantitativna procjena učinkovitosti sustava. Čak i ako vaša strategija djeluje i donosi profit, bez testiranja prilično je teško reći koji su rizici i načini upravljanja njima optimalni. Testiranje sustava na povijesnim podacima daje takve korisne informacije kao što su maksimalna povlačenja, minimalna i maksimalna dobit u određenom vremenskom razdoblju. Ispitivanje vam također omogućuje da usporedite nekoliko trgovačkih sustava jedni s drugima.

Treći razlog je objektivnost. Kada trguje stvarnim računima, na trgovca pada ogromno opterećenje u obliku emocija i on se mora nositi s tim. Ponekad trgovac s dobrim sustavom trgovanja ne može zaraditi novac, jer ne može kontrolirati svoje emocije. Automatizacija trgovine rješava ovo pitanje prilično jednostavno.

Četvrti razlog je dosljednost. Testiranje trgovačkog sustava daje znanje o svim pojedinostima i čimbenicima koji utječu na sustav, na njegove jake i slabe strane. Kad se za svaku transakciju utvrdi rizik, postoje jasna pravila za ulazak i izlazak, puno je lakše djelovati. Također ćete dobiti znanje kako postupiti u određenoj situaciji, fleksibilnije prilagoditi svoje vozilo i trgovinske rizike trenutnoj situaciji na tržištu.

Peti razlog je sloboda. Većina ljudi dolazi na forex upravo zbog ovoga. Žele dobiti dovoljno novca da ne rade pet dana po osam sati dnevno i ne budu ograničeni u financijama. Ovu mogućnost upravo daju automatizirani trgovinski sustavi. Autor savjetnika razmišljat će o svom kodu samo jednom i dobit će profit od svog rada godinama. Naravno, pisanje savjetnika nije pitanje minuta, ponekad je potrebno nekoliko tjedana, pa čak i mjeseci. Pored toga, autor povremeno mora prilagoditi svoje djelo, konfigurirajući parametre savjetnika trenutnoj tržišnoj situaciji ili unijeti manje promjene u kod. A to je daleko od rada u uobičajenom smislu te riječi - niste vezani za određeno radno mjesto i niste ograničeni vremenom.

Razvoj trgovinskog sustava

Pisanje bilo kojeg trgovinskog savjetnika započinje s idejom. To može biti gotova strategija pronađena na web mjestu ili pročitana negdje na forumu forex-a ili samo apstraktna ideja koja vam se dogodila tijekom pauze pušenja na balkonu vašeg penthousea. Nije važno kako vam padne na pamet, a najvažnije je što ćete dalje činiti.

A onda, ukratko, algoritam je sljedeći:

  1. Jasno artikulirajte trgovinsku ideju. Kao što rekoh, bilo koji izvor inspiracije može biti. Ali u vašoj ideji treba uzeti u obzir dva minimalna zahtjeva - ulazna točka na tržište (pravilo ili nekoliko pravila) i izlazna točka s nje (isto). Strategija se može sastojati od potpuno različitih uvjeta za kupovinu i prodaju, može imati nekoliko opcija za ulazak ili izlazak. Jedino je pravilo da se moraju uzeti u obzir i ulazi i izlazi. Također, strategija trgovanja sadrži pravila za upravljanje novcem, dobiti i gubicima. Upravljanje novcem može se kasnije razviti, a upravljanje profitom i gubicima povezano je s pravilima unosa.
  2. Odaberite najbolje alate za njegovu provedbu. Odredite koji pokazatelji, modeli cijena, neki podaci s web mjesta ili nešto drugo. Pravila trebaju biti jasna, a ne podrazumijevati opcije. Primjer jasnih pravila je postavljanje naloga za zaustavljanje prodaje pri otvaranju nove svijeće ispod donje sjene prethodne svijeće za 5 bodova, ako je prethodna svijeća probila pokretni prosjek EMA55, ali se zatvorila ispod nje, dok se cijena nije zatvorila iznad EMA55 zadnjih 10 svijeća, a EMA55 na prethodnu svijeću ispod više od 20 svijeća natrag. Primjer nejasnih pravila - ulazimo u prodaju ako se stohastički prekupi, a EMA55 padne.
  3. Napišite njegova pravila u obliku algoritma. Algoritam budućeg savjetnika pomoći će vam da se ne zbunite u svim logičkim zapletima njegova rada i pomoći će vam da stvorite koherentan i logičan kôd. Programi za izradu dijagrama tokova, poput yED s yworks.com, dobro su prilagođeni za to. Prikladni su i programi za mapiranje uma poput Xmind ili Freemind.
  4. Pišite prema algoritmu svog savjetnika. Ako je moguće, pokušajte optimizirati svoj kôd kako bi testiranje i optimizacija bili što brži. Naš tečaj "MQL programiranje" pomoći će vam u pisanju.
  5. Testirajte i optimizirajte svog savjetnika. Provjerite zapisnik za pogreške. Kodovi pogrešaka navedeni su u dnevniku, a njihov opis može se naći na web lokaciji mql4.com. Preporučujem vam da dobijete posebnu funkciju - alat za rješavanje pogrešaka prije nego što savjetnika stavite na stvarni račun. Pa, ili bar dodajte funkciju s opisom grešaka na ruskom jeziku, tako da u dnevniku kada se pojavi greška postoji i opis osim koda - to će vam uštedjeti vrijeme. Odaberite optimalni vremenski okvir za savjetnika za rad i optimizirajte što više parova.
  6. Stavite novog savjetnika na demo račun. Svakodnevno provjeravajte pogreške terminala. Neki od njih se možda nisu pojavili u fazi testiranja. Vidjet ćete i pravi rad vašeg savjetnika i otprilike možete procijeniti njegovu učinkovitost bez gubitka stvarnog novca.
  7. Savjetnik instalirajte na mali stvarni račun. Nakon što primite dovoljno podataka za analizu podataka, provedite analizu učinka procjene utjecaja utjecaja, usporedite ga s rezultatima dobivenim tijekom testiranja i testova na demo računu. Prilikom procjene vrijedi obratiti pažnju na takve parametre kao što su učestalost i trajanje transakcija, maksimalno povlačenje na računu, maksimalna dobit po transakciji, veličina i trajanje prosječnih gubitničkih i dobitnih transakcija, ukupan broj transakcija, omjer neprofitabilnog i profitabilnog, broj dobitnih i izgubljenih ugovora u nizu i njihove veličine.
  8. Povremeno nadgledajte i koordinirajte rad savjetnika, po potrebi mijenjajte kôd ili imajte bilo kakve ideje za poboljšanje njegovog rada (nakon testiranja, naravno).

Uspjeh svakog sljedećeg koraka ovisi o prethodnom. Ako je netko od njih napravio pogrešku ili pogrešno izračunao, morate početi sve iznova. Zato morate biti vrlo oprezni u onome što radite.

Pretpostavimo da ste prilikom testiranja u stvarnom vremenu primili gubitke koji premašuju maksimum prilikom testiranja na povijesnim podacima. Nemojte odmah ukloniti savjetnika i otpisati ga. Mogu biti tri razloga za ovaj događaj: sustav je slab i ideja pogrešna, sustav je dobar, ali optimizacija je obavljena krivo, nastali su izuzetno nepovoljni uvjeti koji nisu bili ispunjeni na povijesnim podacima. Kao što vidite, dva od tri razloga sugeriraju da je prerano ukloniti savjetnika. Ako optimizacija nije izvršena pravilno, učinite to ponovo. Ako je za gubitke krivo tržište, što je lako potvrditi otvaranjem ljestvica, jednostavno morate pričekati nepovoljno razdoblje i nastaviti testove. Pa, prva opcija se ne liječi.

Upravljanje rizikom

Općenito, upravljanje rizikom omogućuje vam da ograničite iznos kapitala koji se može izgubiti kao rezultat transakcije ili niza transakcija ili čak i kada trgujete sa savjetnikom.

Rizik ulaska

Rizik ulaska u poziciju može biti ograničen na određeni iznos novca ili postotak depozita. U skladu s tim, prilikom ulaska u poziciju postavlja se zaustavni gubitak, koji ograničava maksimalne gubitke položaja.

Rizik preko noći

U odnosu na Forex, ovo predstavlja rizik prilikom prijenosa radnog mjesta tijekom vikenda. Ovaj se rizik na bilo koji način ne može ograničiti, zbog nedostatka (jaz u kotacijama između cijene zatvaranja u petak i otvaranja u ponedjeljak), trgovac može pretrpjeti značajne gubitke koji se ne mogu ograničiti uobičajenim stop gubitkom - cijena može lako skočiti preko razine zaustaviti gubitak, uzimajući sa sobom značajan dio kapitala. Jedina opcija koja se može koristiti za kontrolu ovog rizika je odlučiti želite li napustiti položaj vikendom i, ako jest, cijeli ili njegov dio.

Trgovački rizik

Ovo je minimalni iznos kapitala koji je dugoročno izložen riziku tijekom trgovanja na CU-u. Mjeri se na nekoliko različitih načina i ovdje su glavne tri: maksimalni niz gubitaka (iznos gubitaka iz niza gubitničkih transakcija u nizu u valuti depozita), maksimalno povlačenje (najveće povlačenje računa s prethodnog maksimuma na trenutni minimum) i potreban kapital (zbroj maksimalnog izvlačenja, marža, dionica i ostale stvari potrebne za trgovanje u skladu sa strategijom).

Netrgovinski rizik

Sasvim nedavno su svi bili svjedoci koliko brokerskih kuća lako i brzo može nestati s tržišta. Općenito, nitko od nas nije imun na mogućnost da svoj novac odvedemo beskrupuloznom posredniku ili posredniku na rubu propasti. Stoga vam je moj savjet da uvijek uzmete ozbiljan izbor brokera. Danas se sve informacije mogu pronaći bez ustajanja s vašeg omiljenog računala. Probijte posrednika kome ćete povjeriti svoj novac, dovoljno da napunite redove dojilja - takvih je mnogo! Pogledajte odjeljak Brokeri na našem forumu.

Izbor razdoblja, segment za test

Segment povijesnih podataka dodijeljen testiranju savjetnika naziva se testni prozor. Pri određivanju veličine ovog prozora potrebno je postići statističku reprezentativnost rezultata ispitivanja i razdoblja pokrivanja primjerena za testirani trgovinski sustav i neprikladna. Potrebni su nam pouzdani statistički rezultati, odnosno broj transakcija trebao bi biti poprilično velik.

Općenito, rezultat od najmanje stotinu transakcija smatra se statistički značajnim. Ako želite znanstveniji pristup, ovdje je vrlo jednostavna formula za određivanje standardne pogreške: 1 / sqrt (N + 1), gdje je N broj transakcija. Sudeći prema formuli, što je veći broj transakcija, manja je standardna pogreška. Ova pogreška ukazuje na stupanj točnosti rezultata. U gornjoj preporuci (najmanje 100 transakcija) standardna pogreška bit će otprilike 10%. Čemu služi ta brojka? Vrlo jednostavno - uzmimo za primjer prosječni dobitak u testu, na primjer, 1000 USD. Zatim, u stvarnom trgovanju, trebali biste očekivati ​​naznaku prosječnog dobitka nakon istog broja transakcija (100) unutar + - 10%, odnosno od 900 do 1100 $. Ako smo bili zadovoljni s deset transakcija tijekom testa, u stvarnom bi trgovanju bilo vrijedno očekivati ​​prosječan profit od transakcije unutar + -30%, odnosno od 700 do 1300 $. Kao što vidite, prihvatljiva točnost postiže se sa samo 100 transakcija.

Stabilnost sustava

Stabilnost sustava nije ništa drugo nego stabilnost trgovine na njemu. Što je sustav stabilniji, on je stabilniji i, stoga, pouzdaniji. Prilikom testiranja trebate pogledati omjer profitabilnog obrta i neprofitabilnog trgovanja i (što je najvažnije) standardno odstupanje veličine i trajanja profitabilnog i neprofitabilnog prometa. Što su manja standardna odstupanja ovih vrijednosti, to je sustav stabilniji, što je glađa krivulja prinosa. Što su veća odstupanja, nestabilnija je i „skače“ tablica profitabilnosti sustava. Stabilan sustav trebao bi osigurati dobit u širokom rasponu varijabli, u širokom rasponu tržišta i tržišnih uvjeta. Drugim riječima, ako sustav radi samo na jednom valutnom paru, takav sustav je nestabilan.

Rok trajanja sustava

Nije tajna da nakon prodaje roboti za skalpiranje brzo prestaju raditi s profitom i tvorci počinju objavljivati ​​nove set datoteke s postavkama za svoje potomstvo. Mislim na odgovorne prodavače, a ne na šarlatane koji prodaju razno smeće. To je zbog činjenice da se tržišta s vremenom mijenjaju, a stare postavke robota prestaju biti učinkovite.

Pored toga, što je testni prozor manji, to je kraći rok trajanja sustava. Nastojim stvoriti robote koji su što stabilniji i s neograničenim vijekom trajanja, ali vrlo je malo sustava koji mogu raditi godinama bez prilagode tržištu. Stoga je još jedan testni kriterij za ispitivanje datum isteka. Sustav koji zahtijeva optimizaciju svaka tri mjeseca sigurno nije najprikladniji za korištenje, ali ima pravo na život. Pravilo je da sustav treba biti stabilan između 1/8 i ¼ test prozora - to je minimum. To jest, ako ste za optimizaciju koristili 24 mjeseca, sustav bi trebao biti učinkovit barem slijedećih 3-6 mjeseci. Potrebno je zapamtiti rok trajanja sustava, a optimizacija se provodi na kraju sustava (po mogućnosti malo unaprijed). Što je test test veći, to je duži rok trajanja sustava, što je rjeđe potrebno provesti optimizaciju, stabilniji je sustav i stabilnije ponašanje kada se promijene tržišni uvjeti. Ipak, što je prozor manji, to se veća učinkovitost i, sukladno tome, profit može postići od trgovačkog sustava, ali osjetljiviji će biti na tržišne promjene. Drugim riječima, na primjer, sustav će donijeti vrlo dobar profit sve dok traje globalni trend, ali čim se spotakne, sustav će spojiti sve (osim ako naravno nemate vremena za optimizaciju).

Sada se nadam da bolje razumijete zašto trgovci uče jezik mql i pokušavaju automatizirati svoje trgovinske sustave. Sada također znate koje korake trebate poduzeti da biste pokrenuli i pokrenuli savjetodavnu trgovinu na vašem sustavu i razumjeli s kojim rizicima možete naići tijekom postupka trgovanja. Trgovanje Algoom je vrlo uzbudljiv proces, a što više dobijete, više ćete biti spremni izmisliti nove sustave, testirati ih i pokrenuti na stvarnim računima. Na kraju, na svakog novog savjetnika gledam kao na drugog trgovca koji osobno trguje za mene. Želim vam stotinu ovih trgovaca, koji postupno povećavaju vaš kapital.

Pogledajte video: Vulin: Automatizacija resenje za rizična mesta (Listopad 2019).

Ostavite Komentar