Wszystkie pytania dozwolone początkujących programistów

O jezykach programowania w platformach i nie tylko.
Awatar użytkownika
Pierz Andrzej
Przyjaciel Forum
Przyjaciel Forum
Posty: 1200
Rejestracja: 02 lip 2006, 14:17

Nieprzeczytany post autor: Pierz Andrzej »

daniel.wro pisze:"OrderOpenPrice() + OrderProfit() = OrderTakeProfit()"
pomysl :)
zgodnie z Twoim rownaniem :

Kod: Zaznacz cały

cena otwarcia + zysk/strata z transakcji = cena take profit :)
np 1.12345 + 10$ = 1.12355

raczej sprawdz dla buy

Kod: Zaznacz cały

OrderClosePrice() >= OrderTakeProfit()// dla take profit

Kod: Zaznacz cały

OrderClosePrice() <= OrderStopLoss()// dla stop loss
odwrotnie dla sell

pozdrawiam
Andrzej Pierz

daniel.wro
Stały bywalec
Stały bywalec
Posty: 25
Rejestracja: 27 wrz 2011, 21:44

Nieprzeczytany post autor: daniel.wro »

dzieki o to chodzilo :)

Awatar użytkownika
Tig3r
Przyjaciel Forum
Przyjaciel Forum
Posty: 2310
Rejestracja: 02 sty 2008, 10:46

Nieprzeczytany post autor: Tig3r »

Ciężko stwierdzić bo nie wiesz ile transakcja mogła mieć TP (jeśli nie używasz stałego TP).
Możesz sprawdzić czy jest zysk:

Kod: Zaznacz cały

OrdersProfit()>0
Albo sprawdzać ile pipsów zysku było na zleceniu, a może po prostu zerknąć na komentarz transakcji?
======================================================
Nie głupi ten co nie wie, lecz ten który nie chce się nauczyć..

Awatar użytkownika
CoVal
Gaduła
Gaduła
Posty: 320
Rejestracja: 06 paź 2005, 22:45

Nieprzeczytany post autor: CoVal »

moze trzeba troche pokombinowac, aby sobie ulatwic zycie
np. taki pomysl:

jesli w czasie otwierania pozycji wpiszesz wartosc TP albo jako komentarz, albo jeszcze lepiej jako MagicNumber (tylko wymnoz cene TP razy np. 100.000 i znormalizuj zeby miec liczbe calkowita)
Po zamknieciu bedziesz mogl w prosty sposob sprawdzic, czy cena zamknela sie na TP (odczytasz sobie cene zamkniecia i MagicNumber, podzielisz przez 100000 i po prostu porownasz.
powinienes jednak wziasc mala poprawke na poslizgi cenowe... poniewaz nie zawsze cena realnego zamkniecia bedzie dokladnie rowna cenie na jakiej ustawiles TP...

pozostaje problem recznie otwartych pozycji - w tym wypadku nie ma mozliwosci ustawienia MagicNumber.... oczywiscie da sie to obejsc poprzez napisanie bardzo prostego skryptu otwierajacego pozycje i jednoczesnie ustawiajacego TP, SL i wpisujacego Magic Number....

:) ale jestem przekonany, ze mozna znalezc wiele innych, latwiejszych sposobow.

chomol
Uczestnik
Uczestnik
Posty: 2
Rejestracja: 30 maja 2006, 23:38

Nieprzeczytany post autor: chomol »

Witam,

1. Macie może, pomysł jak ograniczyć, aby możliwe było otwarcie tylko jednej pozycji danego dnia.

if (OrdersTotal() < 1) - pozwala, aby w danym czasie otwarta była tylko jedna pozycja
if (OrdersHistoryTotal() < x ) - pozwala na otwarcie maksymalnie x pozycji

Chodzi mi o to, że dozwolone jest otwarcie tylko jednej pozycji daneg dnia.
Np. uruchamiamy program, jeżeli są spełnione warunki to otwiera pozycję w poniedziałek (jeżeli nie to nic nie robi). Następnie we wtorek sprawdza czy są warunki i jeżeli tak to otwiera pozycje (ale tylko jedną w ciągu dnia, nawet jeżeli powtórzą się warunki do wejścia w tym samym dniu) itd...

2. Jest jakaś funkcja, która zwraca ilość stratnych pozycji pod rząd jakie wystąpiły do danej chwili?

Awatar użytkownika
personov
Pasjonat
Pasjonat
Posty: 1525
Rejestracja: 09 sie 2009, 21:27

Nieprzeczytany post autor: personov »

A może tak :

Kod: Zaznacz cały

int status =0;
start()
{
if(status > 0){ 
      if (Hour()==0&&Minute()==0) status=0;  }
if(status==0&&....warunki...){otwieramy BUY; status=1;}

} 
Solą życia jest kasa.

Awatar użytkownika
siersciuch
Pasjonat
Pasjonat
Posty: 407
Rejestracja: 06 kwie 2010, 20:31

Nieprzeczytany post autor: siersciuch »

jak zliczyć ilość wygranych tranzakcji pod rząd? macie jakiś pomysł?
jeżeli będziesz uparty, prawdopodobnie częściej odniesiesz sukces, niż doznasz porażki.

chomol
Uczestnik
Uczestnik
Posty: 2
Rejestracja: 30 maja 2006, 23:38

Nieprzeczytany post autor: chomol »

personov pisze:A może tak :

Kod: Zaznacz cały

int status =0;
start()
{
if(status > 0){ 
      if (Hour()==0&&Minute()==0) status=0;  }
if(status==0&&....warunki...){otwieramy BUY; status=1;}

} 
Śmiga tak jak powinno, wielkie dzięki.

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

Nieprzeczytany post autor: Pierz Andrzej »

siersciuch pisze:jak zliczyć ilość wygranych tranzakcji pod rząd? macie jakiś pomysł?

Kod: Zaznacz cały

int profitHistory()
{
   int sum = 0;
   for(int i=OrdersHistoryTotoal()-1;i>=0;i--)
   {
      OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
      if(OrderProfit()>0) sum++;else break;
   }
   return(sum);
}
pisane w przegladarce ale powinno byc ok .... :)

pozdrawiam
Andrzej Pierz

Awatar użytkownika
siersciuch
Pasjonat
Pasjonat
Posty: 407
Rejestracja: 06 kwie 2010, 20:31

Nieprzeczytany post autor: siersciuch »

dzięki!!

miałem koncepcje, ale brakowało mi OrdersHistoryTotoal() :)
jeżeli będziesz uparty, prawdopodobnie częściej odniesiesz sukces, niż doznasz porażki.

ODPOWIEDZ