Funkcja do obliczenia TP

O jezykach programowania w platformach i nie tylko.
Awatar użytkownika
Vilde
Stały bywalec
Stały bywalec
Posty: 81
Rejestracja: 08 lis 2010, 00:30

Funkcja do obliczenia TP

Nieprzeczytany post autor: Vilde »

Witam, potrzebuje do swojego EA wstawić funkcję która by mi obliczała TP dla aktualnej pozycji. Chodzi o to aby po stratnej transakcji lub serii np. trzech stratnych (-10, -20, -10) kolejna pozycja miała TP równe 40 pips + jakaś wartość A prze mnie wcześniej obliczona. Samo dodanie tej wartości A to nie problem, tylko jak zliczyć te stratne pozycje?

Awatar użytkownika
Pierz Andrzej
Przyjaciel Forum
Przyjaciel Forum
Posty: 1200
Rejestracja: 02 lip 2006, 14:17

Re: Funkcja do obliczenia TP

Nieprzeczytany post autor: Pierz Andrzej »

przeglądnij historię zleceń aż do zlecenia które jest zyskowne , i zwróć sumę różnic ceny otwarcia od ceny zamknięcia.
z poważaniem
Andrzej Pierz
FOREX-SERVICE

Awatar użytkownika
Vilde
Stały bywalec
Stały bywalec
Posty: 81
Rejestracja: 08 lis 2010, 00:30

Re: Funkcja do obliczenia TP

Nieprzeczytany post autor: Vilde »

Dzięki za odp., mam już jakiś punkt zaczepienia. Niestety moje zdolności programistyczne są dosyć mizerne, czy posiada ktoś fragment kodu który robi coś podobnego? Jak się dostać do historii zleceń?

Awatar użytkownika
marekpast
Stały bywalec
Stały bywalec
Posty: 40
Rejestracja: 03 sty 2011, 09:09

Re: Funkcja do obliczenia TP

Nieprzeczytany post autor: marekpast »

Vilde pisze:Dzięki za odp., mam już jakiś punkt zaczepienia. Niestety moje zdolności programistyczne są dosyć mizerne, czy posiada ktoś fragment kodu który robi coś podobnego? Jak się dostać do historii zleceń?
Hmm, może cos takiego:

extern int maxIloscSprZlec =3;

[...]


int OrdHistory=OrdersHistoryTotal();
double Strata=0;
Int Ilosc=0;
for(int x=1; x<=maxIloscSprZlec;x++)
{
if (OrdersHistoryTotal() == 0) break;
OrderSelect(OrdersHistoryTotal()-x, SELECT_BY_POS, MODE_HISTORY);
if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic )
{
if(OrderSelect(OrdHistory-x,SELECT_BY_POS,MODE_HISTORY) && OrderProfit() <0) {Strata=Strata+OrderProfit();Ilosc++;}
if(OrderSelect(OrdHistory-x,SELECT_BY_POS,MODE_HISTORY) && OrderProfit()>=0) break;

}}
Alert("Suma strat ostatnich ",Ilosc," zamknietych zleceń wynosi: ",Strata);
[...]


chyba jakoś tak , mam nadzieję ze czegoś nie pomyliłem. :roll:
______________________________
Pozdrawiam Marek

Awatar użytkownika
Vilde
Stały bywalec
Stały bywalec
Posty: 81
Rejestracja: 08 lis 2010, 00:30

Re: Funkcja do obliczenia TP

Nieprzeczytany post autor: Vilde »

Dzięki, coś podobnego już znalazłem ale w obu przypadkach TP ustawia na poziom wejścia i od razu zamyka, spróbuje poszukać błędu.

Awatar użytkownika
marekpast
Stały bywalec
Stały bywalec
Posty: 40
Rejestracja: 03 sty 2011, 09:09

Re: Funkcja do obliczenia TP

Nieprzeczytany post autor: marekpast »

Zwróć uwagę, że zmienna Strata ma ujemną wartość. Może to to.
______________________________
Pozdrawiam Marek

ODPOWIEDZ