цель - заставить советника торговать в определенные дни года, стандартна функция DayOfYear() есть но не работает так как требуется, к примеру я хочу чтобы советник срабтал только в 16 день года, указав DayOfYear()==16, результат не достигается, по хорошему структура советника должна быть такая:
- если день года равен =16 или 17....... (или интервал дат)->срабатывает проверка функции1->открытие ордера
- если день года равен =120 или 135...... (или интервал дат)->срабатывает проверка функции1->открытие ордера
подходящей функции на форуме не нашел, если плохо искал - ткните носом))))
цель - заставить советника торговать в определенные дни года, стандартна функция DayOfYear() есть но не работает так как требуется, к примеру я хочу чтобы советник срабтал только в 16 день года, указав DayOfYear()==16, результат не достигается, по хорошему структура советника должна быть такая:
- если день года равен =16 или 17....... (или интервал дат)->срабатывает проверка функции1->открытие ордера
- если день года равен =120 или 135...... (или интервал дат)->срабатывает проверка функции1->открытие ордера
подходящей функции на форуме не нашел, если плохо искал - ткните носом))))
Копать надо в сторону структуры
struct MqlDateTime { intyear; // год intmon; // месяц intday; // день inthour; // час intmin; // минуты intsec; // секунды intday_of_week; // день недели (0-воскресенье, 1-понедельник, ... ,6-суббота) intday_of_year; // порядковый номер в году (1 января имеет номер 0) };
соответственно советник получает ошибку 10012 и пытается еще раз выставить ордер.
PE 017:58:29.124(EURCHF,H1) OPEN ORDER sy=EURCHF op=2 ll=0.01 sl=10000 tp=0 coomment= Num mn=777SYMBOL_FILLING_MODE=2SYMBOL_TRADE_EXEMODE=2SYMBOL_EXPIRATION_MODE=15SYMBOL_TRADE_MODE=4SYMBOL_TRADE_STOPS_LEVEL=0SYMBOL_TRADE_FREEZE_LEVEL=0SYMBOL_ORDER_MODE=127SYMBOL_START_TIME=0SYMBOL_EXPIRATION_TIME=0SYMBOL_SPREAD=5SYMBOL_SESSION_DEALS=0
OJ 018:01:29.130(EURCHF,H1) Result ERROR= 10012 symbol EURCHF volume 0.01 action 5 tp 0.0 sl 1.07173 type 2 price 1.17173Request canceled by timeout
struct MqlDateTime { intyear; // год intmon; // месяц intday; // день inthour; // час intmin; // минуты intsec; // секунды intday_of_week; // день недели (0-воскресенье, 1-понедельник, ... ,6-суббота) intday_of_year; // порядковый номер в году (1 января имеет номер 0) };
да, интересует только день, конкретные интервалы дней, т.е из 365 дней годы интервалы с 15 по 140, с 150 по 300 и с 320 по 350, условно
перечисленные функции не совсемкорректны для моего случая, здесь Day это день месяца а не года
Вопрос к разработчикам. Если у меня в стратегии необходимо прочитать данные из файла, как правильно мне это сделать во время оптимизации.
Директивой tester_file передать файл в песочницу Агента, а из песочницы стандартно считать.
Директивой tester_file передать файл в песочницу Агента, а из песочницы стандартно считать.
#property tester_file "test_patterns.bin"
правильный вызов? в шапке? - почему-то не хочет передавать файл
файл положил в Terminal\Common\Files
Добрый вечер, требуется помощь в части кода
цель - заставить советника торговать в определенные дни года, стандартна функция DayOfYear() есть но не работает так как требуется, к примеру я хочу чтобы советник срабтал только в 16 день года, указав DayOfYear()==16, результат не достигается, по хорошему структура советника должна быть такая:
- если день года равен =16 или 17....... (или интервал дат)->срабатывает проверка функции1->открытие ордера
- если день года равен =120 или 135...... (или интервал дат)->срабатывает проверка функции1->открытие ордера
подходящей функции на форуме не нашел, если плохо искал - ткните носом))))
Добрый вечер, требуется помощь в части кода
цель - заставить советника торговать в определенные дни года, стандартна функция DayOfYear() есть но не работает так как требуется, к примеру я хочу чтобы советник срабтал только в 16 день года, указав DayOfYear()==16, результат не достигается, по хорошему структура советника должна быть такая:
- если день года равен =16 или 17....... (или интервал дат)->срабатывает проверка функции1->открытие ордера
- если день года равен =120 или 135...... (или интервал дат)->срабатывает проверка функции1->открытие ордера
подходящей функции на форуме не нашел, если плохо искал - ткните носом))))
Копать надо в сторону структуры
struct MqlDateTime
{
int year; // год
int mon; // месяц
int day; // день
int hour; // час
int min; // минуты
int sec; // секунды
int day_of_week; // день недели (0-воскресенье, 1-понедельник, ... ,6-суббота)
int day_of_year; // порядковый номер в году (1 января имеет номер 0)
};
Всем привет.
Кто-нибудь сталкивался с таким:
выставляем buylimit
сервер возвращает ошибку Request Timeout
но при этом ордер устанавливается.
соответственно советник получает ошибку 10012 и пытается еще раз выставить ордер.
Копать надо в сторону структуры
struct MqlDateTime
{
int year; // год
int mon; // месяц
int day; // день
int hour; // час
int min; // минуты
int sec; // секунды
int day_of_week; // день недели (0-воскресенье, 1-понедельник, ... ,6-суббота)
int day_of_year; // порядковый номер в году (1 января имеет номер 0)
};
да, интересует только день, конкретные интервалы дней, т.е из 365 дней годы интервалы с 15 по 140, с 150 по 300 и с 320 по 350, условно
перечисленные функции не совсемкорректны для моего случая, здесь Day это день месяца а не года
да, интересует только день, конкретные интервалы дней, т.е из 365 дней годы интервалы с 15 по 140, с 150 по 300 и с 320 по 350, условно
перечисленные функции не совсемкорректны для моего случая, здесь Day это день месяца а не года
int day_of_year; // порядковый номер в году (1 января имеет номер 0)
не пользовался этой структурой, но вроде как есть то, что нужно? или нет?
int day_of_year; // порядковый номер в году (1 января имеет номер 0)
решил вопрос с указанием конкретного дня года, не в том месте указывал прописывал))), остался вопрос с интервалом..
решил if (DayOfYear()>=16&&DayOfYear()<=26) всем спасибо!!