Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 494
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Таким образом у вас будет открыто 4-ре ордера.
Если советник открывает ордера не правильно, то проверяйте логику где вы указываете условия при которых должны открываться позиции в функции CheckForOpen() . И еще проверьте условия времени работы советника if (CurrTime < EaStartTime || CurrTime >= EaEndTime). Я бы на вашем месте использовал функцию if (TimeHour(TimeCurrent()) = час начала работы && TimeMinute(TimeCurrent()) = минуты начала работы ). Час и минуты начала работы задаются в переменных типа int или uint.
Открывал по 3 ордера,но не так как я задумывал.Хотел до трех ордеров,но по одному ордеру на каждый новый бар.Бывают такие моменты,когда несколько баров подряд дают положительные сигналы.
А по времени проблем нет,работает в строго отведенный период времени.
Открывал по 3 ордера,но не так как я задумывал.Хотел до трех ордеров,но по одному ордеру на каждый новый бар.Бывают такие моменты,когда несколько баров подряд дают положительные сигналы.
А по времени проблем нет,работает в строго отведенный период времени.
.mq4 файл, получил .ex4 файл. Но в тестере стратегий он не работает. Конечная
цель у меня была написать советник для МТ4. В MQL5 у меня получался .mq5 и
.ex5 файлы. И .ex5 файл открывал сделки. В четвёртой версии есть отличия от
пятой и я ещё полохо ориентируюсь в MQL языке, поэтому плохо получается.
Сейчас я не стал сильно разбираться что не так, файл журнала тестера сохранён. Я
попробую перевести что написал тестер. А пока прошу Вас может Вы подскажете
что же не так написано в программном коде? Пока Вы ответите, я попробую сам
разобраться.
Я с удивлением обнаружил у себя в четвёртой версии эдитора вариант написания
советника примерно то, что собирался написать. Но это не я писал. Прилагаю
файлы журнала тестера и скриншот. 05:30 МСК.


2016.01.13_05:14 МСК. Здравствуйте, господин Карпутов! Я написал в MQL4
.mq4 файл, получил .ex4 файл. Но в тестере стратегий он не работает.
Где найти описание ошибок?
Я вот не пойму, что не нравится компилятору, зачем он меня предупреждает?
check operator precedence for possible error; use parentheses to clarify precedence
if(Low[X]>PriceBuy && High[X]>PriceBuy ||
Low[X]<PriceBuy && High[X]<PriceBuy)
calcBarX++;
и тут
expression has no effect
for(calc_day;calc_day>0; calc_day--)
{
if(iLow(Symbol(),TF_3Day,calc_day)<iLow(Symbol(),TF_3Day,calc_day+1)) calc_day_OK++;
else break;
}
Где найти описание ошибок?
Я вот не пойму, что не нравится компилятору, зачем он меня предупреждает?
Вообще-то компилятор кроме текста ошибки ещё сообщает номер строки кода в которой ошибка и позицию в строке.
По первому случаю разобрался - поставил в скобки по два сравнения и не ругается - неужели была логическая ошибка - т.е. результаты сравнения могла замениться из-за "или"?
Остался открытый вопрос со вторым выражением - что там не так - есть идеи?
По первому случаю разобрался - поставил в скобки по два сравнения и не ругается - неужели была логическая ошибка - т.е. результаты сравнения могла замениться из-за "или"?
Остался открытый вопрос со вторым выражением - что там не так - есть идеи?
Надо помнить что проверка условия в новом mql4 производится не полностью. То-есть в условии
if(Low[X]>PriceBuy && High[X]>PriceBuy ||
Low[X]<PriceBuy && High[X]<PriceBuy)
если Low[x] не больше PriceBuy то дальше проверка проводится не будет. Об этом и сообщается в описании ошибки. Соответственно если первую пару заключить в скобки, то при невыполнении этой пары будет проверена вторая пара условий.
Второй вопрос.
for(calc_day;calc_day>0; calc_day--)
Чему равно calc_day??? Может быть меньше нуля? Компилятор не знает что заложено в логике... Вот и предупреждает о возможном не эффективном цикле.