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.
Wspólny punkt 0
Wspólny punkt 0
Solą życia jest kasa.
Re: Wspólny punkt 0
hm..właśnie zaczynam długi urlop gdzie będę miał detoks od kompa
,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ć.

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ć.
Re: Wspólny punkt 0
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.
Re: Wspólny punkt 0
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;
Re: Wspólny punkt 0
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.
I nagle JAREK67 dostarcza kod, który jakimś cudem działa.
Dzięki JAREK67.
Solą życia jest kasa.