Well, puţ, de ceva vreme m-am transformat in "instructor online fara voie", ca sa parafrazez celebra piesa de teatru. Sunt cativa forumisti care mă altoiesc cu intrebari despre MQL pe oriunde ma prind. Unii sunt mai insistenti ca altii, dar eu ma bucur ca lumea vrea sa invete si sunt foarte incantat ca intrebarile lor sunt din ce in ce mai elevate. Îmi aduc cu nostalgie aminte cand m-am apucat eu de MQL, ce bâtă eram. Dar curaj, nu se naste nimeni invatat. Totul e sa vreti, sa aveti vointa. Hehe, poate facem si ceva lectii online, ca la renjuclass.com, or else. Adica sa ne intalnim pe chat si sa discutam despre cum se pot face experti, luam un exemplu de strategie simpla (ex: intram pe un EMA daca bara e in directia ei, iesim pe un RSI, etc) si incercam sa o implementam impreuna. Vine fiecare cu cate o idee. Scriem in editor, testam, vedem ce erori apar, de ce, si cum se rezolva, etc. Pe urma analizam daca strategia e jucabila, de ce da, de ce nu, cum poate fi imbunatatita....
De exemplu am "teme" cu care am putea sa ne batem capul impreuna. Adică am primit atât pe PM cât şi direct prin mesajele postate, dat mai ales pe e-mail, cereri de a implementa tot felul de strategii, cel putin ciudate, ca sa nu le zic altfel. Nu crec ca voi avea vreodata timp să le implementez asa de amorul artei. Time is money. Pentru a mă apuca de implementat o strategie, trebuie să fie destul de simplă încât să nu imi ia mult timp ŞI să consider ca merită efortul de a o testa. Dacă e prea complicată, ori mie mi se pare că implementarea ei ar fi inutilă, atunci doritorul o poate avea totusi, daca tine mortis, dar contracost. În rest, nu sunt un tip care sa tin cunostintele pentru mine, ci mai degraba imi place să mă laud cu ele
La urma urmei asta fac pe messenger de vreo saptamana si vad cu mandrie ca unii dintre "discipoli" chiar au inceput chiar sa isi puna noii experti pe aici ,
De exemplu azi am avut o discutie pe mess despre marimea lotului pe care vrem sa il jucam, cu cineva care a facut un expert si a dat marimea lotului ca parametru:
extern double Lots = 0.1;
pe langa alti parametrii.
Comentariul meu a fost acela ca o asemenea practica nu e buna. Marimea lotului pe un bid depinde de cat de multi bani avem in cont si de cat de mult din ei vrem sa riscam. Eu folosesc in expertii pe care ii fac un parametru extern numit factor de risc, care este setat perunit, adica e un numar subunitar.
extern double RiscFactor = 0.02;
in ideea ca nu risc niciodata mai mult decat 2% din totalul banilor pe care ii am in equity. Exista si posibilitatea de a da factorul de risc procentual, dar eu prefer declararea lui perunit pentru ca simplifica calculele nu mai trebuie sa fac impartirea la 100. Daca ne e maicomod sa folosim un factor de risc intreg, ca fiind un numar intre 0 si 100, atunci putem spune
extern int RiscFactor = 2;
Ulterior trebuie sa avem grija de el si sa il impartim la 100 acolo unde facem calculele. Totusi, daca ne gandim la risc de 1.5%, sau 2.5%, 7.83%, sau alte mânării de genul asta, un factor de risc dat ca numar real este mult mai avantajos. Deci voi considera mai departe ca folosim un factor de risc perunit, dat ca un numar real, conform cu prima declaratie. In functie de acest factor de risc, de cati bani avem in cont si de cat de mare e StopLoss-ul cu care vrem să jucam, calculam cat de multi bani putem risca. Adică mărimea lotului.
Nu am vrut să ii pictez omului meu o formulă. Am vrut ca el să ajungă singur la ea. Chinezii spun că daca îi vei da unui om un peşte, el se va hrăni o singură dată. Dacă îl vei învăţa să pescuiasca, el se va hrăni totdeauna. Şi din intrebare in intrebare, din solutie in solutie, el mai schimba ceva, eu mai veneam cu o remarcă, etc, am ajuns pana la urma foarte aproape de rezultat. Ne mai desparteau cateva zerouri, haha, dar pentru că trebuia să plec acasă, eram incă la job, am pictat formula, urmând ca el să înţeleagă de ce e aşa. Apoi am plecat acasa, dar am promis sa revin cu un excel in care sa explic de ce am facut asa si cum am ajuns la formula respectiva. Nu e simpla! Credeti ca calculul lotului in functie de factorul de risc este simplu? Asa poate parea, dacă vă limitati la niste cazuri particulare. Dar noi vrem să facem un expert care să meargă la orice tip de cont si la orice broker. Daca maine schimb brokerul, ce fac? rescriu expertul?
Un calcul de genul
Lots=Equity*RiscFactor*10/Stoploss;
asa cum ne-ar dicta logica (de unde am luat valorile? de unde am luat 10? de ce zic ca asa e logic?), este ori foarte particular, ori eronat. Incercati pe cateva exemple practice, de exemplu equity=10k, risc=0.02, stoploss=100.
Deocamdata, pentru ca e tarziu si imi pica ochii de somn, o sa pictez formula, si o sa va rog sa spuneti VOI cum am ajuns la ea, care sunt avantajele si care sunt lacunele unei asemenea formule si ce ar mai trebui adaugat pentru ca asemenea formula sa mearga in TOATE situatiile. Pentru ca e clar ca mai exista ceva care, deocamdata, intentionat, imi scapă....
Asta e formula buna, daca tranzactionati la IBF sau la orice alt broker cu doua zecimale la lot:
De unde am luat milionul? De ce am nevoie de MarketInfo? De ce am nevoie de cele doua functii matematice din faţă?
Nu fac asta ca sa ma dau rotund pe aici ce bun programator sunt eu. In spatele formulei se ascunde un calcul elementar al riscului, pe care multi de pe aici nu stiu să il facă. Discutand azi pe mess despre loturi si riscuri, incercand să il fac pe omul meu să rezolve acest calcul (si spre satisfactia mea si a sa proprie, a fost instare să il facă până aproape de final, poticnindu-se doar la cateva detalii care nu tineau de trading ci strict de MQL), am realizat că exercitiul poate fi extraordinar de util oricarui trader. La urma urmei, daca un trader nu stie să faca niste calcule elementare de risc, ce pretentie să mai avem la el sa facă profit? Doar dacă are un noroc chior.
Nici un utilizator înregistrat nu vede această pagină.
Informații Importante
Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.
Well, puţ, de ceva vreme m-am transformat in "instructor online fara voie", ca sa parafrazez celebra piesa de teatru. Sunt cativa forumisti care mă altoiesc cu intrebari despre MQL pe oriunde ma prind. Unii sunt mai insistenti ca altii, dar eu ma bucur ca lumea vrea sa invete si sunt foarte incantat ca intrebarile lor sunt din ce in ce mai elevate. Îmi aduc cu nostalgie aminte cand m-am apucat eu de MQL, ce bâtă eram. Dar curaj, nu se naste nimeni invatat. Totul e sa vreti, sa aveti vointa. Hehe, poate facem si ceva lectii online, ca la renjuclass.com, or else. Adica sa ne intalnim pe chat si sa discutam despre cum se pot face experti, luam un exemplu de strategie simpla (ex: intram pe un EMA daca bara e in directia ei, iesim pe un RSI, etc) si incercam sa o implementam impreuna. Vine fiecare cu cate o idee. Scriem in editor, testam, vedem ce erori apar, de ce, si cum se rezolva, etc. Pe urma analizam daca strategia e jucabila, de ce da, de ce nu, cum poate fi imbunatatita....
De exemplu am "teme" cu care am putea sa ne batem capul impreuna. Adică am primit atât pe PM cât şi direct prin mesajele postate, dat mai ales pe e-mail, cereri de a implementa tot felul de strategii, cel putin ciudate, ca sa nu le zic altfel. Nu crec ca voi avea vreodata timp să le implementez asa de amorul artei. Time is money. Pentru a mă apuca de implementat o strategie, trebuie să fie destul de simplă încât să nu imi ia mult timp ŞI să consider ca merită efortul de a o testa. Dacă e prea complicată, ori mie mi se pare că implementarea ei ar fi inutilă, atunci doritorul o poate avea totusi, daca tine mortis, dar contracost. În rest, nu sunt un tip care sa tin cunostintele pentru mine, ci mai degraba imi place să mă laud cu ele
La urma urmei asta fac pe messenger de vreo saptamana si vad cu mandrie ca unii dintre "discipoli" chiar au inceput chiar sa isi puna noii experti pe aici
,
De exemplu azi am avut o discutie pe mess despre marimea lotului pe care vrem sa il jucam, cu cineva care a facut un expert si a dat marimea lotului ca parametru:
extern double Lots = 0.1;
pe langa alti parametrii.
Comentariul meu a fost acela ca o asemenea practica nu e buna. Marimea lotului pe un bid depinde de cat de multi bani avem in cont si de cat de mult din ei vrem sa riscam. Eu folosesc in expertii pe care ii fac un parametru extern numit factor de risc, care este setat perunit, adica e un numar subunitar.
extern double RiscFactor = 0.02;
in ideea ca nu risc niciodata mai mult decat 2% din totalul banilor pe care ii am in equity. Exista si posibilitatea de a da factorul de risc procentual, dar eu prefer declararea lui perunit pentru ca simplifica calculele nu mai trebuie sa fac impartirea la 100. Daca ne e maicomod sa folosim un factor de risc intreg, ca fiind un numar intre 0 si 100, atunci putem spune
extern int RiscFactor = 2;
Ulterior trebuie sa avem grija de el si sa il impartim la 100 acolo unde facem calculele. Totusi, daca ne gandim la risc de 1.5%, sau 2.5%, 7.83%, sau alte mânării de genul asta, un factor de risc dat ca numar real este mult mai avantajos. Deci voi considera mai departe ca folosim un factor de risc perunit, dat ca un numar real, conform cu prima declaratie. In functie de acest factor de risc, de cati bani avem in cont si de cat de mare e StopLoss-ul cu care vrem să jucam, calculam cat de multi bani putem risca. Adică mărimea lotului.
Nu am vrut să ii pictez omului meu o formulă. Am vrut ca el să ajungă singur la ea. Chinezii spun că daca îi vei da unui om un peşte, el se va hrăni o singură dată. Dacă îl vei învăţa să pescuiasca, el se va hrăni totdeauna. Şi din intrebare in intrebare, din solutie in solutie, el mai schimba ceva, eu mai veneam cu o remarcă, etc, am ajuns pana la urma foarte aproape de rezultat. Ne mai desparteau cateva zerouri, haha, dar pentru că trebuia să plec acasă, eram incă la job, am pictat formula, urmând ca el să înţeleagă de ce e aşa. Apoi am plecat acasa, dar am promis sa revin cu un excel in care sa explic de ce am facut asa si cum am ajuns la formula respectiva. Nu e simpla! Credeti ca calculul lotului in functie de factorul de risc este simplu? Asa poate parea, dacă vă limitati la niste cazuri particulare. Dar noi vrem să facem un expert care să meargă la orice tip de cont si la orice broker. Daca maine schimb brokerul, ce fac? rescriu expertul?
Un calcul de genul
Lots=Equity*RiscFactor*10/Stoploss;
asa cum ne-ar dicta logica (de unde am luat valorile? de unde am luat 10? de ce zic ca asa e logic?), este ori foarte particular, ori eronat. Incercati pe cateva exemple practice, de exemplu equity=10k, risc=0.02, stoploss=100.
Deocamdata, pentru ca e tarziu si imi pica ochii de somn, o sa pictez formula, si o sa va rog sa spuneti VOI cum am ajuns la ea, care sunt avantajele si care sunt lacunele unei asemenea formule si ce ar mai trebui adaugat pentru ca asemenea formula sa mearga in TOATE situatiile. Pentru ca e clar ca mai exista ceva care, deocamdata, intentionat, imi scapă....
Asta e formula buna, daca tranzactionati la IBF sau la orice alt broker cu doua zecimale la lot:
Lots=MathMax(MathFloor(AccountEquity()*RiskFactor*1000000/
(MarketInfo(Symbol(),MODE_LOTSIZE)*StopLossMax))/100,0.01);
De unde am luat milionul? De ce am nevoie de MarketInfo? De ce am nevoie de cele doua functii matematice din faţă?
Nu fac asta ca sa ma dau rotund pe aici ce bun programator sunt eu. In spatele formulei se ascunde un calcul elementar al riscului, pe care multi de pe aici nu stiu să il facă. Discutand azi pe mess despre loturi si riscuri, incercand să il fac pe omul meu să rezolve acest calcul (si spre satisfactia mea si a sa proprie, a fost instare să il facă până aproape de final, poticnindu-se doar la cateva detalii care nu tineau de trading ci strict de MQL), am realizat că exercitiul poate fi extraordinar de util oricarui trader. La urma urmei, daca un trader nu stie să faca niste calcule elementare de risc, ce pretentie să mai avem la el sa facă profit? Doar dacă are un noroc chior.
Deci cine sparge ghiaţa?
Voi reveni cu detalii maine seara.