Пересчет скрипта при динамическом изменении параме

Автор: Poli

Пересчет скрипта при динамическом изменении параме - Thu Nov 08 2018 01:36 PM

Добрый день
пробую реализовать динамический расчёт стоплосса в зависимости от параметра (ускоритель стоплосса - на контрольной панели указываю некий новый уровень цены и стоп перемещается на этот уровень). и ясно, что при изменении параметра и пересчете скрипта пересчитывается уровень стопов на всей истории и я получаю ошибку.

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

я пробовал фиксировать в обновляемом значении номер свечи, на которой произошло изменение параметра, но ничего не получилось.
Автор: ViL

Re: Пересчет скрипта при динамическом изменении параме - Thu Nov 08 2018 03:50 PM

Конечную цель какую преследуете?
Автор: Poli

Re: Пересчет скрипта при динамическом изменении параме - Thu Nov 08 2018 04:07 PM

я хочу реализовать ускоритель перемещения стопа не автоматический, а дискретный.

стоп трейлится по некоторому правилу. если в какой то момент я вижу, что он трейлится медленнее или быстрее чем ожидалось, я хочу руками подправить скорость трейлинга. но это изменение не должно затрагивать расчет стопа на всех предыдущих свечах, а только с момента изменения параметра.

Спасибо
Автор: ViL

Re: Пересчет скрипта при динамическом изменении параме - Thu Nov 08 2018 11:21 PM

Это не конечная цель, это Вы себе способ нарисовали ее достижения. Сама цель какая, что хотите в итоге увидеть, как руками в истории изменяли стоп?
Автор: Poli

Re: Пересчет скрипта при динамическом изменении параме - Fri Nov 09 2018 12:57 AM

я не совсем понимаю, какую цель я должен преследовать.

меня интересует возможность ручного передвижения стопа в режиме реальных торгов. выбрал новый уровень цены для стоплоса на контрольной панели и скрипт передвинул мне стоп выше или ниже уровня текущего стопа начиная с последней свечи, а не для всех предыдущих свечей на истории. в обычном режиме программа при пересчете скрипта по новому параметру пересчитает все уровни стопа для всей истории. если где то на истории было касание с уровнем нового стопа, то агент выдает ошибку. а мне это не нужно .
я думаю, что можно обойти это ограничение если каким то образом зафиксировать номер свечи изменения параметра. тогда можно прописать условие для стопа - если номер свечи меньше или равно номеру бара изменения условия то используй предыдущий уровень стопа иначе используй текущий уровень стопа. и тогда даже если есть пересчет уровня стопа на истории, то не будет касаний цены на истории не будет ошибки.
пока я не сообразил как можно в ОЗ записать на каком баре произошло изменение.
Автор: Stan

Re: Пересчет скрипта при динамическом изменении параме - Fri Nov 09 2018 10:14 AM

Доброго дня! Поэтому вас и спрашиваю какую вы преследуете цель!? Контрольная панель так и будет менять полностью алгоритм стопа и на истории в том числе, потому что вы хотите заглядывать в будущее(*То есть менять стоп в настоящем*)! Программа к сожалению этого не умеет!!Поэтому такое лучше экспериментировать в боевом режиме! Тогда сделки будут сохранятся, так как они прошли на графике. Вы поймите одно, сегодня вы трейлинг сделали по 50 пунктов, завтра черный лебедь, вы сделали по 1000, после завтра всего рынок ходит по 100 вверх и вниз, а история как была так и остается, со своим штилем и затяжными трендами! Если вы хотите просматривать статистику результатом(своей торговли практически ручной), вам придётся внедрять в систему большое количество стопов на выход лонга или шорта, зависящих банально от даты входы, на мой взгляд это единственный выход, или уже переделывать логику самого трейлинга, то есть делать зависимость от волы или еще чего нибудь, выбирать Вам.
Автор: Frend

Re: Пересчет скрипта при динамическом изменении параме - Fri Nov 09 2018 10:21 AM

Originally Posted By: Poli
я не совсем понимаю, какую цель я должен преследовать.

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


В реале можно только через контрольную панель, делается пересчет при нажатии - через фиксирующую кнопку-суть в том что сигнал активен только на текущей свече. На истории можно сделать только на последнем дне в последнюю минуту, через указание явной даты
Автор: Poli

Re: Пересчет скрипта при динамическом изменении параме - Fri Nov 09 2018 10:26 AM

Коллеги, речь идет именно о работе в реал тайм в агенте. Меня не интересует ни история ни старые сделки, а только текущая свеча и все что после нее.
Но я все еще не нашел как зафиксировать в оз момент времени (= номер свечи) в который произошло изменение параметра.
Автор: Frend

Re: Пересчет скрипта при динамическом изменении параме - Fri Nov 09 2018 11:37 AM

Originally Posted By: Poli
Коллеги, речь идет именно о работе в реал тайм в агенте. Меня не интересует ни история ни старые сделки, а только текущая свеча и все что после нее.
Но я все еще не нашел как зафиксировать в оз момент времени (= номер свечи) в который произошло изменение параметра.

Используйте контрольную панель, и это лишнее
Автор: ViL

Re: Пересчет скрипта при динамическом изменении параме - Fri Nov 09 2018 03:38 PM

Originally Posted By: Poli
я не совсем понимаю, какую цель я должен преследовать.

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



Вот, теперь цель понятна. Т.е. сохранять историю передвижения не нужно.
Здесь ОЗ не нужно.
Для решения задачи есть два варианта поведения, которое больше подойдет.
Первый вариант очень простой, в Торговых настройках агента(кнопка Тн) включить флаг "Игнорировать выход не на последнем баре". Данный вариант не всегда может подойти к некоторым стратегиям, особенно, если необходимо использовать встроенные функции типа "Автозакрытие".
Через формулу можно прибавить к трейлу Интерактивную константу.
Второй вариант, использовать номера свечей для сигнала в блок выхода. Достаточно выставлять заявку на последнем баре, бар последний(к примеру)? выставляем.


Приложил скрипт к посту.
Через номер бара, выведенном в контрольную панель, мы указываем с какого бара нам нужен новый стоп, и тогда будет работать. Без этого, мы ставим галочку игнорировать выход не на пследнем баре, и двигаем вручную стоп, куда хотим, он пересчитается внутри бара и не будет ждать очередного пересчета.
Автор: Poli

Re: Пересчет скрипта при динамическом изменении параме - Sat Nov 10 2018 06:54 PM

Коллеги, всем большое спасибо за помощь. Установка флага в настройках агента сработала. Теперь все функционирует как и ожидалось