Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
если у вас например терминал забит сотнями неиспользуемых глоб переменных то да - переборка закончится печально, если нет то работает вполне быстро, если написать правильно
если у вас например терминал забит сотнями неиспользуемых глоб переменных то да - переборка закончится печально, если нет то работает вполне быстро, если написать правильно
Я не против, но лучше всё-же по возможности находить более лёгкие пути. Или мы не ищем лёгких путей) ?
Я не против, но лучше всё-же по возможности находить более лёгкие пути. Или мы не ищем лёгких путей) ?
Так и не решили задачу, а ведь это нужная функция и многие этим пользуются и не знают, что профит закрытых ордеров не правильно считает.
Поэтому простое решение: LastProfit+=OrderProfit()+OrderCommission()+OrderSwap(); не прокатит, а все так и ляпают в своих кодах с перебором исторических ордеров.
Грамотного решения даже по всей сети нет - "google" говорит. Получается что все пользуются стандартным не правильным решением, или правильным но только оного последнего ордера ?
Так и не решили задачу, а ведь это нужная функция и многие этим пользуются и не знают, что профит закрытых ордеров не правильно считает.
Поэтому простое решение: LastProfit+=OrderProfit()+OrderCommission()+OrderSwap(); не прокатит, а все так и ляпают в своих кодах с перебором исторических ордеров.
Грамотного решения даже по всей сети нет - "google" говорит. Получается что все пользуются стандартным не правильным решением, или правильным но только оного последнего ордера ?
Мы посоветовали, Вы не поняли....
Хорошо, тогда по полочкам: есть время закрытия ордеров, есть тикет или номер ордеров которые совпадают по времени закрытия. Как это объединить и посчитать профит этих ордеров?
Вроде не сложно, но так и не понятно.
Так считает правильно, но только если закрылись 1-3 ордера, если больше 3-х, то профит с не понятным значением получается.
Что ещё можно тут добавить?
// Возвращает суммарный профит в валюте депозита серии закрытых ордеров |
//+----------------------------------------------------------------------------+
double LastProfitCL(int op=-1){ //"op" позиция (-1 любая позиция)
double LastProfit=0;
datetime t=0;
for(i=OrdersHistoryTotal()-1;i>=0;i--)
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY) && (OrderType()==OP_BUY || OrderType()==OP_SELL) && OrderSymbol()==Symbol() && OrderMagicNumber()==magic) {
if (OrderSymbol()!=Symbol()||OrderMagicNumber()!=magic) continue;
if (t<OrderCloseTime()) {t=OrderCloseTime();}
if ((op<0||OrderType()==op) && t==OrderCloseTime()) {LastProfit+=OrderProfit()+OrderCommission()+OrderSwap();}
}
return(LastProfit);
}
Так считает правильно, но только если закрылись 1-3 ордера, если больше 3-х, то профит с не понятным значением получается.
Что ещё можно тут добавить?
// Возвращает суммарный профит в валюте депозита серии закрытых ордеров |
//+----------------------------------------------------------------------------+
double LastProfitCL(int op=-1){ //"op" позиция (-1 любая позиция)
double LastProfit=0;
datetime t=0;
for(i=OrdersHistoryTotal()-1;i>=0;i--)
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY) && (OrderType()==OP_BUY || OrderType()==OP_SELL) && OrderSymbol()==Symbol() && OrderMagicNumber()==magic) {
if (OrderSymbol()!=Symbol()||OrderMagicNumber()!=magic) continue;
if (t<OrderCloseTime()) {t=OrderCloseTime();}
if ((op<0||OrderType()==op) && t==OrderCloseTime()) {LastProfit+=OrderProfit()+OrderCommission()+OrderSwap();}
}
return(LastProfit);
}
Вот Вы не пытались лично задаться вопросом - "Почему и что написано в моём коде?"
Я уже Вам выше трижды сказал что и как нужно сделать.
Выкладывайте весь код, иначе не сдвинуться с мёртвой точки.
Хорошо, тогда по полочкам: есть время закрытия ордеров, есть тикет или номер ордеров которые совпадают по времени закрытия. Как это объединить и посчитать профит этих ордеров?
Вроде не сложно, но так и не понятно.