Вопросы от начинающих MQL4 MT4 MetaTrader 4 - страница 180
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
да, и я того же мнения, но не только истории и кол-ва индикаторных буферов - т.е. я опять на выделение памяти, если память МТ4 всю сожрал, то потом начинает подтупливать - видимо начинает освобождать участки памяти
Однозначно ответить смогут разработчики, но речь про MetaTrader 4, и тут ...
А для чего какие-то вычисление в коде делать?
не вычисления делайте - там топик не толковый был, а мне было интересно проверить что оптимизатор делает вот и набросал код
у себя так в коде добавьте:
т.е. пишите просто параметры оптимизации в файл, если зависнет, то в файле сумеете прочитать последний проход какие были параметры и время файла будет время "последнего вздоха" тестера
Однозначно ответить смогут разработчики, но речь про MetaTrader 4, и тут ...
И тут.. ничего не изменится. Пользуемся тем, что есть.
Добрый день! Подскажите, торговая система открывает позицию только при открытии нового часового бара при определенных условиях. Необходимо сделать так, чтобы при закрытии позиции по стоп лоссу на текущем баре сделка вновь не открылась. Реализовал это я так :
if (OrdersTotal()==0 && ticket!=-1) // Открытых лотов нет но тикет существует
{
if (OrderSelect(ticket,SELECT_BY_TICKET)==true)
{
datetime tct=OrderCloseTime(); // Время закрытия ордера
datetime tob=iTime(NULL,PERIOD_H1,0); // Время открытия бара текущего
if (tob>tct) // Не дает открыть повторный ордер если сделка закрылась на той же свече что и открылась
{
ФУНКЦИЯ ОТКРЫТИЯ ПОЗИЦИИ
}
В тестере стратегий повторные позиции перестали открываться, а при торговле в живую открылась позиция. Подскажите что не так?))
Добрый день! Подскажите, торговая система открывает позицию только при открытии нового часового бара при определенных условиях. Необходимо сделать так, чтобы при закрытии позиции по стоп лоссу на текущем баре сделка вновь не открылась. Реализовал это я так :
if (OrdersTotal()==0 && ticket!=-1) // Открытых лотов нет но тикет существует
{
if (OrderSelect(ticket,SELECT_BY_TICKET)==true)
{
datetime tct=OrderCloseTime(); // Время закрытия ордера
datetime tob=iTime(NULL,PERIOD_H1,0); // Время открытия бара текущего
if (tob>tct) // Не дает открыть повторный ордер если сделка закрылась на той же свече что и открылась
{
ФУНКЦИЯ ОТКРЫТИЯ ПОЗИЦИИ
}
В тестере стратегий повторные позиции перестали открываться, а при торговле в живую открылась позиция. Подскажите что не так?))
Оно?
Оно?
не совсем. А что не так в моем варианте? основное условие это не возможность повторного входа на текущей часовой свече! Ведь довольно простое условие, что в нем не так и почему оно не работает ?
не совсем. А что не так в моем варианте? основное условие это не возможность повторного входа на текущей свече! Ведь довольно простое условие, что в нем не так и почему оно не работает ?
А тикет какой выбрали в OrderSelect?
А тикет какой выбрали в OrderSelect?
Тикет передается последний... При открытом ордере, открытие новых ордеров невозможно по системе и отложенных ордеров тоже не может быть. Так что последний тикет это последний ордер по стопу или профиту.
Как вы передаете тикет последнего ордера?
И OrdersTotal() передает обще количество открытых и отложенных ордеров.
Вот новый бар текущего таймфрейма.
Как вы передаете тикет последнего ордера?
И OrdersTotal() передает обще количество открытых и отложенных ордеров.
Вот новый бар текущего таймфрейма.
Тикет обьявлен глобальной переменной. При покупке или продаже передается тикет. В моей системе не может быть открыто несколько ордеров, только один и отложенных тоже не может быть. или открыта позиция или нет. Поэтому последний тикет это я так понимаю ордер закрытый или по профиту или по стопу.
ок, голову гудит.. завтра обдумаю еще раз и ваш совет