Посмотрите у Кима в ветке с функциями, там есть готовая.
Возможно, пригодится - глянь https://www.mql5.com/ru/forum/113963
Вот эту гляньте, вроде она: (https://www.mql5.com/ru/forum/107476/page21#80065)
//+----------------------------------------------------------------------------+ //| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru | //+----------------------------------------------------------------------------+ //| Версия : 19.02.2008 | //| Описание : Возвращает флаг убыточности последней позиции. | //+----------------------------------------------------------------------------+ //| Параметры: | //| sy - наименование инструмента ("" - любой символ, | //| NULL - текущий символ) | //| op - операция (-1 - любая позиция) | //| mn - MagicNumber (-1 - любой магик) | //+----------------------------------------------------------------------------+ bool isLossLastPos(string sy="", int op=-1, int mn=-1) { datetime t; int i, j=-1, k=OrdersHistoryTotal(); if (sy=="0") sy=Symbol(); for (i=0; i<k; i++) { if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) { if (OrderSymbol()==sy || sy=="") { if (OrderType()==OP_BUY || OrderType()==OP_SELL) { if (op<0 || OrderType()==op) { if (mn<0 || OrderMagicNumber()==mn) { if (t<OrderCloseTime()) { t=OrderCloseTime(); j=i; } } } } } } } if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) { if (OrderProfit()<0) return(True); } return(False); }
Ок, спасибо, внедряю, тестю.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Привет всем. Хочу заходить 0.2 лотами если последня поза была убыточная и 0.1 если профитаная. Набросал такой код
double Lots()
{
if(OrderSelect(1, SELECT_BY_POS)==true)
{
,
if (OrderProfit()>=0)
{
return( 0.1 );
Print("0.--1");
}
if (OrderProfit()<0)
{
return( 0.2 );
Print("0.2");
}
}
if(OrderSelect(1, SELECT_BY_POS)==false)
{
return( 0.1 );
Print("0.1");
}
На тестере пока пусто, и тесты на демке сделок не дают хотя в логах пока ошибок нет.