Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 97
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Тип, int или datetime
Я как-то делал функцию, которая выводит сообщения в окно пустого индюкатора. Можно настраивать цвета выводимых строк. Она уже отлажена. Если вдруг, могу и поделиться.
С радостью взгляну на Ваш код Артём. Для тестирования принт, не самый удобный вариант...
r772ra:
Эт че??
Тип, int или datetime
Вот переправил всё то безобразие, и вышло так:
Почему-то даже когда ордера закрываются и должно быть время закрытия последнего ордера соответственно не ноль.
А в коммент выводит постоянно:
Время закрытия последнего открытого ордера = 0
Поэтому и дальше у меня по коду ничего не работает соответственно, т.к. эта функция не пускает..
Вот переправил всё то безобразие, и вышло так:
Почему-то даже когда ордера закрываются и должно быть время закрытия последнего ордера соответственно не ноль.
А в коммент выводит постоянно:
Поэтому и дальше у меня по коду ничего не работает соответственно, т.к. эта функция не пускает..
Он у вас и отложенные ордера учитывает. Ну и соответственно просматривает открытые ордера. Естественно, он будет возвращать нулевое время закрытия.
Чтобы просмотреть закрытые ордера, нужно просматривать в списке закрытых:
и
Но... нужно делать две функции - одна ищет открытые, другая - закрытые.
Он у вас и отложенные ордера учитывает. Ну и соответственно просматривает открытые ордера. Естественно, он будет возвращать нулевое время закрытия.
Чтобы просмотреть закрытые ордера, нужно просматривать в списке закрытых:
и
Но... нужно делать две функции - одна ищет открытые, другая - закрытые.
Благодарю Артём. Точно... Дальше вопрос оптимизации кода. Есть вопросы по структуре кода, НО это нужно на свежую голову уже будет написать.
С радостью взгляну на Ваш код Артём. Для тестирования принт, не самый удобный вариант...
Вот советник для тестирования функции. В нём, собственно, сама функция и её вызов. Перед вызовом нужно подготовить сообщение, которое может состоять максимум из четырёх строк. Длина каждой строки, если мне память не изменяет, не должна превышать 64 символа. Именно потому я и сделал разбиение одного сообщения на несколько строк. Каждую строку одного сообщения можно выводить своим цветом. Там в коде вроде как всё понятно - сначала подготавливаем строки сообщений, затем вызываем функцию. Особо там не комментировал - писал на одном дыхании, давно. Теперь уже подзабыл что там для чего. Если будут вопросы - вспомню, сейчас вспомнил только самое необходимое.
Ну и индюшок:
Вот как-то так... Надеюсь разберётесь
Можно конечно вместо вывода в окно индюка сделать подложку и выводить на основной график, но мне лень... :)
Вот советник для тестирования функции. В нём, собственно, сама функция и её вызов. Перед вызовом нужно подготовить сообщение, которое может состоять максимум из четырёх строк. Длина каждой строки, если мне память не изменяет, не должна превышать 64 символа. Именно потому я и сделал разбиение одного сообщения на несколько строк. Каждую строку одного сообщения можно выводить своим цветом. Там в коде вроде как всё понятно - сначала подготавливаем строки сообщений, затем вызываем функцию. Особо там не комментировал - писал на одном дыхании, давно. Теперь уже подзабыл что там для чего. Если будут вопросы - вспомню, сейчас вспомнил только самое необходимое.
Ну и индюшок:
Вот как-то так... Надеюсь разберётесь
Можно конечно вместо вывода в окно индюка сделать подложку и выводить на основной график, но мне лень... :)
Люди добрые! Написал советник, вроде в реале все работает четко, все норм. А проверяю на тестере- глючит. Суть в следующем. Советник должен открывать ордера по брошенным на график горизонтальным линиям. И вот в тестере он их открывает бесконечно на каких попало уровнях, будто линий понаставлено куча, хотя их нет! Объясните, в чем дело?
Часть кода, отвечающего за линии:
int New_gorizont()
{
int tip_o_buy;
int tip_o_sell;
int obj_total=ObjectsTotal();
// если новых линий нет- выходим
if(obj_total==0)
return;
// если есть...
if(obj_total!=0)
string name=ObjectName(0);
double pr=NormalizeDouble(ObjectGet(name,1),Digits);
ObjectDelete(name); // удаляем и снова выставляем
if(pr>Bid+(Stop_level+1)*Point) // определяем тип ордеров
{
tip_o_sell=OP_SELLLIMIT;
tip_o_buy=OP_BUYSTOP;
}
if(pr<Bid-(Stop_level+1)*Point)
{
tip_o_sell=OP_SELLSTOP;
tip_o_buy=OP_BUYLIMIT;
}
// устанавливаем ордера
OrderSend(Symb,tip_o_sell,Value,pr,3,pr+StopLoss*Point,pr-TakeProfit*Point,"Ордер установлен");
Prov_oshibok();
................................
}
То есть по идее obj_total==0, и все на этом. А он почему-то все устанавливает и устанавливает до бесконечности.
Люди добрые! Написал советник, вроде в реале все работает четко, все норм. А проверяю на тестере- глючит.
Не верю, не может этот советник работать ни на реале ни в тестере.