Chce uzaleznic wielkosc otwieranej pozycji przez EA od jego zysku lub straty w okreslonym czasie. W zwiazku z tym potrzebuje jakiejs funkcji, ktora dla danej pary walutowej zwrocila by wielkosc zysku/straty okreslona najlepiej w pipsach lub ostatecznie w walucie rachunku.
Czy moze jest jakas taka funkcja w MQL-u lub ktos ma pomysl jak cos takiego zrobic?
Zysk/strata za dany okres czasu
- Pierz Andrzej
- Przyjaciel Forum
- Posty: 1200
- Rejestracja: 02 lip 2006, 14:17
mozesz uzyc np takiej funkcji :
do zliczania profitu w pisach cza zminic czesc kodu na :
PAMIETAJ ! podczas czytania historii musi byc ona udostepniona .Najlepiej w zakladce "Historia rachunku" zaznaczyc opcje cala historia
pzdr Andrzej
EDIT : poprawione ... dzieki
tak to jest jak sie pisze na szybko 
Kod: Zaznacz cały
double profit(string beginData, string endData)
{
datetime timeBegin = StrToTime(beginData);
datetime timeEnd = StrToTime(endData);
double sum = 0;
for (int i = OrdersHistoryTotal()-1;i>=0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
if (OrderOpenTime() < timeBegin) break;
if (OrderOpenTime() <= timeEnd ) sum += OrderProfit() + OrderSwap() + OrderCommission();
}
return(sum);
}
Kod: Zaznacz cały
if (OrderOpenTime() <= timeEnd && OrderType() == OP_BUY ) sum += Bid - OrderOpenPrice();
if (OrderOpenTime() <= timeEnd && OrderType() == OP_SELL) sum += OrderOpenPrice() -Ask;
pzdr Andrzej
EDIT : poprawione ... dzieki


Ostatnio zmieniony 25 cze 2011, 23:23 przez Pierz Andrzej, łącznie zmieniany 2 razy.