У вас не стоит Flash Player
Настройки
#84428 - Mon Jan 28 2019 08:27 PM Открытие позиции методом BuyAtPrice()
yakudzzzzza Offline
stranger

Registered: Fri Sep 29 2017
Записи: 24
Здравствуйте форумчане! Возникла проблема следующего характера:
Не выставляется заявка методом BuyAtPrice() по цене выше цены открытия минусовой свечи и ниже цены открытия плюсовой свечи. То есть она выставляется, но по цене открытия. Данная проблема обходится выставлением заявки с помощью метода BuyIfGreater(Less), но данный метод не позволяет организовать выход по Stop Loss на той же свече, на которой позиция открывалась. Есть ли пути решения данной проблемы?
P. S. Так же в голову приходила идея переопределения метода BuyIfGreater, но если имеет место данная проблема с BuyAtPrice, то не совсем понятно, как написан метод BuyIfGreater, и вообще, можно ли переопределять методы библиотек TSLab


Отредактировано yakudzzzzza (Mon Jan 28 2019 08:27 PM)

Наверх
#84431 - Mon Jan 28 2019 10:44 PM Re: Открытие позиции методом BuyAtPrice() [Re: yakudzzzzza]
yakudzzzzza Offline
stranger

Registered: Fri Sep 29 2017
Записи: 24
P.P.S. Только что проверил, на тенях плюсовых свечей данный метод работает. Тем более странней ситуация

Наверх
#84434 - Tue Jan 29 2019 01:07 AM Re: Открытие позиции методом BuyAtPrice() [Re: yakudzzzzza]
ViL Offline
TSLab
Carpal Tunnel

Registered: Sun Oct 17 2010
Записи: 8137
Сжатие. (Блок Сжать)

Наверх
#84436 - Tue Jan 29 2019 01:58 PM Re: Открытие позиции методом BuyAtPrice() [Re: ViL]
OldMo Offline
member

Registered: Wed Feb 08 2017
Записи: 194
BuyAtPrice создает лимитную заявку. Если вы указываете корректную цену она сразу должна попадать в стакан. Если цена вне лимита то, вроде бы, должно быть соответствующее сообщение. Если у вас происходит как-то по другому обязательно напишите в тех поддержку.

Как вы при помощи BuyAtPrice хотите выставлять стоплос на свече открытия позиции я не понимаю. Думаю без сжатия эта задача не решается.

Наверх
#84437 - Tue Jan 29 2019 02:17 PM Re: Открытие позиции методом BuyAtPrice() [Re: OldMo]
yakudzzzzza Offline
stranger

Registered: Fri Sep 29 2017
Записи: 24
1) BuyAtPrice исполняется по тому же условию, как BuyIfGreater (if (HighPrices[bar-1]<=Highest[bar-1] && HighPrices[bar]>Highest[bar-1])
BuyAtPrice(bar,Lot,Highest[bar-1],"LN"))
2) Разве при выставлении лимитной заявки нельзя сразу же выставить цену stop loss?


Отредактировано yakudzzzzza (Tue Jan 29 2019 02:42 PM)

Наверх
#84441 - Tue Jan 29 2019 06:31 PM Re: Открытие позиции методом BuyAtPrice() [Re: yakudzzzzza]
OldMo Offline
member

Registered: Wed Feb 08 2017
Записи: 194
1.1. BuyAtPrice(bar,Lot,Highest[bar-1],"LN") Если bar это уже существующая свеча, а у вас это так раз вы знаете HighPrices[bar], то работать это и не должно. Возможно в режиме лаборатории, на исторических данных у вас что-то и получится, но в реальных торгах нет. Зайти можно только на bar+1 свече. Свеча с номером bar уже в прошлом - без машины времени тут ни как.
1.2. Возможно вы не до конца понимаете разницу между условными и лимитными заявками. BuyIfGreater (bar+1,100,1,"LN") не равно if (HighPrices[bar]>100) BuyAtPrice(bar+1,1,100,"LN").
2. Стоп лосс можно выставить когда вы/скрипт/тслаб знаете, что позиция открылась. А узнаете вы об этом на следующем пересчете скрипта - то есть на свече следующей за той на которой произошел вход. Решить проблему можно при помощи сжатия/разжатия, как Vil выше и написал.

Наверх
#84442 - Tue Jan 29 2019 08:40 PM Re: Открытие позиции методом BuyAtPrice() [Re: OldMo]
yakudzzzzza Offline
stranger

Registered: Fri Sep 29 2017
Записи: 24
1) Я догадывался, что метод BuyIfGreater работает не таким образом) Подобным условием я лишь пытался описать сам факт выхода текущей цены (на свече bar) выше предыдущего хая.
2) Аналогичная ситуация, но со входом по рынку на bar+1 свече работает (то есть в цикле вход прописан на bar+1 свече, а stop loss на bar свече), выход по stop loss происходит на той де свече, что и вход. Или это тоже заглядывание в будущее?
За совет со сжатием/разжатием спасибо, буду над ним думать

Наверх
#84445 - Tue Jan 29 2019 09:58 PM Re: Открытие позиции методом BuyAtPrice() [Re: yakudzzzzza]
OldMo Offline
member

Registered: Wed Feb 08 2017
Записи: 194
Теоретический вы можете кинуть заявку на покупку по рынку и одновременно поставить условную заявку на продажу. Или поставить условную на покупку если цена упадет ниже определенного уровня и условную на продажу если упадет еще ниже. Но это будет не условная заявка на закрытие позиции, а заявка на открытие противоположной позиции. В результате если стоп сработает на свече открытия, брокер будет отображать у вас на счету нейтральную позицию, а ТСлаб будет видеть 2 открытые и не закрытые позиции. При этом чтобы от них избавится нужно будет либо сменить торговое имя у агента, либо провести реальные сделки по закрытию обеих позиций. Короче говоря это плохое решение.

Наверх


Moderator:  ViL, sar