Добрый день. Помогите с кодом пожалуйста. Не выходит прописать выход из позиции.
Условия простые. Выход если бар закрывается ниже Low бара входа в позицию http://pixs.ru/showimage/Bezimyanni_1335497_23236149.jpg
При стандартном стопе StopLoss(Input1.Low[0], SignalPriceType.Price ) не выполняются условия http://pixs.ru/showimage/Bezimyanni_8029832_23236213.jpg
Общие вопросы по разработке > Выход из позиции
- evge
- Администратор
- Сообщения: 1811
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 83 раза
- Поблагодарили: 366 раз
- Контактная информация:
Re: Выход из позиции
В данном случае, при
стоп сработает не по условию закрытия цены ниже, а по достижении цены уровня стопа. Т.е. это реальный стоп-ордер размещенный у брокера, а не выход по сигналу.
Если хочется такое правило прописать придётся разблокировать код (т.е. уйти от конструктора) и прописать правила и новую глоб. переменную сохраняющую цену Low (High).
Если нужно закрывать позицию по сигналу, анализируя закрытие бара, то это делается так:
1. Убираем выставленный StopLoss в правиле открытия позиции!
2. В инициализации (function Initialize() {...} ) прописываем
3. В правиле открытия позиции после EnterLong() прописываем сохранение Low текущего бара.
4. Добавляем новое правило для закрытия позиции:
Sergei писал(а):StopLoss(Input1.Low[0], SignalPriceType.Price )
стоп сработает не по условию закрытия цены ниже, а по достижении цены уровня стопа. Т.е. это реальный стоп-ордер размещенный у брокера, а не выход по сигналу.
Если хочется такое правило прописать придётся разблокировать код (т.е. уйти от конструктора) и прописать правила и новую глоб. переменную сохраняющую цену Low (High).
Если нужно закрывать позицию по сигналу, анализируя закрытие бара, то это делается так:
1. Убираем выставленный StopLoss в правиле открытия позиции!
2. В инициализации (function Initialize() {...} ) прописываем
Код: Выделить всё
AddGlobalVariable("StopPrice", Types.Double, 0.0);
3. В правиле открытия позиции после EnterLong() прописываем сохранение Low текущего бара.
Код: Выделить всё
StopPrice = Input1.Low[0];
4. Добавляем новое правило для закрытия позиции:
Код: Выделить всё
if (CurrentPosition() > 0 && Input1.Close[0] < StopPrice)
{
CloseLong();
}
никогда такого не было и вот опять
Вернуться в «Общие вопросы по разработке»
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя