Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 915
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
проблема что тикетов этих больше одного. может 4, точно не знаю еще. поэтому создал класс, где будет номер тикета и другая информация, которую не хранит ордерселект. поэтому хотелось иметь доступ по тикету. но пока что в голову приходит только создавать обьекты класса и накидать в CarrayObj а потом доставать по индексу, сравнивать тикет и дальше анализировать. а проблема почему спрашивал - что терялся из-за обработки ошибок. но с тем разобрался, спасибо, сам виноват в другом месте. Господа evillive AlexeyVik - спасибо за оперативные ответы!
)
Здравствуйте! Напишите пожалуйста, почему в тестере стратегий не открывает сделки, пишет в журнале ошибка: (2015.07.13 00:22:39.218 TestGenerator: unmatched data error (high value 1.31150 at 2013.07.11 05:00 is not reached from the least timeframe, high price 1.31140 mismatches) котировки обновлял. Вот код советника:
)
По поводу упомянутой ошибки тестера, так будет всегда при тестировании на тиках. История котировок в МТ4 несовершенна, всегда есть несовпадения.
Код кишит ошибками. Переменные bars* не инициализированы, функция старт непонятно что возвращает, проверки исполнения торговых функций нет, исправляйте.
В начало кода добавьте #property strict.
И раз уж сделали целых две функции определения типа ордеров, почему бы туда не встроить счётчик ордеров каждого типа и вместо сравнения if( OrdersTotal()<1...) писать if ( OrdersBuy<1...), if ( OrdersSell<1...)? Это было бы правильнее.
Подскажите пожалуйста как открыть только одну сделку в условиях одного бара, если сделка происходит внутри бара, но на момент закрытия сделки сигнал на открытие возникает сразу же на том же баре.
Другими словами - бар дал сигнал на открытие ордера. Он открылся, срабоал короткий тейк. Сделка закрылась, но советник по закрытии первой, сразу же открывает вторую точно такой же ордер, так как условие для открытия в пределах этого бара все еще есть. Мне надо чтобы если на одном баре была только одна сделка. А для открытия следующей какой либо сделки ждем открытия другого бара.
Подскажите пожалуйста как открыть только одну сделку в условиях одного бара, если сделка происходит внутри бара, но на момент закрытия сделки сигнал на открытие возникает сразу же на том же баре.
Другими словами - бар дал сигнал на открытие ордера. Он открылся, срабоал короткий тейк. Сделка закрылась, но советник по закрытии первой, сразу же открывает вторую точно такой же ордер, так как условие для открытия в пределах этого бара все еще есть. Мне надо чтобы если на одном баре была только одна сделка. А для открытия следующей какой либо сделки ждем открытия другого бара.
bool _ужеоткрывался = false;
if (isNewBar()){ _ужеоткрывался = false;}
if (!OrderSend(...) ) { /* обработка ошибок */; } else { _yжеоткрывался = true; }
isNewBar() - стандартный, как есть в статьях, с использованием static datetime date = Time[0];
if (_ужеоткрывался) { return; //ордер не слать }
По поводу упомянутой ошибки тестера, так будет всегда при тестировании на тиках. История котировок в МТ4 несовершенна, всегда есть несовпадения.
Код кишит ошибками. Переменные bars* не инициализированы, функция старт непонятно что возвращает, проверки исполнения торговых функций нет, исправляйте.
В начало кода добавьте #property strict.
И раз уж сделали целых две функции определения типа ордеров, почему бы туда не встроить счётчик ордеров каждого типа и вместо сравнения if( OrdersTotal()<1...) писать if ( OrdersBuy<1...), if ( OrdersSell<1...)? Это было бы правильнее.
bool _ужеоткрывался = false;
if (isNewBar()){ _ужеоткрывался = false;}
if (!OrderSend(...) ) { /* обработка ошибок */; } else { _yжеоткрывался = true; }
isNewBar() - стандартный, как есть в статьях, с использованием static datetime date = Time[0];
if (_ужеоткрывался) { return; //ордер не слать }
он пишет 'isNewBar' - function not defined 2015
я на самом деле не мастер. Мне бы точь в точь чтобы копирнуть и вставить если можно пожалуйста.
он пишет 'isNewBar' - function not defined 2015
я на самом деле не мастер. Мне бы точь в точь чтобы копирнуть и вставить если можно пожалуйста.
он пишет 'isNewBar' - function not defined 2015
я на самом деле не мастер. Мне бы точь в точь чтобы копирнуть и вставить если можно пожалуйста.
Да в любом советнике в кодобазе нашли бы!
Да в любом советнике в кодобазе нашли бы!
Спасибо )) Сильнейший просто! все заработало с 1го раза!
Всем спасибо!