По написанию стратегии

Вопросы не подходящие к другим веткам форума.
Ответить
Arseniy
Сообщения: 6
Зарегистрирован: 01 фев 2022, 18:42

По написанию стратегии

Сообщение Arseniy »

Вопрос - хотел запустить стратегию на индикаторе перекупленности (перепроданности). Поиграв в настройках программы и стратегии разобрался как создавать простейшие условия.
Но есть одна проблема - когда ситуация примерно такая:
1. Купить от нижнего уровня перепроданности когда линия индикатора пересекает нижний уровень вверх. - тут все Ок.
2. Закрыть покупку: а)Если цена снова пробивает нижний уровень перепроданности сверху вниз (Стоп).
б) Если цена пробивает верхний уровень перекупленности сверху вниз (Тейк профит).
3. Но по сути перекупленность может продолжаться довольно долго и цена может на откате выходить из зоны перекупленности и дальше продолжать подниматься, но тут возникает потребность в условии. Ведь когда есть уже покупка то пересечение уровня перекупленности не должно приводить к сделке, но когда лонговая позиция закрыта то наоборот, надо снова перезаходить в лонг.
Т.е. нужно осуществить проверку - цена пересекает уровень перекупленности снизу вверх - если есть лонг то ничего не делаем, если нет позиции лонг то входим в лонг.
И глядя на инструменты которые есть в конструкторе не нашел как осуществить проверку на наличие позиции и каким образом реализовать условие Если.... То... Иначе....
Картинка из графика, что имею в виду.
https://docs.google.com/drawings/d/1FbJ ... sp=sharing

Второй вопрос, так как еще не понял как это работает. Так вот, суть - есть один график часовик, есть второй график - 5 минутка. На них стоят индикаторы - на 5М основной, на Н1 фильтр. При правильном прописывании идентификатора у индикаторов условия будут отрабатываться корректно, но вопрос в том - по какому графику будет осуществляться проверка условий - по М5 или Н1?
Так как существует в условиях два i-тых. По какому графику и по какой цене будут осуществляться сделки - как часто делает сравнение условий программа - после закрытия очередной свечи или каждую секунду или при изменении цены? Это не понятно.

Так как цена меняется - значения на индикаторах меняются, может быть сделка. Но цена и значение через секунду может поменяться и может быть закрытие сделки к примеру как на графике выше - цена пересекла уровень и вернулась обратно и так несколько раз подряд. Просто для пониманя - как это работает?
Т.е когда бары прорисованы то проблем нет - пересечений немного, но когда в динамике то как раз пересечений может быть очень много и если это все происходит на уровне то это породит кучу сделок. как по умолчанию происходит?

Аватара пользователя
Станислав
Модератор
Сообщения: 12
Зарегистрирован: 18 июн 2020, 15:35
Контактная информация:

Re: По написанию стратегии

Сообщение Станислав »

Изображение

Мне из описания представляются условия в конструкторе следующим образом:

Лонг:
- пересечение снизу вверх уровня перепроданности
- пересечение снизу вверх уровня перекупленности
Закрытие Лонг:
- пересечение сверху вниз уровня перекупленности
- пересечение сверху вниз уровня перепроданности
Ведь когда есть уже покупка то пересечение уровня перекупленности не должно приводить к сделке, но когда лонговая позиция закрыта то наоборот, надо снова перезаходить в лонг.
Программа не станет докупать, если позиция лонг уже открыта и снова ее откроет, как появится сигнал.
Т.е. нужно осуществить проверку - цена пересекает уровень перекупленности снизу вверх - если есть лонг то ничего не делаем, если нет позиции лонг то входим в лонг.
Именно так сейчас и будет действовать программа.
И глядя на инструменты которые есть в конструкторе не нашел как осуществить проверку на наличие позиции и каким образом реализовать условие Если.... То... Иначе....
Там нет таких условий. Честно говоря не знаю для чего могли бы понадобиться такие условия, разве что для какого то хитрого усреднения.
Второй вопрос, так как еще не понял как это работает. Так вот, суть - есть один график часовик, есть второй график - 5 минутка. На них стоят индикаторы - на 5М основной, на Н1 фильтр. При правильном прописывании идентификатора у индикаторов условия будут отрабатываться корректно, но вопрос в том - по какому графику будет осуществляться проверка условий - по М5 или Н1?
Какой в условии будет выбран источник с тем и будут сравнения.
Например, можно в условии указать, что используется источник Price с индексом 1, и параметрах задать идентификатор для Price_1, которым и будет график цены с таймфреймом H1.
Так как существует в условиях два i-тых. По какому графику и по какой цене будут осуществляться сделки - как часто делает сравнение условий программа - после закрытия очередной свечи или каждую секунду или при изменении цены? Это не понятно.
По обновлению цены последней сделки в таблице текущих параметров или 1 сек таймеру, смотря что наступает быстрее.
Условно не реже чем раз в 1 сек, а в среднем около 10.
Так как цена меняется - значения на индикаторах меняются, может быть сделка. Но цена и значение через секунду может поменяться и может быть закрытие сделки к примеру как на графике выше - цена пересекла уровень и вернулась обратно и так несколько раз подряд. Просто для пониманя - как это работает?
Т.е когда бары прорисованы то проблем нет - пересечений немного, но когда в динамике то как раз пересечений может быть очень много и если это все происходит на уровне то это породит кучу сделок. как по умолчанию происходит?
Что бы не было спама сделками используются разнообразные приемы: используются значения закрытых свечей, подтверждения на нескольких барах, разные значения уровней для открытия и закрытия и т.п.
В программе есть параметр "Время подтверждения сигнала, сек", это когда сделка не будет открыта/закрыта пока сигнал не станет постоянным в заданном интервале.

Arseniy
Сообщения: 6
Зарегистрирован: 01 фев 2022, 18:42

Re: По написанию стратегии

Сообщение Arseniy »

Супер!
Спасибо огромное за пояснение.
Сегодня проверял - пересечение с уровнями некорректно работает (в моей стратегии). Так как в моменте есть пересечение но цена ушла, а сделка осталась - не было обратного пересечения - касание и обратно.
Но богатство формул в условиях это нечто! - и этот момент я решил. Сделал через "И" два условия - цена (к примеру) текущего бара (0)ниже уровня индикатора "И" предыдущий бар (1) выше или равен уровню, тогда шорт - сразу заработало без сбоев. Т.к. проверяется текущий и предыдущий уровень цены. Если цена уходит обратно то эффект касания уже не срабатывает - индикатор оценивается адекватно и переворачивает позицию - что и требовалось (закрытие позиции по той же схеме). Пока сбоев не заметил - завтра продолжу тестировать.
То что проверяется условие раз в секунду - норм. Пересечений не так много на самом деле даже ложных, при небольшом времени будет небольшой убыток, но это думаю терпимо.
Завтра на нескольких инструментах потестирую, думаю схема рабочая. Руками так не отторгуешь - цена бывает скачет очень сильно.
Но что заметил - прога сделана очень по человечески!

Arseniy
Сообщения: 6
Зарегистрирован: 01 фев 2022, 18:42

Re: По написанию стратегии

Сообщение Arseniy »

Хотя рано радовался - сейчас резкое касание индикатора в перекупленность было на нефти - 22.30 закрытие торгов крупными игроками - торги идут и дальше но крупные игроки в последние 5 минут устанавливают цену дня, дальше торгуют мелкие игроки. Обычно сильное движения цены.
Не суть - глазами наблюдал как цена коснулассь и было закрытие шорта и открытие лонга - линия индикатора упала и лонг остался на месте. Надо дальше думать. Действительно - таймер включить на срабатывание сигнала.
Возможно еще с условиями поработать.
Но если это будет редкая история - надо денек потестировать, то возможно в ручную эти вещи контролировать проще чем программой заморачиваться. Когда знаешь узкие места можно подстраховать. Все равно придется контролировать хоть в пол глаза, как помощника использовать.

Arseniy
Сообщения: 6
Зарегистрирован: 01 фев 2022, 18:42

Re: По написанию стратегии

Сообщение Arseniy »

Кстати - а можно две стратегии на один инструмент запускать одновременно? Это бы решило проблему - открытие позиции в лонг по одному сценарию можно тогда закрывать корректно. Чем два по сути сценария в одну стратегию заталкивать. Там как раз условия можно более жесткие и однозначные ставить.

Ответить