Стратегия стоп-лосса и тейк-профита на основе модели «звезда Доджи»


Дата создания: 2024-02-02 17:17:38 Последнее изменение: 2024-02-02 17:17:38
Копировать: 0 Количество просмотров: 698
1
Подписаться
1617
Подписчики

Стратегия стоп-лосса и тейк-профита на основе модели «звезда Доджи»

Обзор

Эта стратегия основана на Doji Star Form, когда Doji Star Form возникает, между высокой точкой Doji Star и предыдущей высокой точкой K-линии помещается Stop-Buy, между низкой точкой Doji Star и предыдущей низкой точкой K-линии - Stop-Sell. После того, как цена вызовет Stop-Buy, можно выбирать, чтобы выйти на фиксированный стоп-стоп или выйти на высокую и низкую цены Doji Star Form. Эта стратегия подходит для работы в высоких временных рамках, таких как солнечная и солнечная линия, и эффективно фильтрует шум.

Стратегический принцип

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

body=close-open  
range=high-low
abody=abs(body)
ratio=abody/range
data=(abs(open - close) <= (high - low) * Doji)

Если abs ((open-close) <= (high-low)*Параметр Doji, определяемый как Doji-звездный формат, в это время помещается стоп-лист. Положение стоп-листа выглядит следующим образом:

longDist= longcandle[1] and range[1]>range? high: max(high,high[1]) 
shortDist= longcandle[1] and range[1]>range? low: min(low,low[1])

Если предыдущая K-линейная единица больше, то покупать стоп-лист находится между высокой точкой звезды Доджи и высокой точкой предыдущей K-линейной единица. Если предыдущая K-линейная единица меньше, то покупать стоп-лист как высокую точку звезды Доджи. Продавать стоп-лист равнозначно.

Существует два варианта выхода из игры:

  1. Выход с фиксированной остановкой
strategy.exit("exit buy","buy stop",loss=SL, profit=TP, when=Use_SL_TP) 
  1. Стоп-стоп с минимальной ценой дожи-звезды
strategy.close("buy stop",when=not Use_SL_TP and close<dojilow)

Анализ преимуществ

Эта стратегия имеет следующие преимущества:

  1. Простые в использовании и внедрении.
  2. Используйте эффективные ценовые сигналы Doji Star, чтобы уловить возможность обратного обмена.
  3. Конфигурируемые параметры сдерживания убытков, управление рисками.
  4. Подходит для работы в высоких временных рамках, фильтрует шум.

Анализ рисков

Однако эта стратегия несет в себе определенные риски:

  1. Форма звезды дожи не обязательно приводит к обратному курсу, но может привести к остановке. Решение заключается в разумном установлении стоп-расстояния и контроле за единичными потерями.
  2. При работе на низких временных системах может быть слишком много шума. Решение - работать только на высоких временных системах, таких как солнечная линия.
  3. Если не установить стоп-стоп, существует риск неограниченного убытка. Решение - правильно использовать функцию стоп-стоп.

Направление оптимизации

Эта стратегия может быть оптимизирована в следующих направлениях:

  1. Оптимизируйте параметры Doji, чтобы найти оптимальную комбинацию параметров для различных торговых сортов.
  2. Тестирование различных параметров стоп-стоп для поиска оптимального сочетания параметров.
  3. На основе динамических расчетов ATR расстояние остановки.
  4. В сочетании с другими показателями определяется оптимальное время поступления.

Подвести итог

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

Исходный код стратегии
/*backtest
start: 2024-01-02 00:00:00
end: 2024-02-01 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//This is a simple strategy based on Doji star candlestick
//It places two orders: buy stop at doji star high or previous candle high and sell stop at doji star low or previous candle low.
//This strategy works very well with high time frames like Weekly TF because it eliminates the noise in doji formation.
//

strategy("Doji strategy W", overlay=true, calc_on_every_tick=true, pyramiding=0,default_qty_type=strategy.percent_of_equity,default_qty_value=100,currency=currency.USD)

//INPUTS
//MinDistance=input(100,'Minimum distance in ticks')
Use_SL_TP=input(true,'Use stop loss and take profit?')
TP=input(200,'Take Profit in ticks')
SL=input(200,'Stop Loss in tiks')
Doji = input(0.05, minval=0.01, title="Doji size", step=0.01)

//VARIABILI
body=close-open
range=high-low
abody=abs(body)
ratio=abody/range
longcandle= (ratio>0.6)

//Doji
data=(abs(open - close) <= (high - low) * Doji)
plotchar(data, title="Doji", text='Doji', color=black)
longDist= longcandle[1] and range[1]>range? high: max(high,high[1])
shortDist= longcandle[1] and range[1]>range? low: min(low,low[1])
dojilow=data==1?low:na
dojihigh=data==1?high:na

goStar=data==1?true:false
//////////////////////////////////////////////////////////////////

//STRATEGY

strategy.order("buy stop",true,stop=longDist,  oca_name="Dojy Entry",when=goStar)
strategy.order("sell stop",false,stop=shortDist, oca_name="Dojy Entry",when=goStar)

strategy.exit("exit buy","buy stop",loss=SL, profit=TP, when=Use_SL_TP)
strategy.exit("exit sell","sell stop",loss=SL,profit=TP, when=Use_SL_TP)

strategy.close("buy stop",when=not Use_SL_TP and close<dojilow)
strategy.exit("exit buy","buy stop",profit=TP, when=not Use_SL_TP)
strategy.close("sell stop",when=not Use_SL_TP and close>dojihigh)
strategy.exit("exit sell","sell stop",profit=TP, when=not Use_SL_TP)