Здравствуйте, помогите. Я играю на Н1, у меня есть индикатор Н4. Он правильно показывает. Но если запустить его в тестере, с визуализацией, к примеру в начале года, он показывает текущую информацию,которая сейчас на рынке. В общем не работает в тестере. Как сделать, чтобы он заработал. Или подкиньте на тему где это решается.
Неужели мне за вас писать последовательность поиска ошибок?
Вообще-то да. В общем ситуация такая:
void ClosePosBySortLots()
{
double a[][2];
int p = 0;
for (int i=OrdersTotal()-1; i>=0; i--)
{
if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continue;
if (OrderMagicNumber() != i_magic) continue;
if (OrderSymbol() != Symbol()) continue;
if (OrderType() < 2)
{
p++;
ArrayResize(a, p);
a[p-1][0] = OrderLots();
a[p-1][1] = OrderTicket();
}
}
// pr ("ClosePosBySortLots(): " + "p = " + p);
pr("___p = " + p); // Значение кол-ва позиций до if..if (p > 0)
{
pr("p = " + p); // Значение кол-ва позиций после if..ArraySort(a, WHOLE_ARRAY, 0, MODE_DESCEND);
for(i=0; i<p; i++)
{
pr("a[i][1] = " + a[i][1]);
}
for(i=0; i<p; i++)
{
if (OrderSelect(a[i][1], SELECT_BY_TICKET, MODE_TRADES))
{
if (OrderCloseTime() == 0) ClosePosBySelect();
}
}
}
}
Прогоняю так, тоже ничего не выдаёт на данном участке графика. Хотя в других местах принтовало 0, когда открыта было одна позиция, и она закрывалась по тейку сразу. Т.е. на данном участке канкретно косякова отрабатывает как-будто...
Прогоняю так, тоже ничего не выдаёт на данном участке графика. Хотя в других местах принтовало 0, когда открыта было одна позиция, и она закрывалась по тейку сразу. Т.е. на данном участке канкретно косякова отрабатывает как-будто...
Вот скрин:
Тперь все эти значения принтовать?
Вроде бы куда дальше уже. Ведь там всё понятно и обычно написано.
Вы понимаете и видите, что содержится в вашем массиве сразу после его "заполнения" данными об ордерах? Нет. Не знаете, а только предполагаете. РАСПРИНТУЙТЕ содержимое всех ячеек массива, не вашей pr(), а стандартным Print() и потрудитесь заглянуть в журнал тестера и увидеть, чего ж там у вас в массиве находится, в каждой его ячеечке, сразу после его заполнения. Вот когда точно будете знать, что содержание массива соответствует вашим представлениям о его содержимом, вот тогда и принтуйте его своей pr(). Если она вам выдаст не те же результаты - дело в ней, в вашей pr(), если данные будут совпадать, значит ищите ошибку дальше, на следующем этапе.
Такая задачка - есть одномерный массив, размер которого может изменяться. Как в цикле перебрать все возможные комбинации элементов массива друг с другом? Порядок элементов роли не играет, т.е. 123==213==321..
Здравствуйте! Я сравниваю цены открытия 3 баров ( 3,2,1). Как можно не засчитывать бар где цены равны?
Здравствуйте! Я сравниваю цены открытия 3 баров ( 3,2,1). Как можно не засчитывать бар где цены равны?
Ну как пусто? Вообще ничего не выводит, или всё-таки в ячейках массива нули?
Вообще ничего..
Даже если зайти в Объекты, то там не вообще никаких объектов, кроме стрелок и трендовых линий..
А зачем i увеличиваете в теле цикла?
и вот это: i<=p, зачем "или равно" ?
Это уже я от усталости накосячил. Исправил так:
Этот кусок кода сам находится в функции:
Вообще ничего..
Даже если зайти в Объекты, то там не вообще никаких объектов, кроме стрелок и трендовых линий..
Это уже я от усталости накосячил. Исправил так:
Этот кусок кода сам находится в функции:
Перед и после
распринтуйте значение p
Неужели мне за вас писать последовательность поиска ошибок?
Перед и после
распринтуйте значение p
Неужели мне за вас писать последовательность поиска ошибок?
Вообще-то да. В общем ситуация такая:
Прогоняю так, тоже ничего не выдаёт на данном участке графика. Хотя в других местах принтовало 0, когда открыта было одна позиция, и она закрывалась по тейку сразу. Т.е. на данном участке канкретно косякова отрабатывает как-будто...
Вот скрин:
Тперь все эти значения принтовать?
Вроде бы куда дальше уже. Ведь там всё понятно и обычно написано.
Вообще-то да. В общем ситуация такая:
Прогоняю так, тоже ничего не выдаёт на данном участке графика. Хотя в других местах принтовало 0, когда открыта было одна позиция, и она закрывалась по тейку сразу. Т.е. на данном участке канкретно косякова отрабатывает как-будто...
Вот скрин:
Тперь все эти значения принтовать?
Вроде бы куда дальше уже. Ведь там всё понятно и обычно написано.
В журнале есть ошибки, связанные с лотностью (OrderSend error 4051). Решу этот вопрос. Может поможет. А дальше будем тогда смотреть.
На танки посмотрите, перегрузитесь, может поможет... :-)
П.С. Я щас - по доброму.
Как в цикле перебрать все возможные комбинации элементов массива друг с другом?
Порядок элементов роли не играет, т.е. 123==213==321..
Вот пример для массива с 4-мя элементами: