Sari la conținut

Sugestii pentru dezvoltare de indicatori sau EA


Postări Recomandate

am cautat pe forum o sectiune in care sa existe idei pentru dezvoltarea unor noi indicatori sau EA, dar nu am gasit. asa ca m-am gindit sa deschid un astfel de topic, in ideea ca va veni in ajutor intregii comunitati vamist. orice idee sau sugestie este binevenita, oricit de neobisnuita ar parea la prima vedere.

 

si mai departe, cererea :) : nu am gasit nicaieri un indicator care sa-mi arate valorile close monthly + weekly + daily pe acelasi grafic sub forma unor linii orizontale. am pus un grafic pentru exemplificare, si daca este cineva interesat sa dezvolte acest indicator o sa pun si alte detalii.

 

multumesc anticipat :).

post-1398-127092571063_thumb.gif

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

  • Răspunsuri 19
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

Top autori în acest subiect

Imagini postate

Il aveam facut de ceva timp :). Iti arata open-urile, dar tinand cont ca open-ul lunii curente e aproximativ egal cu close-ul lunii precedente, cred ca e acelasi lucru. Poti sa ii spui tu ce open-uri sa-ti arate (de la M1 pana la Monthly). Bafta!

BumaSoft Open Levels.ex4

Link spre comentariu
Distribuie pe alte site-uri

multumesc, l-am incercat da ma cam incurc intre linii... cred ca ma intorc la distractia manuala cu liniile mele obisnuite.

 

si in alta ordine de idei, sunt curios ce idei mai are lumea de pe forum. daca bineinteles nu e secret :sad::)

Link spre comentariu
Distribuie pe alte site-uri

buna dimineata, am nevoie de putin ajutor din partea cuiva care se pricepe la limbajul mq4.

Vreau sa adaug la un expert optiunea ca atunci cand tranzactia are 30 pips profit, stop loss-ul sa se mute la breakeven si apoi sa ramana acolo, sa nu mai avanseze pe masura ce tranzactia evolueaza ( un trailing stop, cu o singura miscare). SL initial ar fi de 25 sau 30 pips.

Multumesc pt ajutor :sad: .

Link spre comentariu
Distribuie pe alte site-uri

Cel mai simplu ca sa nu modifici codul ar fi sa adaugi o variabila (de ex A=0;) dupa deschiderea unei tranzactii. In codul de Trailingstop la conditia If(...) verifici si daca A=0 (adaugi && A==0). Sub conditie faci A=1; Gata.

Ti-am dat solutia asta ca sa poti sa o modifici si singur.

Desigur daca ai mai multe tranzactii deschise odata trebe sa le manageriezi separat, de ex cu Magicnumber, plus mai multe variabile, sau alta abordare.

Link spre comentariu
Distribuie pe alte site-uri

  • Moderators

in functia start() a expertului pune:

 

   for(int cnt=0; cnt<OrdersTotal(); cnt++)
   { 
      if(OrderSelect(cnt,SELECT_BY_POS))
      {
         if(OrderType()==OP_BUY && OrderStopLoss()<OrderOpenPrice() && OrderProfit()>30)
            OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit());
         else if(OrderType()==OP_SELL && OrderStopLoss()>OrderOpenPrice() && OrderProfit()>30))
            OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice,OrderTakeProfit());
      }
   }

te prinzi tu ce face. Verifica daca am dat parametrii cum trebuie la OrderModify(), ca nu am testat, sunt din memorie, parca mai erau niste parametrii dupa, daca nu sunt default atunci trebuie pusi si aia (magic number, culoarea, etc). de asemenea nu mai tin minte daca OrderProfit() intoarce pipsi sau bani. Daca intoarce bani, atunci tre sa imparti la marimea orderului (OrderLots, Points), sau poti sa inlocuiesti conditia cu "Bid-OrderOpenPrice()>30" respectiv "OrderOpenPrice-Ask>30". O practica buna e sa dai 30 ala ca parametru extern, sa il poti modifica cand pornesti expertul.

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

Asta e o secventa de cod care am conceput-o pentru a calcula volumul pentru o positie in functie de riscul care vreau sa mi-l asum. Sunt lucruri care le-am conceput si cu ajutorul altor forumisti. Mangusta mi-a dat idea pentru calcularea valorii unui punct pentru o unitate iar Criodi mi-a dat si el mura in gura conceptul pentru ThePoint care inlocuieste punctul clasic din mq4 pentru cazul brokerilor cu 5 cifre dupa virgula.

 

Secventa este simpla, calculeaza volumul in functie de balanta contului, nu tine cont de marja folosita. Volumul rezultat este calculat cu doua cifre dupa virgula, pentru brokerii care accepta asta la volumul tranzactiei. Pentru doar o cifra dupa virgula se pune 1 la sfarsit la normalizedouble de la lots.

 

iata si secventa:

 

extern double RiskPercent=2; // Cat la suta din valoarea contului vrei sa risti pe o pozitie
extern double SL=50; //stop loss care va trebui sa il determinati voi aici sau puteti sa il calculati in ea-ul vostru in functie de preferinte.

double ThePoint; // Pentru a inlocui "Point" din mq4
int CharacterCount;

//----
   CharacterCount = StringLen(DoubleToStr (Bid, Digits)); 


ThePoint = Point * MathPow(10, (CharacterCount-6)); 
//----


double lots; //volumul pentru pozitie

double ValoarePip=MarketInfo(Symbol(),MODE_TICKVALUE)/(MarketInfo(Symbol(),MODE_TICKSIZE)/ThePoint);

//Calcularea lotului dupa stop loss (SL) si Riscul asumat (RiskPercent)
  
   lots=NormalizeDouble((AccountBalance()*RiskPercent)/(100*SL*ValoarePip),2);

Eu in ea-ul la care lucrez SL-ul e diferit de la pozitie la pozitie si il calculez in functie de minime si maxime. Aici l-am pus ca variabila externa pentru a simplifica exemplul.

 

Nu uitati ca Position Sizingul este foarte important in trading! :)

Sper sa fie de folos codul.

Offtopic
:sad:
Editat de sian
Link spre comentariu
Distribuie pe alte site-uri

Idei pentru EA dupa price action:

Offtopic
Price is King!

 

- Secventa care sa depisteze patternuri de lumanari engulfing

- secventa de trailing stop dupa minimele si maximele lumanarilor atat timp cat se respecta conditia trendului maxime mai mari si minime mai mari pentru ascendent si maxime mai mici si minime mai mici pentru descendent

 

Daca nu mi-o ia cineva inainte le voi posta aici dupa ce le fac :sad:

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

secventa simpla de trailing stop dupa minimele si maximele lumanarilor

 

- pentru o miscare ascendenta daca penultima bara/lumanare are minimul mai mare decat antepenultima lumanare se muta stop lossul sub acel minim (antepenultima)

 

- pentru o miscare descendenta daca penultima bara/lumanare are maximul mai mic decat antepenultima se muta stop lossul deasupra de acel maxim (antepenultima)

 


int start()
  {
//----

   for(int count=OrdersTotal()-1; count>=0; count--)
         { 
         if(OrderSelect(count,SELECT_BY_POS))
               {
      TrendTrailingStop();
                  }
         
      
         }
//----
   return(0);
  }

//------------------------------------------------------

void TrendTrailingStop()
{
      //pentru o positie buy
      if (OrderType() == OP_BUY)
      if (iLow(Symbol(),0,1)>iLow(Symbol(),0,2) && iLow(Symbol(),0,2)>OrderStopLoss() )
      OrderModify(OrderTicket(),OrderOpenPrice(),iLow(Symbol(),0,2)-1*Point,OrderTakeProfit(),0,CLR_NONE);
      
      //pentru o positie sell
      if(OrderType() == OP_SELL)
      if (iHigh(Symbol(),0,1)<iHigh(Symbol(),0,2) && iHigh(Symbol(),0,2)<OrderStopLoss())
      OrderModify(OrderTicket(),OrderOpenPrice(),iHigh(Symbol(),0,2)+1*Point+MarketInfo(Symbol(),MODE_SPREAD)* Point,OrderTakeProfit(),0,CLR_NONE);

}

Later edit: S-ar putea sa dea eroare de tip 1 la modificarea sl-ului... se rezolva cu NormalizeDouble

Offtopic
prietenii stiu de ce...
Editat de sian
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.