Nu toți comercianții sunt programatori. Și nu toți sunt programatori buni. Ce ar trebui să fac dacă trebuie să-mi automatizez sistemul, dar nu au timp și nu doresc să învețe MQL4? De obicei, o persoană se duce la forum și creează un subiect cu numele de tipul "Căut un programator". În ultima lună au existat șapte astfel de subiecte:
Ce trebuie făcut înainte de a comanda un expert?
Înainte de a căuta un programator, asigurați-vă că profitabilitatea strategiei dvs. De ce să plătiți pentru un expert care nu poate câștiga? Acest lucru se poate face manual, istoricul navigării și tranzacționarea în minte, ceea ce este destul de dificil. Sau o puteți face folosind testerul manual descris în articolul Vizualizarea testelor. Comerțul manual. Cele mai plauzibile rezultate pe care le veți obține, tranzacționați pe un demo sau un cont mini-real, dar acest lucru va necesita mai mult timp și, eventual, bani. Când testați o strategie, considerați că:
- piața se schimbă și comportamentul corect al indicatorilor asupra istoriei nu garantează caracterul adecvat al acestora în tranzacțiile reale;
- unii indicatori trag semnale pe barele deja formate. Săgeți foarte bine amplasate la extreme de prețuri - patrimoniul istoriei, în muncă reală, ele vor fi vizibile numai după câteva bare. Un exemplu de astfel de indicator este Fractals. valorile sale apar cu o întârziere de două bare. Adică, puteți să o utilizați, dar trebuie să țineți cont de faptul că veți intra pe piață nu direct sub fractal, ci numai atunci când se formează încă două bare (pe graficul orar în două ore). Nu utilizați indicatori ale căror algoritmi de lucru nu știți. Se poate termina prost;
- există o mulțime de indicatori care, conștient sau nu, se uită în viitor. De exemplu, o simplă mișcare medie cu o schimbare negativă va arăta că piața se transformă foarte în timp util. Dar numai pe istorie.
Multe erori ale unui astfel de plan pot fi detectate prin testarea strategiei în timp real pe un cont demo. Dar chiar și un astfel de test aparent plauzibil nu va asigura 100% coincidență cu comerțul real, deoarece conturile demo și reale au mai multe diferențe:
- viteza de executare a comenzilor în contul demo este întotdeauna mai mare decât în contul real. Fiți pregătiți pentru faptul că poziția dvs. reală se va deschide la doar câteva minute după întoarcerea echipei. Acest lucru nu va agrava în mod semnificativ performanța strategiei pe termen lung, dar poate "ucide" complet tranzacțiile pe parcursul zilei;
- pe baza unor condiții reale de tranzacționare a contului (spread, distanța până la oprirea comenzilor, nivelul apelului în marjă și altele asemenea) se poate schimba "în zbor" (în timpul tranzacționării). De exemplu, înainte de știri sau înainte de sărbători. În timp ce testați o strategie pe un cont demo, este puțin probabil să întâlniți astfel de surprize, dar asigurați-vă că ați luat în considerare influența acestora în evaluarea finală a strategiei.
Dacă, după toate verificările, strategia dvs. arată încă un profit suficient pentru a acoperi surprizele unui cont real, puteți trece la următorul pas de pregătire - formalizarea algoritmului.
Formalizarea algoritmului
Dacă ați tranzacționat cu strategia suficient de mult timp, puteți să formalizați cu ușurință algoritmul. Tot ce este necesar este să enumerați regulile prin care un expert ar trebui să facă schimb.
Vă rugăm să rețineți că programul este scris de un om care nu are nici cea mai mică idee de strategia ta. Trebuie să specificați cele mai mici detalii: parametri indicatori, distanța pentru a opri comenzi, numărul maxim de posturi deschise, trailing stop algoritm, și așa mai departe. Sarcina tehnică care urmează să fie descrisă de reacție pentru fiecare eveniment semnificativ: operațiune se oprește, apariția semnalului repetată în poziția curentă, care rulează expert după un eșec în conectarea la Internet și altele.
Trebuie să înțelegeți că computerul nu știe cum să ghicească, să gândească sau să ia decizii independente. - pur și simplu se ocupă de regulile dvs. Dacă există o situație, reacția la care algoritmul nu este furnizat, expertul nu va face nimic.
Să aruncăm o privire asupra unui exemplu concret, ce se poate întâmpla dacă atribuirea tehnică nu este compilată cu exactitate și în detaliu. Dialogul de mai jos ilustrează procesul prin care Antreprenorul creează un expert bazat pe algoritmul Clientului. Am interpretat în mod deliberat ambele personaje ca fiind absurd de prost. Acest lucru vă va ajuta să vedeți erorile ca într-o lupă. Pentru a înțelege mai bine ce este în joc, puteți descărca exemple de experți și le puteți testa simultan cu clienții.
Bună ziua! Vreau să comand un expert de la tine.
El trebuie să deschidă poziții la intersecția MA (9) și MA (18).
Dacă rapidul traversează lentul de jos în sus, atunci poziția de cumpărare, dacă dimpotrivă - poziția-poziție.
Cât costă?
Pentru a determina costul, am nevoie de o sarcină detaliată și precisă.
Aproximativ 50 de dolari.
Am scris totul în scrisoarea anterioară!
Există 2 medii mobile, atunci când un fast (cu o perioadă de 9) traversează lent (cu o perioadă de 18) de jos în sus, se deschide o poziție de cumpărare. Când, dimpotrivă, poziția-poziție.
Ce ai scris. Acesta nu este un expert, dar diavolul știe ce!
De ce atât de multe poziții deschise? De ce nu se închid?
Sunteți, în general, un programator sau ce?
Pozițiile sunt exact la fel de multe ca intersecțiile. Testați expertul în modul vizual și vedeți totul - la fiecare intersecție se deschide poziția.
Dacă intersecția este în sus, se deschide o poziție de cumpărare, dacă în jos este o poziție de vânzare.
Despre închiderea la locul de muncă nu se spune nici un cuvânt.
Am uitat să spun: dacă există o poziție deschisă, atunci la intersecția opusă ar trebui să fie închisă - în același timp, ar trebui să existe o singură poziție pe piață. Și aș vrea să am toate pozițiile la setul de deschidere StopLoss la o distanță de 50 de puncte.
De ce a deschis această poziție de cumpărare? Nu a existat o intersecție!
Trecerea a fost, dar a fost pierdut. Diagrama arată valorile indicatorilor de pe barele formate și modul în care s-au modificat în timpul dezvoltării barei pot fi vizualizate numai cu ajutorul unui modul de testare vizuală sau în lucrul real. Vă asigur, trecerea în momentul deschiderii poziției a fost.
Dacă doriți, putem face pozițiile deschise pe semnalele barelor formate, atunci toate semnalele vor fi vizibile pe grafic.
Mulți comercianți fac exact asta.
Să încercăm.
Și totuși: pot optimiza parametrii mediilor mobile și valoarea StopLoss și TakeProfit?
Numărul versiunii 3 - Sample_3.mq4:
- căutarea semnalelor se efectuează pe barele formate (prima și a doua);
- Parametrii mediilor mobile și dimensiunile StopLoss și TakeProfit sunt introduse în variabile externe.
Verificați.
E deja ca ceea ce mi-am dorit.
Dar când conduc mai mulți experți, doar unul dintre ei se ocupă. Și câteodată își închid pozițiile reciproce!
În versiunea # 4 (Sample_4.mq4), comenzile sunt împărțite prin numărul magic. Dacă rulați mai mulți experți pe diagramele aceluiași instrument, setați-le la valori diferite ale variabilei MagicNumber.
Acum e bine!
Deci, ar fi trebuit să existe mai întâi o sarcină tehnică, astfel încât Executorul să scrie imediat cea de-a 4-a versiune a expertului? Să încercăm să formulăm cerințele pentru expert:- Expertul trebuie să controleze doar pozițiile sale, fără să atingă pozițiile deschise manual și / sau cu ajutorul altor experți.
- Dacă nu există nicio poziție deschisă de expert:
- Dacă rapidul MA traversează lentul de jos în sus, deschideți poziția buy-in;
- Dacă rapidul MA traversează lentul de sus în jos, deschideți poziția poziției.
- Dacă există o poziție deschisă de un expert:
- dacă poziția este octet:
- în cazul în care rapidul MA traversează lentul de sus în jos, închideți poziția de cumpărare și deschideți poziția poziției;
- dacă poziția poziției:
- Dacă MA rapidă traversează lentul de jos în sus, închideți poziția poziției și deschideți poziția de cumpărare.
- dacă poziția este octet:
- Parametrii MA și MA (perioada, metoda de construcție, prețul aplicat) trebuie să fie specificate de variabilele externe.
- Valorile indicatorilor sunt luate din perioada programului pe care lucrează expertul.
- Pentru a determina intersecția, sunt utilizate barele 1 și 2.
- Dimensiunea poziției este determinată de variabila externă.
- Atunci când poziția este deschisă, StopLoss și TakeProfit sunt setate, distanța de la care este determinată de variabilele externe.
- StopLoss și TakeProfit trebuie deconectate.
- În cazul unei erori de deschidere a poziției, expertul ar trebui să afișeze o fereastră cu informații despre eroare și să încerce din nou pe bifa următoare.
Aceasta este sarcina cea mai elementară. În viață, astfel de sisteme simple sunt rare, așa că atunci când scrieți o descriere, acordați atenție fiecărui detaliu.
Fără îndoială, astfel de clienți și interpreți proști sunt extrem de rare. Dar - crede-mă! - sunt întâlnite. Este mai bine să precizați în sarcină și lucrurile cele mai banale și aparent elementare decât mai târziu să se certe cu programatorul.
Ultimul lucru pe care îl puteți face înainte de a găsi un programator este să negociezi "pe hârtie". Păstrați-vă "codul de reguli" în fața ochilor dvs. și faceți doar ceea ce este scris acolo. Astfel, vă puteți aminti detaliile pierdute în timpul formalizării algoritmului, iar apoi nu trebuie să plătiți pentru modificare.
Alegerea programatorului
De câțiva ani de existența limbii MQL4, au apărut o mulțime de experți-scriitori. Mulți dintre aceștia sunt rezidenți permanenți ai resursei mql4.com. Aici posta realizările lor în CodeBase. scrie articole și doar comunică pe forum. ajutând noii veniți și îmbunătățind afacerea lor. Multe dintre ele au conturi reale și comerț, atât cu ajutorul experților, cât și manual.
Nu există nici o bază de date de experți în care să se obțină informații exhaustive despre fiecare programator profesional MQL4 (sau cel puțin nu am întâlnit). Și este greu de creat o astfel de bază - mulți vin la această afacere foarte succint.
Comunicați, negociați. Există o mulțime de opțiuni, este important să alegeți una potrivită.
Testarea experților
După ce discutați condițiile de lucru și aprobați algoritmul, programatorul va scrie expertul și îl va trimite pentru testare. Sarcina dvs. este să vă asigurați că activitatea expertului corespunde sarcinilor tehnice.
Pentru a face acest lucru, încercați mai întâi într-un test de strategie cu diferite combinații de parametri - aceasta este cea mai rapidă modalitate de a testa algoritmul. Puteți deschide diagrama pe care sa efectuat testul și verificați rezultatele vizual.
Dacă expertul ar trebui să acționeze nu numai în momentul deschiderii barei, ci și în procesul de formare, încercați să efectuați testul într-un mod vizual - puteți monitoriza acțiunile expertului pe fiecare bifă. Veți vedea valorile indicatorilor de pe bara zero (curent), mișcarea și funcționarea pozițiilor StopLoss cu mișcări puternice ale prețurilor și mult mai mult.
Dacă testarea din testerul de erori nu a dezvăluit nicio strategie de eroare, procedați la testarea contului demo.
Încercați să rulați mai mulți consilieri cu parametri diferiți sau identici și să tranzacționați simultan cu ei. Expertul ar trebui să continue să lucreze la algoritm, fără a reacționa la "ceea ce se întâmplă în jurul". Dacă nu există erori de această dată, puteți spune programatorului că totul este în ordine și finalizați tranzacția.
Cel mai adesea, în prima versiune a expertului există inconsecvențe la algoritm. cauzate fie de o descriere inexactă, fie de o eroare elementară a expertului-scriitor, este o situație normală. Spune-i doar programatorului despre asta și dacă e chiar vina lui, o va rezolva. În scrisoare, indicați:
De obicei, cooperarea presupune suport tehnic chiar și după ce a scris un expert și a finalizat calculele. Aceasta înseamnă că, dacă eroarea în expert se va manifesta după o lună de lucru, programatorul o va rezolva gratuit. Totul depinde de modul în care sunteți de acord.
concluzie
Toți cei care au decis să-și pună în aplicare strategia de tranzacționare într-un consilier și caută un interpret explicativ, recomand cu tărie lui Ivan și Artem. Tipii au fost în afaceri de mult timp, au o experiență mare în a scrie un consilier de orice complexitate, ei lucrează rapid și eficient. Ei pot oferi întotdeauna sfaturi eficiente cu privire la îmbunătățirea algoritmului MTS sau pot sugera sursa corectă de informații. Recent am primit consilierul meu de la ei și am fost mulțumit.
Bună ziua! Aș dori să fac un feedback cu privire la cooperarea cu statbarul programator-comerciant. Ordinul meu a fost foarte bun! Rapid și eficient. Omul a încercat și a făcut totul pentru client, adică, eu, am fost complet mulțumit. A fost frumos să lucrez cu acest om. Vă recomandăm! Cu sinceritate, Alexey