Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature currently requires accessing the site using the built-in Safari browser.
Возможно как в стакане, подтягивая вручную)), так и в стратегии, вызывая SetStopLoss. Т.е. если открыта позиция, то размер стоп-лосса можно менять. Но по идее в трейдинге стоп-лосс не увеличивают)).Возможно ли "подтягивать" за собой stop loss без применения Trailing Stop?
По примеру не понятно чес гря, как высчитывается множитель стоп-лосса, т.к. и цены и стопы кратны 5. Но, например, (ЦЕНА_ОТКРЫТИЯ+ЦЕНА_МАКСИМУМА_ДНЯ)/2 будет выставляться стоп-лосс половине пройденного пути цены от открытия позиции в лонг до максимума текущего дня.Надеюсь понятно изложил что хочу сделать)
При необходимости записываю заранее в переменные перед выставлением ордеров на покупку/продажу. После срабатывания ордеров мониторю сами переменные.И можно ли после исполнения ордера узнать цену входа
Как мониторить открыта ли позиция? В случае если двумя лотами торгую, как менять размер стоп-лосса для каждого ордера?... Т.е. если открыта позиция, то размер стоп-лосса можно менять.
в OnBarUpdate() пишу:
{
if(PRICE != 0)
{
if(PRICE < Bars.GetHigh(CurrentBar))
{
SetTrailStop(CalculationMode.Ticks, 4);
}
}
....
myEntryOrder = EnterLong()...
....
if(myEntryOrder != null)
PRICE = Bars.GetOpen(CurrentBar);
}
в OnBarUpdate() можно проверить условия Position.MarketPosition!=MarketPosition.Flat (если нет открытых позиций) или конкретно Position.MarketPosition==MarketPosition.Long/Short (открыта длинная/короткая позиция). Стати в приведенном коде строка if(myEntryOrder != null) уже мониторит открыта ли позиция. Ток надо myEntryOrder вовремя обнулить при закрытии позиции.Как мониторить открыта ли позиция?
Не приходилось работать по такой схеме, но может стоит присмотреться к параметрам signalName в EnterLong и fromEntrySignal в SetStopLoss.как менять размер стоп-лосса для каждого ордера?
Тут уж причин много может быть. От многоточий в приведенном коде, до отдельных настроек стратегии на графике. Может код отрабатывает не сразу на приходящем тике, а на закрытии бара?Но стоп лосс никуда не сдвигается(
Пытался и так - тоже не получается.Не приходилось работать по такой схеме, но может стоит присмотреться к параметрам signalName в EnterLong и fromEntrySignal в SetStopLoss.
Ну да, CalculateOnBarClose = true;Может код отрабатывает не сразу на приходящем тике, а на закрытии бара?
На закрытие бара стоплосс тоже не сдвигается по трейлингу? Одновременно не используется SetTrailStop и SetStopLoss (трал в этом случае игнорится)? Вощем без полной картины (кода,настроек и т.д.) можно только гадать о причинеНу да, CalculateOnBarClose = true;
Нет. Одновременно не используется.На закрытие бара стоплосс тоже не сдвигается по трейлингу?
Движения стоп лосса можно проверить во вкладках Orders при Backtest в Strategy analyzer или Control Center при Market replayТ.е. проверить, действительно ли SetTrailStop сработал и стоп лосс поднялся.
Нашел, но там нет инфы SetTrailStop, значит почему-то не срабатывает(во вкладках Orders при Backtest в Strategy analyzer
Нужно смотреть Stop OrderНашел, но там нет инфы SetTrailStop
Я по крайней мере не вижу причин для запрета)). Вообще в коде можно все что угодно ставить и убирать, лишь бы компилировалось.Кто-нибудь подскажет, можно ли убрать SetStopLoss? и поставить вместо него SetTrailStop()?
Немного некорректно описана ситуация, но смысл вроде как понятен. Для ясности: SetStopLoss() - это команда установить защитный стоп-ордер, а не тип ордера. Тоже самое SetTrailStop() - это команда перемещать защитный стоп-ордер, а не тип ордера. По идее SetStopLoss() и SetTrailStop() это работа над одним ордером (стоп-ордером). В справке NT про SetTrailStop() сказано, что одновременно эти команды не могут использоваться, и при вызове обеих команд приоритетом пользуется SetStopLoss(). Чтобы использовать обе команды, нужно манипулировать параметром fromEntrySignal. Для стратегии обязательно использовать обе команды? Нельзя обойтись просто SetTrailStop(), меняя его параметр перемещения при определенных условиях?И теперь надо бы убрать SetStopLoss() и уже с этой планки использовать SetTrailStop().
Да, желательно сначала установить SetStopLoss() (или может аналог какой есть), а потом, при достижении цены определенного уровня начинать тралить планку стопа. Пробовал EnterShortStop() ставить (если выставлен EnterLong()) - так не работает (EnterShortStop() не выставляется если есть EnterLong())Для стратегии обязательно использовать обе команды? Нельзя обойтись просто SetTrailStop(), меняя его параметр перемещения при определенных условиях?