Стремительная стратегия переворота Harami

Автор:Чао Чжан, Дата: 2023-09-11 16:26:57
Тэги:

Эта стратегия идентифицирует бычие харами моделей свечей для бычьих реверсивных сделок.

  1. Текущая свеча имеет небольшое тело, которое поглощено большим предыдущим медвежьим телом
  2. Текущий цвет тела свечи противоположный предыдущей свечи
  3. Текущая свеча открывается выше, чем предыдущая свеча
  4. Тело свечи меньше, чем тело предыдущей свечи

Когда эти условия выполняются, это означает бычий импульс обратного движения, в этот момент принимается длинный вход.

Преимущество этой стратегии заключается в том, что она использует классические шаблоны свечей для визуальной идентификации точек перелома.

  1. Бычий харами может не сохраниться, риски обратного развития
  2. Трудность в точном выявлении моделей свечей, требует оптимизации
  3. Отставание сигналов, плохое время входа
  4. Риск соответствия кривой обратного теста высок

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


/*backtest
start: 2023-01-01 00:00:00
end: 2023-09-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 18/01/2019
//    This is a bullish reversal pattern formed by two candlesticks in which a small 
//    real body is contained within the prior session's unusually large real body.
//    Usually the second real body is the opposite color of the first real body. 
//    The Harami pattern is the reverse of the Engulfing pattern. 
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title = "Bullish Harami Backtest", overlay = true)
input_takeprofit = input(60, title="Take Profit pip")
input_stoploss = input(18, title="Stop Loss pip")
input_minsizebody = input(1, title="Min. Size Body pip", step = 0.01)
barcolor(abs(close - open) >= input_minsizebody ? open[1] > close[1] ? close > open ? close <= open[1] ? close[1] <= open ? close - open < open[1] - close[1] ? yellow :na :na : na : na : na : na)
pos = 0.0
barcolor(nz(pos[1], 0) == -1 ? red: nz(pos[1], 0) == 1 ? green : blue ) 
posprice = 0.0
posprice := abs(close - open) >= input_minsizebody? open[1] > close[1] ? close > open ? close <= open[1] ? close[1] <= open ? close - open < open[1] - close[1] ? close :nz(posprice[1], 0) :nz(posprice[1], 0) : nz(posprice[1], 0) : nz(posprice[1], 0) : nz(posprice[1], 0): nz(posprice[1], 0)
pos := iff(posprice > 0, 1, 0)
if (pos == 0) 
    strategy.close_all()
if (pos == 1)
    strategy.entry("Long", strategy.long)
posprice := iff(low <= posprice - input_stoploss and posprice > 0, 0 ,  nz(posprice, 0))
posprice := iff(high >= posprice + input_takeprofit and posprice > 0, 0 ,  nz(posprice, 0))

Больше