Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 304

 
Alexey Viktorov:
Artyom Trishkin:
Спасибо, прошу простить, неправильно сформулировала мысль.
Цену открытия года хочу получить, не указывая конкретную дату, а передавая индекс, как если бы в терминале существовал бар 1 год. Прошлый месяц имеет индекс 1, так же сделать и прошлый год индекс 1.Помогите это реализовать?
 
mila.com:
Спасибо, прошу простить, неправильно сформулировала мысль.
Цену открытия года хочу получить, не указывая конкретную дату, а передавая индекс, как если бы в терминале существовал бар 1 год. Прошлый месяц имеет индекс 1, так же сделать и прошлый год индекс 1.Помогите это реализовать?

Очень просто.

double f(int numYear)
 {
   MqlDateTime newYear = {0}; // Обнулить обязательно.
   newYear.year = numYear;
   double priceOpenYear[1];
   CopyOpen(_Symbol, PERIOD_MN1, StructToTime(newYear), 1, priceOpenYear);
   return(priceOpenYear[0]);
}

И никак не зависит от рабочий\нерабочий день. PERIOD_MN1 всегда первое число месяца, так-же PERIOD_W1 всегда воскресенье.

 

Парни!

Один из клиентов жалуется, что советники слетают при резком движении цены. Такое происходило у разных ДЦ.

В коде советников ничего такого нет, что может вызвать удаление. И сам с таким эффектом никогда не сталкивался.

В чем может быть проблем?

 
Vladimir Tkach:

Парни!

Один из клиентов жалуется, что советники слетают при резком движении цены. Такое происходило у разных ДЦ.

В коде советников ничего такого нет, что может вызвать удаление. И сам с таким эффектом никогда не сталкивался.

В чем может быть проблем?


А в логах прям ничего нет? Даже о выгрузке?

 
Aleksey Vyazmikin:

А в логах прям ничего нет? Даже о выгрузке?


2017.08.08 23:31:29.035    Expert DEBUT 3.0 GBPUSD,M1: removed

 
Vladimir Tkach:

2017.08.08 23:31:29.035    Expert DEBUT 3.0 GBPUSD,M1: removed


Если эксперт не использует шаблоны - переоткрывает на своем чарте сам себя, то гипотез у меня нет...

 
Aleksey Vyazmikin:

Если эксперт не использует шаблоны - переоткрывает на своем чарте сам себя, то гипотез у меня нет...

Vladimir Tkach:

2017.08.08 23:31:29.035    Expert DEBUT 3.0 GBPUSD,M1: removed

Свободной памяти достаточно? Эксперт не забивает оперативку ничем?

 

Добрый вечер.

Подскажите пожалуйста почему не работает функция OrderSelect(Ticket,SELECT_BY_TICKET,MODE_TRADES)

Возвращает ошибку: expression could not be evaluated. Ticket - значение заполнено.

Ничего понять не могу ((((

Спасибо.

 
rabanik:

Добрый вечер.

Подскажите пожалуйста почему не работает функция OrderSelect(Ticket,SELECT_BY_TICKET,MODE_TRADES)

Возвращает ошибку: expression could not be evaluated. Ticket - значение заполнено.

Ничего понять не могу ((((

Спасибо.

При выборе ордера по тикету указывать pool не нужно - MODE_TRADES тут лишнее - этот параметр при выборе по тикету игнорируется, и ордер выбирается из одного из двух списков - из списка закрытых, или из списка рыночных позиций - зависит от того - закрыта позиция, или ещё нет.

После успешного выбора ордера по тикету, для того, чтобы понять из какого из двух списков выбран ордер, нужно проверить время закрытия позиции - если оно больше нуля, то ордер уже закрыт, и был выбран из списка исторических ордеров, иначе - ордер ещё в рынке.

А вот для того, чтобы понять в чём у вас ошибка, вы должны приложить код - дать больше информации, так как в данной строке в принципе нет ошибки (кроме того, что не проверяете результат возврата функции, используете игнорируемый в данном случае модификатор и нет ";" после закрывающей скобки).

 
Alexey Viktorov:Очень просто.

Спасибо, но у меня возвращает нуль. В чём может быть причина?

Comment("OpenYear : ",DoubleToString(f(1))); 
Причина обращения: