Wspólny punkt 0

O jezykach programowania w platformach i nie tylko.
Awatar użytkownika
personov
Pasjonat
Pasjonat
Posty: 1525
Rejestracja: 09 sie 2009, 21:27

Wspólny punkt 0

Nieprzeczytany post autor: personov »

Poszukuję kawałek kodu, który oblicza wspólny punkt zerowy ( BE ) dla otwartych pozycji ?
Musi on jednak brać pod uwagę pozycje buy i sell oraz różne loty tych transakcji.
Wynikiem ma być cena, przy której wynik wszystkich transakcji wynosi 0.
Solą życia jest kasa.

LowcaG
Pasjonat
Pasjonat
Posty: 1068
Rejestracja: 05 paź 2007, 15:39

Re: Wspólny punkt 0

Nieprzeczytany post autor: LowcaG »

hm..właśnie zaczynam długi urlop gdzie będę miał detoks od kompa :P ,ale pomyślmy.
1. dla buy i sell, moze nie istnieć taka cena.
Przykład: kupuje po 100, sprzedaję po 50,
dla ceny 100+x mam z longa x zysku i 50+x straty z shorta
dla ceny 50-x mam z longa 50+x straty i x zysku z shorta
dla ceny (50,100) np. 75, mamy 25 straty z longa i 25 straty z shorta.

po jakiej by nie zamykać cenie, ZAWSZE będzie strata 50
jeżeli long i short będą odwrotnie, to będzie to ZAWSZE zysk.

2. indywidualnie longów/shortow wystarczy średnia cen otwarcia (z uwzgędnieniem spreadu i wielkości lotów)
Kod na tyle prosty, że chyba nie muszę go tu zamieszczać.

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

Re: Wspólny punkt 0

Nieprzeczytany post autor: personov »

Oddzielnie dla longów i shortów to mam. Właśnie potrzebowałem zrobić takie coś tylko wspólnie long i short i coś mi nie pasowało. Masz rację - cena 0 może nie istnieć.
Solą życia jest kasa.

JAREK67
Maniak
Maniak
Posty: 2143
Rejestracja: 13 lip 2006, 11:21

Re: Wspólny punkt 0

Nieprzeczytany post autor: JAREK67 »

Kod: Zaznacz cały

double lots=0;
double price=0;
   
    for(int i=0;i<OrdersTotal();i++) {
     if(OrderSelect(i,SELECT_BY_POS)) {
      if(OrderSymbol()==Symbol()) {
       if(OrderType()==OP_BUY) {
        price=price+OrderOpenPrice()*OrderLots();
        lots=lots+OrderLots();
       }
       if(OrderType()==OP_SELL) {
        price=price-OrderOpenPrice()*OrderLots();
        lots=lots-OrderLots();
       }  
      }
     }
    }
    
    double level=0;
   
    if(lots!=0) 
    level=price/lots; 
Stary dobry kawałek z Luktoma

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

Re: Wspólny punkt 0

Nieprzeczytany post autor: personov »

Od wczoraj miałem niezłą zagadkę matematyczną z tym punktem zero. Faktycznie jeśli jest taka sama ilość buy i sell to punkt 0 nie istnieje. jednak jeśli buy lub sell jest różnej wielkości to taki punkt istnieje. Ale jak go obliczyć ? To była zagadka.
I nagle JAREK67 dostarcza kod, który jakimś cudem działa.
Dzięki JAREK67.
Solą życia jest kasa.

ODPOWIEDZ