Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Я правильно понял, что переменные last_time и result - это и есть искомые значения, с которыми работаем. А имено result определяет, на сколько по времени будет смещена (перерисована) линия в будущее. Тогда и блок кода "Profit for the period" надо поставить перед блоком "Move the vertical line", чтобы двигать линию уже с учетом полученных данных по последней сделке.
Всё верно или что-то путаю?
Это внутренние переменные функции LastProfitForPeriod.
Нам ведь нужно получить значение прибыли последней сделки? Вот LastProfitForPeriod() и выдаёт нам прибыль последней сделки. Остаётся в зависимости от этой прибыли двигать вертикальную линию.
Итак, остаётся последний штрих - в зависимости от полученной прибыли перемещать линию.
НАпомните какие там правила перемещения?
упс, сорри - уточняю:
- если результат последней сделки отрицательный и результат дня отрицательный, то вертикальная линия чертится на расстоянии 24 часа (сутки) в будущее.
- если результат последней сделки отрицательный, а результат дня положительный, то вертикальная линия чертится на расстоянии 2 часа в будущее.
- если результат последней сделки положительный, то вертикальная линия чертится на расстоянии 1 час в будущее.
Вот нашёл пояснение, почему параметр "до" нужно делать в будущее:
Спасибо!
Судя по условиям необходим еще результат дня, в котором была последняя сделка (если сделок в этот день было несколько)
упс, сорри - уточняю:
- если результат последней сделки отрицательный и результат дня отрицательный, то вертикальная линия чертится на расстоянии 24 часа (сутки) в будущее.
- если результат последней сделки отрицательный, а результат дня положительный, то вертикальная линия чертится на расстоянии 2 часа в будущее.
- если результат последней сделки положительный, то вертикальная линия чертится на расстоянии 1 час в будущее.
А, так нужно ещё отдельно получать прибыль за текущий день.
Внести коррективы в LastProfitForPeriod() - убираем входные параметры времени "от" и "до" и формируем эти параметры уже внутри функции: формируем время начала дня (это будет "от"), а "до" получаем текущее время + сутки.
В итоге в LastProfitForPeriod() будем передавать по ссылке два параметра: прибыль за день и прибыль последней сделки.
Начало дня получаем при помощи iTime
- то есть это время открытия текущего дневного бара.
Скомпилировал - здорово!
Есть только моменты следующие:
1) Значению переменной Profit last day при наложении индикатора присваивается итоговая прибыль не за последний день, в котором была последняя сделка, а итоговую прибыль вообще по счету. Потом, правда, при перерасчете индикатора (где-то через 1-2 минуты) значение меняется на верное (итоговая прибыль за день, в котором была посл. сделка). Я только сужу по счету, на котором посл. сделка была сегодня.
2) При удалении индикатора с графика Comment в левом верхнем углу не удаляются. При очистке списка объектов тоже не удаляются. Я перезапускаю терминал, чтобы значения пропали, что не удобно конечно же. Как сделать проще - не знаю :)
Еще наверное логично блоки с кодом создания линии, перемещения линии и удаления линии (Create the vertical line, Move the vertical line и Delete the vertical line) разместить уже после блока расчета по последней сделке (Profit for the period). Чтобы уже с учетом смещения в будущее на n-часов, рассчитанных на основании данных profit_last_day и profit_last_deal, рисовать линию.
Типа
if (profit_last_day<=0 and profit_last_deal<=0){n=24;}
else (profit_last_day>0 and profit_last_deal<=0){n=2;}
else {n=1;}
//---
time = last_time + n;
//---
далее уже рисуем линию со смещением по времени относительно посл. сделки, используя рассчитанное значение time...
В версии 1.002 введена защита: если время открытия дневного бара вернуло "0" - значит не судьба и выходим.
Теперь не будет запроса за всю жизнь торгового счёта.
Я попробую сам поковырять код, чтобы уж совсем совесть не замучала и практики ради :) Отпишусь по успехам, если таковые будут
Владимир, еще раз спасибо огромное за ваш труд!
Я попробую сам поковырять код, чтобы уж совсем совесть не замучала и практики ради :) Отпишусь по успехам, если таковые будут
Хорошо.