[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - страница 586
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Что означает это изречение на простом языке?
"Эта функция возвращает цену открытия ближайшей позиций"
Навскидку, что вижу, в функции закрытия ордеров нужно выбрать ордер по тикету OrderSelect(Ticket, SELECT_BY_TICKET), количество лотов указать не переменной Lts, она ведь каждый раз пересчитывается, а использовать OrderLots() И еще одно- вы продолжаете работать на 0-м баре, соответственно, критерии наодном баре могут появляться пропадать, ваши ордера могут открываться не там, где хотелось бы. Замените в параметрах индикатора бар 0 на 1, 1 на 2
Огромное спасибо за ответ), но вот критерии снова работают не так как нужно, на скрине это видно (не по всем пересечениям стохастика работают ордера( ), и хотел бы все таки работать на 0 баре, но для этого как я понял нужно доп. условие: после открытия ордера на текущем баре, ничего не делать пока бар не закроется, но как это реализовать не знаю (может через масивы таймсерий???) Подскажите пож.
qccltotmvrgqnuccd.mq4 (13.66 KB)
Объявите переменную типа datetime, присвойте ей значение Time[0], после открытия ордера, потом если она не равна Time[0 , можно открывать следующий ордер, если равна --выход из старт. Что касается критериев,код я не смотрел, но, видимо, если это стохастик, то срабатывать должен при пересечении в районе перекупленности--перепроданности(обычно >80 и<20 %). Для наглядности поставье уровни 20 и80 % в настройках стохастика.
Что означает это изречение на простом языке?
"Эта функция возвращает цену открытия ближайшей позиций"
Смотря какая функция. Или последней открытой, или цена открытия которой ближе всего к текущей цене. Тут просто не сказано, по какой оси ближайшей, по времени или по цене. Если эта функция используется в программе по управлению торговлей с помощью мышки, то точно по цене.
Это не функции, а способ сравнения ненормализованных чисел. их нельзя сравнивать друг с другом, но можно результат вычитания одного из другого сравнивать с нулем.
А проверка у меня такая:
и это условие не помогает..
Он у вас будет искать индекс бара с максимальной ценой в последних 9 барах, при условии что вы запустите программу в 10 часов. Hour() -- это время запуска программы (серверное).
P.S. Точнее не индекс, а максимальную цену (High) этого бара.
и это условие не помогает..
Ну тогда не знаю. это надо смотреть код, причем не только функции, а всей программы, вставлять по ходу проверку ошибок,распечатывать значения переменных и последней ошибки и искать конкретное место ошибки в коде. Когда я отлаживал свои программы, если они достаточно большие(порядка 1000 строк), у меня на это иногда недели уходили, то есть больще времени, чем на их написание.
Всем привет!
Разбираю пример из учебника . Не могу понять какую ф-цию выполняет следующее условие:
Сам код прикрепил. Советник раскрашивает последние n баров.
Помогите пожалуйста разобраться.
Любая функция, вызываемая программой, возвращает в программу результаты своей работы в виде значений каких то переменных, которые она во время работы изменяет. void,int,bool, которые стоят в строке перед инициализируемой функцией указывают тип переменной, значение которой функция возвращает программе, чтобы та с ними дальше работала. void указывает, что функция не возвращает никаких значений(если результатом работы функции является, например, закрытие или открытие ордеров,или изменение значений глобальных переменных , которые не надо возвращать, так как они и так доступны(видны)из любой части программы).
А насчет ДРУГИМ языком, так есть английская версия форума. Просто язык -- это определенный набор правил и в определенном я зыке есть общепринятые названия для предметов и явлений. если вы использукте не общепринятые названия, а те, которые вам больше нравятся, вас просто не поймут.
кажется понял :)) спасибо :))
Спасибо за помощь, в определении макс и мин цены закрытия бара, но честно говоря я не могу его вставить в основной код советника делал разные варианты и всегда получаеться какая то ерунда, может посмотрите что у меня не так. суть раюоты советника проста: за определенное время (01.00 до 10.00)определяем максимальную и минимальную цену и выставляем отложки
Код ваш посмотрел,и прямо не знаю что сказать. Как говорил выше TarasBY проще сказать, что в нем правильно:
1.Как я вам уже говорил выше -- функции Seconds(),Minute(),Hour(), возвращают серверное время старта программы, и при таком условии if (Hour()==10), ваша функция работать не будет, если вы запустили свой эксперт не в 10 часов. У вас такие условия сплошь и рядом. Внимательнее читайте описание функций в справке.
2.if (TIMECLOSEHIGH19>TIMEOPENLOW19) и if (TIMECLOSELOW19<TIMEOPENHIGH19) -- это условия, которые будут выполняться всегда.
3.Не пишите по 3 --4 практически одинаковых функции в одной программе, делайте одну функцию, и при вызове передавайте в нее нужные параметры. это не ошибка, но делает код программы громоздким и трудночитаемым.
4. Используйте любую,но всегда одну и ту же систему расстановки синтаксических знаков(пробелы,табуляцию, переносы строк, расставление скобок), иначе сами запутаетесь и других запутаете.
Пока достаточно, исправьте это а там поглядим.
Всем привет!
Разбираю пример из учебника . Не могу понять какую ф-цию выполняет следующее условие:
Сам код прикрепил. Советник раскрашивает последние n баров.
Помогите пожалуйста разобраться.
См. также ObjectSet().