Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 759
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте! Подскажите пожалуйста, почему у меня иногда не срабатывает оператор if esle.
Вот пример:
Где:
H3 - это ценовое значение уровня
price - текущая цена
В итоге выходит, что цена доходит до этого уровня (иногда даже останавливается на нем), а Алерт не срабатывает.
Подскажите в чем ошибка?
Доброе утро.
Программа имеет такой вид.
При компиляции выдает:
'Ozero.mq4' Ozero.mq4 1 1
return value of 'OrderClose' should be checked Ozero.mq4 46 13
implicit conversion from 'number' to 'string' Ozero.mq4 49 117
0 error(s), 2 warning(s) 1 3
Во вкладке "результаты" видно, что ордера открываются и закрываются.
1 2014.08.25 00:00 buy 1 0.10 1.6550 0.0000 0.0000 0.00 10000.00
2 2014.08.25 06:30 close 1 0.10 1.6562 0.0000 0.0000 0.12 10000.12
3 2014.08.25 06:31 buy 2 0.10 1.6564 0.0000 0.0000 0.00 10000.12
4 2014.08.25 10:00 close 2 0.10 1.6574 0.0000 0.0000 0.10 10000.22
5 2014.08.25 10:00 buy 3 0.10 1.6576 0.0000 0.0000 0.00 10000.22
6 2014.08.25 12:58 close 3 0.10 1.6586 0.0000 0.0000 0.10 10000.32
7 2014.08.25 12:58 buy 4 0.10 1.6590 0.0000 0.0000 0.00 10000.32
8 2014.08.26 13:13 close at stop 4 0.10 1.6576 0.0000 0.0000 -0.14 10000.18
8 - это я прервал работу закрыв тестер.
Далее, смотрим "Журнал":
2014.10.31 07:46:44.837 GBPUSD,M15: 4453 tick events (5608 bars, 340128 bar states) processed within 312876 ms (total time 324436 ms)
2014.10.31 07:46:44.837 2014.08.26 13:13 Tester: order #4 is closed
2014.10.31 07:46:44.798 2014.08.26 13:13 Visual tester stopped
2014.10.31 07:43:15.315 2014.08.25 12:58 Ozero GBPUSD,M15: ОРДЕР ОТКРЫТ 4
2014.10.31 07:43:15.315 2014.08.25 12:58 Ozero GBPUSD,M15: open #4 buy 0.10 GBPUSD at 1.6590 ok
2014.10.31 07:43:15.315 2014.08.25 12:58 Ozero GBPUSD,M15: Открытие первой позиции
2014.10.31 07:43:15.245 2014.08.25 12:58 Ozero GBPUSD,M15: Чё-та не закрылася позиция. Фигня вот такая происходит: 4108
2014.10.31 07:43:15.245 2014.08.25 12:58 Ozero GBPUSD,M15: OrderClose error 4108
2014.10.31 07:43:15.245 2014.08.25 12:58 Ozero GBPUSD,M15: unknown ticket 3 for OrderClose function
2014.10.31 07:43:15.245 2014.08.25 12:58 Ozero GBPUSD,M15: close #3 buy 0.10 GBPUSD at 1.6576 at price 1.6586
2014.10.31 07:42:51.123 2014.08.25 10:00 Ozero GBPUSD,M15: ОРДЕР ОТКРЫТ 3
2014.10.31 07:42:51.123 2014.08.25 10:00 Ozero GBPUSD,M15: open #3 buy 0.10 GBPUSD at 1.6576 ok
2014.10.31 07:42:51.123 2014.08.25 10:00 Ozero GBPUSD,M15: Открытие первой позиции
2014.10.31 07:42:51.059 2014.08.25 10:00 Ozero GBPUSD,M15: Чё-та не закрылася позиция. Фигня вот такая происходит: 4108
2014.10.31 07:42:51.059 2014.08.25 10:00 Ozero GBPUSD,M15: OrderClose error 4108
2014.10.31 07:42:51.059 2014.08.25 10:00 Ozero GBPUSD,M15: unknown ticket 2 for OrderClose function
2014.10.31 07:42:51.059 2014.08.25 10:00 Ozero GBPUSD,M15: close #2 buy 0.10 GBPUSD at 1.6564 at price 1.6574
2014.10.31 07:42:31.473 2014.08.25 06:31 Ozero GBPUSD,M15: ОРДЕР ОТКРЫТ 2
2014.10.31 07:42:31.473 2014.08.25 06:31 Ozero GBPUSD,M15: open #2 buy 0.10 GBPUSD at 1.6564 ok
2014.10.31 07:42:31.473 2014.08.25 06:31 Ozero GBPUSD,M15: Открытие первой позиции
2014.10.31 07:42:31.331 2014.08.25 06:30 Ozero GBPUSD,M15: Чё-та не закрылася позиция. Фигня вот такая происходит: 4108
2014.10.31 07:42:31.331 2014.08.25 06:30 Ozero GBPUSD,M15: OrderClose error 4108
2014.10.31 07:42:31.331 2014.08.25 06:30 Ozero GBPUSD,M15: unknown ticket 1 for OrderClose function
2014.10.31 07:42:31.331 2014.08.25 06:30 Ozero GBPUSD,M15: close #1 buy 0.10 GBPUSD at 1.6550 at price 1.6562
2014.10.31 07:41:31.966 2014.08.25 00:00 Ozero GBPUSD,M15: ОРДЕР ОТКРЫТ 1
2014.10.31 07:41:31.966 2014.08.25 00:00 Ozero GBPUSD,M15: open #1 buy 0.10 GBPUSD at 1.6550 ok
2014.10.31 07:41:31.966 2014.08.25 00:00 Ozero GBPUSD,M15: Открытие первой позиции
2014.10.31 07:41:31.958 Ozero inputs: gLot=0.1; gPoint=0.001;
Теперь я вообще в растерянности. С одной стороны ордера закрываются, это видно по графику и "результатам", с другой стороны судя по журналу код исполняется с ошибками :(((((((((((
Ozero.
Ты два раза пытаешься закрыть один и тот же ордер. Убери верхний.
Доброе утро.
Исключил две строки. Все работает. И на графике все правильно отображается, и в результатах и в журналах.
Вопрос: при компиляции выдает
'Ozero.mq4' Ozero.mq4 1 1
return value of 'OrderClose' should be checked Ozero.mq4 46 13
0 error(s), 1 warning(s) 1 2
О чем предупреждает компилятор? 46 строка это OrderClose(OrderTicket(),OrderLots(),_Bid,15);
Ozero.
Ребяты подскажите из-за чего может быть глюк, возникший сегодня.
В советнике есть возможность остановки торговли за 15 минут до закрытия рынка в пятницу.
При появлении нового дня советник проверяет, если это пятница, то сегодня перестаем торговать в StringToTime("23:59")-15*60
В тестере стратегий эта функция работает правильно, но на реале наблюдаю совсем другую картину - советник перестает торговать с первым тиком при наступлении пятницы.
Вот принты из журнала экспертов:
Брокер №1, демо:
0 05:59:47.731 Scalper GBPAUDpt,M1: Finish In Friday = 2014.10.23 23:44:00
Брокер №2, реал:
0 03:00:11.999 Scalper EURUSD,M1: Finish In Friday = 2014.10.23 23:44:00
То есть при появлении сегодняшнего дневного бара (24 окт, пятница) на первом же тике советник
преобразует строку "23:59" во время со вчерашним днем, за место того чтобы присваивать день сегодняшний.
Но если советник перезапустить в пятницу в середине дня, то он корректно определит время завершения работы.
Нашел причину этой проблемы: https://forum.mql4.com/33023
Как и предполагалось, это практически баг функции StringToTime. Все симптомы сходятся. Данная функция преобразует строку "23:59" в datetime с датой локального ПК, а не с датой МТ4. А в тестере, как известно, дата локального ПК эмулируется и приравнивается ко времени терминала. Поэтому в тестере все работает как надо, а на демо/реале получается глюк и убытки. В документации конечно не сказано откуда берется дата и по ссылке выше видно что данная проблема озвучивалась еще 4 года назад, но видимо метаквотам все равно.
Еще вопрос. Я правильно понимаю, что:
1. нумерация ордеров начинается от "0".
2. такой код закроет абсолютно все ордера, хоть я их открывал в ручную, хоть программно? Т.е. никогда не найдется такой ордер, который эта часть программы не сможет закрыть?
Ozero.
Кто нибудь делал скроллинг текста на экране? К примеру - ордер такой то открыт/закрыт/модифицирован и т.п.. Новости там такие то... ?
Если не жалко, покажите пожалуйста кусок кода.
Сенкс!
Лучше нижний. Ордер предварительно надо выбрать.
Лучше так:
Кто нибудь делал скроллинг текста на экране? К примеру - ордер такой то открыт/закрыт/модифицирован и т.п.. Новости там такие то... ?
Если не жалко, покажите пожалуйста кусок кода.
Сенкс!
Делал вертикальный скроллинг в окне пустого индикатора. Вот функция:
Как пример использования одноцветного сообщения (можно 4 цвета в одной строке для разных слов):
На графике должен быть пустой индикатор с именем Win_Inform.