мой кусок кода, может подойдет, хотя сам ламер полный :) :
for (int j=0; j<OrdersHistoryTotal(); j++)
{
if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY))
{
if ((OrderProfit()<0))
{
// то, что вам нужно
}
}
if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY))
{
if ((OrderProfit()>0))
{
//то, что вам нужно
}
}
}
мой кусок кода, может подойдет, хотя сам ламер полный :) :
for (int j=0; j<OrdersHistoryTotal(); j++)
{
if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY))
{
if ((OrderProfit()<0))
{
// то, что вам нужно
}
}
if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY))
{
if ((OrderProfit()>0))
{
//то, что вам нужно
}
}
}
Все равно не работает... даже если поставить флаги ... к примеру на profit<0 то не торговать если профит то торговать ... тогда перестает торговать даже когда срабатывает профит
Мне надо в советнике добавить функцию проверки ... закрылся ордер по стопу тогда ... или по профиту тогда.... как это можно реализовать....
помогите начинающему....
Вот здесь сегодня уже был подобный вопрос https://www.mql5.com/ru/forum/111497/page285
//------------------------------------------------------------------
Функция isCloseLastPosByStop().
Эта функция возвращает флаг закрытия последней позиции по стопу. Флаг поднят - True - сработал StopLoss. Флаг опущен - False - позиция была закрыта по другой причине.
Функция isCloseLastPosByTake().
Эта функция возвращает флаг закрытия последней позиции по тейку. Флаг поднят - True - сработал TakeProfit. Флаг опущен - False - позиция была закрыта по другой причине.
мой кусок кода, может подойдет, хотя сам ламер полный :) :
for (int j=0; j<OrdersHistoryTotal(); j++)
{
if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY))
{
if ((OrderProfit()<0))
{
// то, что вам нужно
}
}
if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY))
{
if ((OrderProfit()>0))
{
//то, что вам нужно
}
}
}
Все РАБОТАЕТ ПРОБЛЕМУ НАШЕЛ.... Надо было в клиенте в папке тестера убить все ... дальше считает как положено..... посиб тебе ASK....
Мне надо в советнике добавить функцию проверки ... закрылся ордер по стопу тогда ... или по профиту тогда.... как это можно реализовать....
помогите начинающему....
Функция Кима:
Функция isLossLastPos().
Эта функция возвращает флаг убыточности последней закрытой позиции. Флаг поднят - True - последняя позиция была закрыта с убытком. Флаг опущен - False - последняя позиция была закрыта либо в ноль, либо с прибылью. Функция не учитывает свопы и комиссию. Отбор позиций задаётся внешними параметрами:
- sy - Наименование рыночного инструмента. Если задать этот параметр, то функция учтёт позиции только заданного инструмента. Значение по умолчанию - "" означает любой рыночный инструмент. NULL означает текущий инструмент.
- op - Торговая операция, тип позиции. Допустимые значения: OP_BUY, OP_SELL или -1. Значение по умолчанию -1 означает любую позицию.
- mn - Идентификатор позиции, MagicNumber. Значение по умолчанию -1 означает любой идентификатор.
//+----------------------------------------------------------------------------+ //| Автор : Ким Игорь В. 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+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Мне надо в советнике добавить функцию проверки ... закрылся ордер по стопу тогда ... или по профиту тогда.... как это можно реализовать....
помогите начинающему....