Задача - подсчет убыточных ордеров покупки/продажи по отдельности. Код:
int w = OrdersHistoryTotal()-1; if (OrderSelect(w, SELECT_BY_POS, MODE_HISTORY)) { if (OrderProfit() < 0) { if (OrderType()==OP_BUY) i = i + 1; if (OrderType()==OP_SELL) y = y + 1; Print("i, y", i, " ", y); Print("OrderProfit()", OrderProfit()); } }
Само собой код - кусок из советника. Советник пашет и стабильно приносит убытки. Есть куча убыточных ордеров (в другом месте вывожу на печать) все они заносятся в журнал. Но в данном куске кода советник не заходит в условие
Задача - подсчет убыточных ордеров покупки/продажи по отдельности. Код:
int w = OrdersHistoryTotal()-1; if (OrderSelect(w, SELECT_BY_POS, MODE_HISTORY)) { if (OrderProfit() < 0) { if (OrderType()==OP_BUY) i = i + 1; if (OrderType()==OP_SELL) y = y + 1; Print("i, y", i, " ", y); Print("OrderProfit()", OrderProfit()); } }
Само собой код - кусок из советника. Советник пашет и стабильно приносит убытки. Есть куча убыточных ордеров (в другом месте вывожу на печать) все они заносятся в журнал. Но в данном куске кода советник не заходит в условие
if (OrderProfit() < 0)
что я делаю не так?
Пробуй
int w = OrdersHistoryTotal();
int BUY=0;
int SELL=0;
for (i=0; i<w; i++)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY))
{
if (OrderProfit() < 0)
{
if (OrderType()==OP_BUY) BUY++;
if (OrderType()==OP_SELL) SELL++;
}
}
}
Print(" BUY = ",BUY);
Print(" SELL = ",SELL);
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Мне это нужно,чтобы советник сам начал расчёты производить.
Помогите разобраться:
Задача - подсчет убыточных ордеров покупки/продажи по отдельности. Код:
int w = OrdersHistoryTotal()-1;
if (OrderSelect(w, SELECT_BY_POS, MODE_HISTORY))
{
if (OrderProfit() < 0)
{
if (OrderType()==OP_BUY) i = i + 1;
if (OrderType()==OP_SELL) y = y + 1;
Print("i, y", i, " ", y);
Print("OrderProfit()", OrderProfit());
}
}
Само собой код - кусок из советника. Советник пашет и стабильно приносит убытки. Есть куча убыточных ордеров (в другом месте вывожу на печать) все они заносятся в журнал. Но в данном куске кода советник не заходит в условие
if (OrderProfit() < 0)
что я делаю не так?
У Вас что, советник только позы открывает? Каждая копия (версия) должна иметь свой магик и каждая будет следить только за своими позициями.
Понял.Большое спасибо!
Помогите разобраться:
Задача - подсчет убыточных ордеров покупки/продажи по отдельности. Код:
int w = OrdersHistoryTotal()-1;
if (OrderSelect(w, SELECT_BY_POS, MODE_HISTORY))
{
if (OrderProfit() < 0)
{
if (OrderType()==OP_BUY) i = i + 1;
if (OrderType()==OP_SELL) y = y + 1;
Print("i, y", i, " ", y);
Print("OrderProfit()", OrderProfit());
}
}
Само собой код - кусок из советника. Советник пашет и стабильно приносит убытки. Есть куча убыточных ордеров (в другом месте вывожу на печать) все они заносятся в журнал. Но в данном куске кода советник не заходит в условие
if (OrderProfit() < 0)
что я делаю не так?
Пробуй
у меня едет крыша, что с моим mql4??
Почему на каждом такте программа выполняет следующие условие? ведь написано, что бы печать "i" проходила только при новом закрытом ордере!
w = OrdersHistoryTotal();
if (i!=w)
{
i = w;
Print ("i :", i);
}
у меня едет крыша, что с моим mql4??
Почему на каждом такте программа выполняет следующие условие? ведь написано, что бы печать "i" проходила только при новом закрытом ордере!
w = OrdersHistoryTotal();
if (i!=w)
{
i = w;
Print ("i :", i);
}
Если i не статическая переменная он так и будет печатать на каждом тике.
Если i не статическая переменная он так и будет печатать на каждом тике.
Оо, а я-то думаю, чего у меня несколько кусков в программе через попку работают! =)
Т.е. все рабочие переменные, значения которых я использую в разных тактах необходимо объявлять статичными?
Оо, а я-то думаю, чего у меня несколько кусков в программе через попку работают! =)
Т.е. все рабочие переменные, значения которых я использую в разных тактах необходимо объявлять статичными?
Так сложно сказать.Посмотри свойства переменных,а уж потом думай что и как обозначать.
Функция OrderModify() не позволяет изменять комментарии. Как нибудь другим способом это реально сделать?
Функция OrderModify() не позволяет изменять комментарии. Как нибудь другим способом это реально сделать?
Только из терминала.