Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Мой вопрос далеко уже улетел.)) Повторюсь.
tol64:
Почему то между 2001 и 2006 годом не тестируются эксперты. Смотрел по евро и фунту. Закрыл терминал, удалил историю. Закачалась заново. Всё равно. До 2001 сделки открываются. А начиная с 2001 по 2006 при наличии сигналов пропуск. Почему?
---
Дополнительная информация. Это происходит только, если в настройках тестера выбран таймфрейм D1. Если выбрать таймфрейм D1 в настройках эксперта, а в настройках тестера меньший ТФ, то пропуска нет. Это баг или есть какое-то этому объяснение?
Дык, посмотрите приведённый автором код. И в каком случае вызывается PositionGetDouble :)
Ну да, получаем данные после после того как определились что позиций в принципе нет и выбор конкретной позиции закончился неудачей...
Странно это как-то.
To Vedelkin
Еще раз. В справке сказано, что для гарантированного получения свежих данных о позиции рекомендуется вызывать функцию PositionSelect( Symbol() ) непосредственно перед обращением за ними. Приведенный мною код опровергает это утверждение. С точки зрения логики, сам код абсурден, но он подчеркивает неправильность утверждения в справке.
Теперь:
А косяк в том, что при отсутствии позиции функция PositionGetDouble(POSITION_VOLUME) должна возвращать ноль. Все. ИМХО.
Нет, вы ошибаете....
Возвращать ноль если есть (PositionSelect() ) позиция с объем=0.
Или вы думаете что если нет позиция надо возвращат и цена откритие =0 ?!?
А косяк в том, что при отсутствии позиции функция PositionGetDouble(POSITION_VOLUME) должна возвращать ноль.
:) "Косяк" в том, что при отсутствии открытой позиции бессмысленно запрашивать её данные и делать на основании этих данных дальнейшие расчёты.
..Ну вот, допустим, Вы достоверно знаете, что позиция отсутствует. Зачем же запрашивать данные о ней (делать лишние шаги), если уже известно, что позиции нет? Проще чуть переписать код.
Еще раз. В справке сказано, что для гарантированного получения свежих данных о позиции рекомендуется вызывать функцию PositionSelect( Symbol() ) непосредственно перед обращением за ними. Приведенный мною код опровергает это утверждение. С точки зрения логики, сам код абсурден, но он подчеркивает неправильность утверждения в справке.
Приведённый ранее код говорит только том, что автор "для гарантированного получения свежих данных" вызывает функцию PositionSelect(), функция рапортует о своём неудачном завершении, но автор продолжает требовать получения свежих данных о позиции. Правильно?
Но тогда получается следующее:
Иными словами, разработчики рекомендуют вызывать функцию, чтобы при её удачном завершении продолжать работу со свежими данными о позиции, и совершенно ничего не обещают, если функция вернула false. ...При получении false разработчики рекомендуют несколько иные процедуры :)
2. Более того, рассмотрим новую версию кода:
Здесь при неудачном завершении функции PositionSelect() предлагается тут же "расчитывать объем позиции при отсутствии позиции". Но кто сказал, что неудачное завершение функции PositionSelect() автоматически означает отсутствие позиции? Причины неудачи с работой функции PositionSelect() могут быть разными.
Хочу еще раз пристать к разработчикаи...
Рисунком хочу сказать что жизнено важно иметь возможность удалять отложенные ордера при достижении указанной цены. Без такой возможности мне как трейдеру МТ4 значительно интересней. Скажите пожалуйста какие ваши дальнейшие планы в этом направлении. Спасибо.
При работе с тестером очень часто вылетает терминал.
При работе с тестером очень часто вылетает терминал.
При работе с тестером очень часто вылетает терминал.
Опишите вашу ситуацию подробно в Cервисдеск, где укажите
Отчеты о крахах терминала вроде как регулярно поступают разработчикам в автоматическом режиме. Но при желании можно оформить заявку в СД, где указать все подробности и прикрепить логи.
Опишите вашу ситуацию подробно в Cервисдеск, где укажите