average lost trade
- [ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда.
- [АРХИВ]Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 5.
- графики цены в "separate_window"
вот народ наглючий пошел. даже скопировать из справки облом....
int i,accTotal=OrdersHistoryTotal(); double loss=0; for(i=0;i<accTotal;i++) { //---- check selection result if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("Ошибка при доступе к исторической базе (",GetLastError(),")"); break; } if (OrderProfit()<0) loss+=OrderProfit(); } if (accTotal>0) loss=loss/accTotal; // вот и получили средюю убыточную Comment("Средняя убыточная сделка="+DoubleToStr(loss, 2)); // вывели на экран
Пардон конечно, не мне Вас поправлять, но всё же ... суммарный убыток надо делить не на общее кол-во сделок, а на кол-во УБЫТОЧНЫХ сделок если правильно понял "техзадание":
int i,accTotal=OrdersHistoryTotal(); int lt=0; // кол-во убыточных сделок double loss=0; for(i=0;i<accTotal;i++) { //---- check selection result if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("Ошибка при доступе к исторической базе (",GetLastError(),")"); break; } if (OrderProfit()<0) { loss+=OrderProfit(); lt++; } } if (accTotal>0) loss=loss/lt; // вот и получили средюю убыточную Comment("Средняя убыточная сделка="+DoubleToStr(loss, 2)); // вывели на экран
Пардон конечно, не мне Вас поправлять, но всё же ... суммарный убыток надо делить не на общее кол-во сделок, а на кол-во УБЫТОЧНЫХ сделок если правильно понял "техзадание":
Тоже поправлю. А то вдруг убыточных сделок не было. Тогда ж обломс будет, в смысле деление на ноль
int i,accTotal=OrdersHistoryTotal(); int lt=0; // кол-во убыточных сделок double loss=0; for(i=0;i<accTotal;i++) { //---- check selection result if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("Ошибка при доступе к исторической базе (",GetLastError(),")"); break; } if (OrderProfit()<0) { loss+=OrderProfit(); lt++; } } if (lt>0) loss=loss/lt; // вот и получили средюю убыточную Comment("Средняя убыточная сделка="+DoubleToStr(loss, 2)); // вывели на экран