Trabajo finalizado
Tarea técnica
Пояснение о работе Trailing StopLoss
Параметры
TrailingStopLoss- стоплосс, который указывается в пунктах. Включается при достижении TrailingStopLoss+TrailingPoints
TrailingPoints- шаг перестановки трейлинга в пунктах. На сколько пунктов переставлять линию Trailing.
TrailingTakeProfit- высота биржевого ордера в пунктах, который будет ловить прострелы вверх.
TrailingTakeProfitStep- на сколько пунктов поднимать TrailingTakeProfit через время TrailingTakeProfitWait.
TrailingTakeProfitWaitсекунд - через какое время, после роста переставлять TrailingTakeProfit выше.
После того, как запустится Trailing, на графике появляется линия, которая следует за ценой исходя из настроек. Рисуем синим цветом.
- Вошли в сделку.
- После роста на параметр TrailingStopLoss - пока ничего не происходит.
- После роста на TrailingStopLoss+TrailingPoints выставляется стоплосс на уровне TrailingStopLoss.
- После роста цена на TrailingPoints переставляется TrailingStopLoss на это количество пунктов.
- В момент, когда произойдёт TrailingStopLoss+TrailingPoints выставляется TrailingTakeProfit на указанное количество пунктов от начальной цены.
- После каждой перестановки уровня TrailingStopLoss отсчитывается время TrailingTakeProfitWait и цена переставляется на TrailingPoints.
Пример:
TrailingStopLoss= 50 пунктов
TrailingPoints= 30 пунктов
TrailingTakeProfit= 150 пунктов
TrailingTakeProfitStep= 20 пунктов
TrailingTakeProfitWait= 300 секунд
- Вошли в сделку. Выставляем тейкпрофит лимиткой на уровне 150 пунктов.
- Цена поднялась на 50 пунктов - ничего не происходит.
- Цена поднялась на 50+30 пунктов - выставляется стоплосс на уровне 50 пунктов.
- Цена поднялась на 50+30+30=110 пунктов. Считаем 300 секунд и поднимаем тейкпрофит на 150+20=170 пунктов. Если в течение 300 секунд цена дойдёт до 150 пунктов, то произойдёт продажа. Если за 300 секунд цена не поднялась на уровень 150 пунктов, то уровень тейкпрофита переставляется на уровень 150+20=170 пунктов.
- Если цена не дошла до уровня тейкпрофита и пошла вниз, то произойдёт продажа на уровне стоплосса.
Пояснение о TrailingBuyStop
TrailingBuyStop(TrailingSellStop для шортов). Пояснения ниже касаются лонгов. Для шортов ситуация обратная.
После срабатывания сигнала включается TrailingBuyStop выше точки срабатывания на указанное количество пунктов.
Если цена снижается на это количество пунктов, то TrailingBuyStop переставляется на это количество пунктов.
Если цена поднимается и касается этого уровня, то происходит покупка по маркету.
Рисуем линию TrailingBuyStop красным цветом на графике.
Параметры стратегии Shot
! Пояснения о том, как строится параметр Shot даны внизу.
TF1- смотрим ситуацию на TF1 и отслеживаем Shot, Ashot (1m,5m,15m,30m,1h)
Shot1- глубина построения линии под графиком в пунктах. Отображается на экране.
ColorS1 -выбор цвета линии Shot1.
Lot- фиксированный лот. Если 0, то смотрит на Risk.
Risk- % от депозита. Если 0, то смотрит Lot.
TypeOfBuy(раскрывающийся список)- Limit/MarketOncePerBar/MarketOncePerBarClosed.
- MarketOncePerBar- покупает по рынку сразу же на открытой свече, когда происходит событие.
- MarketOncePerBarClosed- покупать после закрытой свечи, как произойдет событие.
- Limit- переставляет лимитки по индикаторам. Т.е. ловит нужный уровень и покупает лимиткой.
TrailingBuyStop- если 0, то не работает. Указывается в пунктах. Описано выше
TypeOfSell(раскрывающийся список)- Выбор TakeProfit, Trailing.
TakeProfit- фиксированная цена в пунктах. Тейк виртуальный. Не проставляем заранее у брокера. Если 0, то ручное закрытие сделок.
StopLoss- фиксированный уровень в пунктах. СтопЛосс виртуальный. Не проставляем заранее у брокера. Если выбран Trailing, как вариант продажи, то работает, пока не сработает Trailing.
Breakeven- безубыток. Указывается в пунктах. Работает только с включенным TakeProfit.
TrailingStopLoss- пункты.
TrailingPoints- пункты.
TrailingTakeProfit- пункты.
TrailingTakeProfitStep= пункты.
TrailingTakeProfitWait= пункты.
BuyAfterStopLoss (Yes/No)- покупка в точке изначального стоплосса. Если закрывается сделка по стопу - покупаем опять.
BuyAfterStopLossLot -размер лота. Если 0, то не работает.
BuyAfterStopLossRisk - %от депозита.
Далее мы дублируем те же функии для других таймфреймов.
! ЕСЛИ СТОЯТ НУЛИ В ТФ, то не используем этот блок настроек. Всего делаем для 5 таймфреймов. Т.е. будут в итоге TF1, TF2, TF3, TF4, TF5 и соответственно Shot 1, 2, 3, 4, 5
TF2- смотрим ситуацию на TF1 и отслеживаем Shot, Ashot (1m, 5m, 15m, 30m, 1h)
Shot2- глубина построения линии под графиком в пунктах.
ColorS2 -цвет линии. Shot2
Lot- фиксированный лот. Если 0, то смотрит на Risk.
Risk- % от депозита. Если 0, то смотрит Lot.
TypeOfBuy(раскрывающийся список)- Limit/MarketOncePerBar/MarketOncePerBarClosed.
- MarketOncePerBar- покупает по рынку сразу же на открытой свече, когда происходит событие.
- MarketOncePerBarClosed- покупать после закрытой свечи, как произойдет событие.
- Limit- переставляет лимитки по индикаторам. Т.е. ловит нужный уровень и покупает лимиткой.
TrailingBuyStop- если 0, то не работает. Указывается в пунктах. Описано выше.
TypeOfSell(раскрывающийся список)- Выбор TP или Trailing.
TakeProfit- фиксированная цена в пунктах. Тейк виртуальный. Не проставляем заранее у брокера. Если 0, то ручное закрытие сделок.
StopLoss- фиксированный уровень в пунктах. СтопЛосс виртуальный. Не проставляем заранее у брокера. Если выбран Trailing, как вариант продажи, то работает, пока не сработает Trailing.
Breakeven- безубыток. Указывается в пунктах. Работает только с включенным TakeProfit.
TrailingStopLoss- пункты.
TrailingPoints- пункты.
TrailingTakeProfit- пункты.
TrailingTakeProfitStep= пункты.
TrailingTakeProfitWait= пункты.
BuyAfterStopLoss (Yes/No)- покупка в точке изначального стоплосса. Если закрывается сделка по стопу - покупаем опять.
BuyAfterStopLossLot -размер лота. Если 0, то не работает.
BuyAfterStopLossRisk - %от депозита.
Параметры стратегии Ashot
! Описание параметра Ashot дано внизу.
TF1- смотрим ситуацию на TF1 и отслеживаем Ashot.
aShot1- глубина построения линии над графиком в пунктах.
ColorA1 -цвет линии Ashot1.
Lot- фиксированный лот. Если 0, то смотрит на Risk.
Risk- % от депозита. Если 0, то смотрит Lot.
TypeOfBuy(раскрывающийся список)- Limit/MarketOncePerBar/MarketOncePerBarClosed.
- MarketOncePerBar- покупает по рынку сразу же на открытой свече, когда происходит событие.
- MarketOncePerBarClosed- покупать после закрытой свечи, как произойдет событие.
- Limit- переставляет лимитки по индикаторам. Т.е. ловит нужный уровень и покупает лимиткой.
TrailingSellStop- если 0, то не работает. Указывается в пунктах. Описано выше.
TypeOfSell(раскрывающийся список)- Выбор TP или Trailing.
TakeProfit- фиксированная цена в пунктах. Тейк виртуальный. Не проставляем заранее у брокера. Если 0, то ручное закрытие сделок.
StopLoss- фиксированный уровень в пунктах. СтопЛосс виртуальный. Не проставляем заранее у брокера. Если выбран Trailing, как вариант продажи, то работает, пока не сработает Trailing.
Breakeven- безубыток. Указывается в пунктах. Работает только с включенным TakeProfit.
! Trailing для шортов работает по тому же принципу, что и для лонгов, но в обратную сторону.
TrailingStopLoss- пункты.
TrailingPoints- пункты.
TrailingTakeProfit- пункты.
TrailingTakeProfitStep= пункты.
TrailingTakeProfitWait= пункты.
BuyAfterStopLoss (Yes/No)- покупка в точке изначального стоплосса. Если закрывается сделка по стопу - покупаем опять.
BuyAfterStopLossLot -размер лота. Если 0, то не работает.
BuyAfterStopLossRisk - %от депозита.
Повторяем все функции для 5 таймфреймов, что и для Shot.
Общие настройки для всех стратегий
Spread- максимальная граница спреда. Выше границы спреда не покупает и не продаёт. Если купил при нормальном спреде, продает только тогда, когда опустится.
QuantityOfOrders- одновременное кол-во выставленных ордеров.
BuyOrNot(раскрывающийся список)- Yes/No. Yes - покупаем по стратегии. No - покупка не происходит. Просто срабатывает уведомление.
Indicator(раскрывающийся список)- Yes/No. Показывать или не показывать индикатор на графике. Помечать на графике потенциальные точки, где сработал бы бот.
Оповещение звуковое -Yes/No.
Push- Yes/No.
ВРЕМЯ РАБОТЫ БОТА
StartHour
StartMin
EndHour
EndMinute
FridayEndHour
MondayStartHour
Логика построения индикатора Shot/Ashot
Логика нахождения постановки сигнала + рисование линий. Писал на TradingView. Для параметров shot(ashot)2,3,4,5 строить аналогично. shot1 = input(0.1, title="Shot1",type=float) ashot1 = input(0.1, title="aShot1",type=float)
cross_shot1 = open>close ? close*(1-(shot1/100)) : open*(1-(shot1/100)) cross_ashot1 = open>close ? open*(1+(ashot1/100)) : close*(1+(ashot1/100))
condition1 = crossunder(low,cross_shot1[1]) condition11 = crossover(high,cross_ashot1[1])
plotshape(condition1, style=shape.xcross,location=location.belowbar, color=green, transp=0, size=size.tiny,title="BUY_shot1") plotshape(condition11, style=shape.xcross,location=location.abovebar, color=green, transp=0, size=size.tiny,title="BUY_ashot1")
alertcondition(condition1,title="BuyShot1",message="BuyShot1") alertcondition(condition11,title="BuyShot1",message="BuyShot1")
Логика покупки
1 вариант
- Срабатывание параметра Shot (1...5) или Ashot (1...5)
2 вариант
- Срабатывание параметра Shot (1...5)
- Если включен параметр TrailingBuyStop,то после нахождения нужной точки покупает.
3 вариант
- BuyAfterStopLoss
Логика продажи
В зависимости от выбора - TakeProfit фиксированный или TrailingStopLoss, или ручное управление сделкой, если TakeProfit = 0.
P.S. Если что-то непонятно, я поясню. Спрашивайте.