Sari la conținut

Script pentru calculul riscului pe MT4


Postări Recomandate

  • Moderators

@oltciter: multam pentru publicitate, maestre! uitasem ca am mai facut si banalitati :) de astea la viata mea, haha, m-am uitat prin el cu nostalgie. Eu le calculez "din bostan", dupa un oarecare timp si oarecare experienta iti intri in mana, nici nu e greu, de exemplu juma'de lot inseamna 5 parai pe pip, 70 de pipsi inseamna 350 de parai, daca ai cont de 20 de mii asta inseamna 1.75%, mai ales ca nu faci calculul respectiv de fiecare data, pentru ca ti se intipareste in minte un fel de tabel (cum este cheat-sheet-ul [edit: pardon, acum se numeste pocket guide :) de pe yahoo currency converter), adica stii pentru un numar de pipsi cat inseamna riscul, si invers, cati pipsi iti permiti la un anumit lot si un anumit risk.

 

@vaxx: daca te uiti in sursa, explicatiile sunt date in interior, in romaneste. Nu e nici o filozofie, scriptul este pentru incepatori-incepatori, dupa ce pui primele 10-20-30 de beturi, deja stii sa faci pe de rost nu iti trebuie script. De altfel cred ca si Oltciter l-a pus si il foloseste cu caracter pur demonstrativ, ca sa nu intrebe aia care vad clipurile "de unde ai scos numarul ala de loturi" sau "numarul ala de pipsi". Ideea e ca TOT TIMPUL trebuie sa iti controlezi riscul, altfel esti condamnat la distrugerea contului, daca nu ai o metoda de a-ti controla cat de mult risti pe fiecare tranzactie. Daca tranzactionezi ca bîrnu' atunci pur si simplu esti la mila norocului, adica poti sa castigi doar daca i se face norocului mila de tine. Daca vrei sa castigi constant si pe timp lung, atunci trebuie sa ai o metoda de money-management, adica sa iti controlezi riscul, iar pentru controlul riscului exista reguli stricte si clare si metode de calcul riguroase.

 

Asta e ideea. In rest, ce metoda aplici tu, daca vrei sa calculezi riscul cu un script ori altfel, e treaba ta. Aveam o prietena de familie care ori de cate ori se dadea cu ruj nu se uita niciodata in oglinda. Bineinteles ca de fiecare data rujul ii iesea perfect, chiar si atunci cand se ruja in timp ce era la volan. Nevasta-mea o intreba cum reuseste fara oglinda, ori chiar ii intindea vreo oglinjoara daca o avea la indemana "Ia tu oglinda, ce te chinuiesti asa?". Si aia raspundea implacabil de fiecare data la fel: "nu, ca ma dau pe de rost". Asa si cu calculul riscului. Chestiile care se pot optimiza trebuie optimizate, altfel nu o sa faceti bani.

 

Atunci cand pui beturi trebuie sa fii concentrat pe miscarea pietei, pe intrari si pe iesiri, nu trebuie sa te pierzi in calcule, calculele acestea trebuie sa devina reflex. Adica daca vezi posibilitate de SL la 47 de pipsi si ai 1300 de parai in cont si nu vrei sa leverezi mai mult de 20 la 1 si nu vrei expunere mai mare de 2% din cont, cat este lotul pe care il joci??

 

Pentru cei care nu ati raspuns instantaneu, fara sa va ganditi nici o secunda, nota 4, vorba fiica-mii.

 

Offtopic
Apropo de nota 4, fiica-mea a venit acasa bucuroasa nevoie mare ca a terminat clasa a 6-a si a luat pe ultimul quarter "nota 4", era bucuroasa de nu mai putea... E vorba de GPA, la care 4 e maxim, pe celelalte quarteruri a avut 3.96, cea mai "tare" din clasa, nu a avut nimeni 4, dar ultimul quarter au fost 3 elevi, printre care si ea). Era asa de comica, pentru noi care suntem obisnuiti cu sistemul de notare intre 1 si 10, cum sarea in sus prin casa si canta "am luat nota 4, am luat nota 4, iti dai seama mama? nota 4!", iar eu cu nevasta-mea nu mai puteam de ras, ea credea ca ne bucuram pentru ea, si sarea in sus si urla si mai tare ca a luat "nota 4"...

Editat de tradelover
Link spre comentariu
Distribuie pe alte site-uri

  • 3 săptămâni mai târziu...
  • Moderators

Sunt cativa care nu folosesc mt4 ca si platforma de trading real, chiar daca eventual isi fac analiza pe mt4. Deoarece script-ul foloseste automat balanta flotanta a contului pentru a calcula riscul, cei care nu au contul real in mt4 nu pot sa isi calculeze corect riscul.

 

Pentru acestia am modificat un pic scriptul si i-am adaugat o variabila externa, Equity, care defineste ce suma va folosi script-ul atunci cand isi face calculele. Daca doriti ca script-ul sa foloseasca balanta flotanta a contului mt4, lasati variabila Equity=0;(by default e setata la zero)

 

In acest mod puteti afla de cate loturi aveti nevoie pentru a deschide o pozitie cu un sl de 30 pips de exemplu si un risc pe care il stiti de dinainte de 30$. Puteti sa introduceti 30 la Equity si 100 la FactorDeRisc. Astfel scriptul va calcula de cate loturi e nevoie pentru a deschide o pozitie in care pe 30 de pips vom pierde 100% din 30$. Asta e folositor daca vreti sa riscati o suma constanta la fiecare trade si nu va intereseaza cat reprezinta in acel moment 2%,34% sau 10% din cont.

 

Varianta care o postez eu acum recunoaste si daca platforma are 4 sau 5 zecimale. Nu mai e nevoie sa inmultiti cu zece valoarea sl-ului daca aveti platforme cu cinci zecimale.

 

extern string TipDeOrder = "long"; //se completeaza cu "long" sau "short" 
                                   //cu litere mici, mari sau amestecate <img src='https://forum.vamist.ro/public/style_emoticons/<#EMO_DIR#>/01.gif' class='bbc_emoticon' alt=':)' />
                                   //fara spatii inainte sau dupa. Se mai 
                                   //poate scrie "buynow" sau "sellnow" pentru
                                   //a fortza un market order (caz in care 
                                   //parametrul PretDeIntrare va fi ignorat, 
                                   //asta pentru cresterea vitezei de reactie
                                   //in cazul unei pietze "nebune", nu aveti
                                   //nevoie sa introduceti alte valori decat
                                   //tipul orderului si aveti imediat lotul,
                                   //presupunand ca ati setat stopul anterior),
                                   //ori se poate scrie "limit" sau "stop" 
                                   //pentru a forta o anumita directie la un
                                   //pending order, caz in care tipul orderului
                                   //(SELLLIMIT, SELLSTOP, BUYLIMIT, BUYSTOP)
                                   //este determinat automat din preturile si 
                                   //SL/TP-urile date mai jos

extern double PretDeIntrare = 0;  //daca e zero si tipul orderului este 
                                  //"long" sau "short" se ia pretul curent al
                                  //pietei, Bid pentru SELL si Ask pentru
                                  //BUY, daca e pending order (SELLLIMIT,
                                  //SELLSTOP, BUYLIMIT, BUYSTOP) trebuie 
                                  //introdus aici pretul la care se doreste
                                  //a se intra in tranzactie (deasupra sau
                                  //dedesuptul pretului curent al pietei).
                                  //Daca TipDeOrder este "buy" sau "sell"
                                  //atunci acest parametru se ignora. 

extern int MarimeStop = 0; //lungimea stopului in pipsi, daca e zero 
                             //sau mai mic ca STOPLEVEL-ul definit de 
                             //broker, atunci se considera ValoareStop
                             //de mai jos ca pret de iesire din tranzactie.
                             //In acest fel puteti da ca SL ori valoarea in
                             //pipsi, ori lasati 0 aici si dat valoarea in 
                             //pret (adica 1.2345) la parametrul de mai jos

extern double ValoareStop = 0;    //vezi cometariu de mai sus

extern double FactorDeRisc = 2;  //procentual, intre 0 si 100, doua zecimale

extern double Equity=0; //suma la care script-ul va calcula riscul. Daca este
                        //egala cu 0 script-ul va folosi equity-ul contului.
                        

//P.S. Definirea parametrilor nu este full-proof, daca o sa dati combinatii
//ale parametrilor intentionat aiurea, o sa il puteti incurca, adica de ex.
//daca puneti un buy limit cu pret de intrare peste pretul pietei, ori else, 
//dar interesul vostru este sa ii dati parametrii corecti, ca sa obtineti 
//rezultate corecte, nu sa incercati sa imi gasiti mie bugurile din cod. 
//Totusi, eu am facut cat de multe teste posibile ca sa evit parametrii
//ilogici, caz in care veti primi un mesaj de dulce pe sticla... Ca sa il fac
//fullproof complet, ar fi trebuit sa fac prea multe teste si mi-a fost lene...
//drept urmare nu raspund pentru rezultatele aiuristice care le veti obtine 
//introducand parametrii gresiti in el. Garbage in - garbage out!

Am facut si o varianta "light" a scriptului, in care nu vi se mai cere si tipul de ordin. Stiu ca multi se incurca acolo si m-am gandit sa scot variabila TipDeOrder. In versiunea light variabilele externe care mai raman sunt:

 

extern double PretDeIntrare = 0;  

extern int MarimeStop = 0; //lungimea stopului in pipsi, daca e zero 
                             //sau mai mic ca STOPLEVEL-ul definit de 
                             //broker, atunci se considera ValoareStop
                             //de mai jos ca pret de iesire din tranzactie.
                             //In acest fel puteti da ca SL ori valoarea in
                             //pipsi, ori lasati 0 aici si dat valoarea in 
                             //pret (adica 1.2345) la parametrul de mai jos

extern double ValoareStop = 0;    //vezi cometariu de mai sus

extern double FactorDeRisc = 2;  //procentual, intre 0 si 100, doua zecimale

extern double Equity=0; //suma la care script-ul va calcula riscul. Daca este
                        //egala cu 0 script-ul va folosi equity-ul contului.

Evident, gasiti aceste comentarii in cod, dar le-am pus si aici pentru cei care nu stiu sa deschida mql editor :) , sau care nu vor sa deschida amaratul ala de editor... din varii motive... Varianta aceasta functioneaza dupa aceleasi principii, doar ca nu veti mai fi alertati daca datele care le introduceti in script nu sunt logice pentru tipul de ordin pe care il aveti. Daca incurcati cifrele pe acolo e problema voastra.

CalculRisk.mq4

CalculRisk-light.mq4

Editat de Criodi
Link spre comentariu
Distribuie pe alte site-uri

Alătură-te conversației

Poți posta acum și să te înregistrezi mai târziu. Dacă ai un cont, autentifică-te acum pentru a posta cu contul tău.

Vizitator
Răspunde la acest subiect...

×   Alipit ca text avansat.   Alipește ca text simplu

  Doar 75 emoji sunt permise.

×   Linkul tău a fost încorporat automat.   Afișează ca link în schimb

×   Conținutul tău precedent a fost resetat.   Curăță editor

×   Nu poți lipi imagini direct. Încarcă sau inserează imagini din URL.

  • Navigare recentă   0 membri

    • Nici un utilizator înregistrat nu vede această pagină.
×
×
  • Creează nouă...

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.