Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Добрый день всем.
Вопрос по функции
У меня мультивалютный совентник. Пары задаются во внешних параметрах. Со своим магиком (по каждой паре).
Среди условий входа по каждому инструменту присутствует вот такое:ИЛИ (для второй пары)
Случилось так, что я вчера оба символа зарядила - EURUSD, и утром обнаружила, что открылась только одна сделка, хотя, вроде бы, сигналы были в обоих случаях.
И тут мне пришло в голову. Что функция
Сначала проверяет наличие открытой позиции по символу. А уж потом всё остальное.Иначе говоря, если уже есть открытая позиция (этим советником) по инструменту EIRUSD, то вторая позиция, даже с другим магиком , по иному алгоритму - уже не откроется?
Скажите, пож., это так или нет ?
Или я ошибаюсь в своих рассуждениях?, - и функция оценивает все заданные критерии "суммарно", а не по очереди...
Часто использую эту функцию, возвращает все согласно входным параметрам. Перебираемые функцией позиции последовательно сортируются по параметрам. Да сами посмотрите.
Т.е., это означает, что у меня советник не сможет открыть вторую позицию EURUSD, даже с другим магиком, пока открыта первая позиция ?
Видимо, так. Потому, что даже в тестере вроде бы не видно пересекающихся позиций.
//--------------------------------------------------------
Т.е., это означает, что у меня советник не сможет открыть вторую позицию EURUSD, даже с другим магиком, пока открыта первая позиция ?...
С точностью до наоборот :)) Это означает, что функция отдельно считает Ваши символы и магики. То есть, если открыта позиция по EURUSD c Magic_1 то NumberOfPositions("EURUSD", -1, Magic_2)==0;, конечно, если не существует еще одной позиции на EURUSD с Magic_2.
В общем виде функция считает открытые позиции по принципу (sy && op && mn), т.е. будут сосчитаны позиции, именно с этими параметрами. Несовпадение хотя бы одного параметра приведет к неучету ордера, функция его не увидит.
Выведите в Comment значения функций и Вы в реальном времени будете отслеживать количество ордеров и правильность работы функции. Скорее всего причина неправильной работы алгоритма находится в коде советника.
Добавление привязки к символу в вызове функции не помогает. Почему он считает профит для каждой позиции отдельно (рисунок выше)?
Не-е, я лучше предложу Вам свой рисунок...
...и скрипт...
Не-е, я лучше предложу Вам свой рисунок...
...и скрипт...
Понял, что "сам дурак"... Сплюсовав говядину и молоко, вымя получить не удастся...
Angela, компилятор не ожидал именно в этом месте встретить определение моей функции. Это значит, что где-то выше по коду у Вас чего-то нет. Может быть точки с запятой или закрывающей фигурной скобки. Вообщем, проверяйте внимательно код.
Я разобралась с этим, просто я Вашу функцию вставила внутри int start(), когда вынесла за пределы int start(), все откомпилировалось. Проблема в другом, в индикаторе в режиме визуализации в тесторе эта функция не получает данные из советника в индикатор.
Lucky$ & KimIV
http://www.kimiv.ru
Здравствуйте, Игорь!
Пользуюсь Вашим советником, - очень хороший, вчера хотел прикрутить индикатор через iCustom, но он его не видит, как в него прописывать через iCustom индикаторы? Что интересно встроенные функции типа iHigh, iLow видит без проблем, а по индикатору ни в какую не хочет выставлять отложки, я уже голову сломал в чем может быть проблема?
Вот так прописан сечас по iHigh и iLow дневного бара, с этой функцией работает как положено, отложки выставляет, а вот по индикатору ни в какую(((.... можно показать кусок кода как сделать в этом советнике выставление отложек по индикатору? Индикатор любой можно, лишь бы через вызов функции iCustom.
Если будет время конечно, спасибо..