Это краткосрочная торговая стратегия, которая выдает сигналы купли и продажи на основе 0,5% изменений в цене закрытия Хайкина-Аши.
Основная логика этой стратегии заключается в следующем:Пройти длинный курс, когда цена закрытия Heikin-Ashi повышается на 0,5% по сравнению с предыдущей свечой; Пройти короткий курс, когда цена закрытия Heikin-Ashi падает на 0,5% по сравнению с предыдущей свечой.
В частности, стратегия сначала рассчитывает процентное изменение между текущей ценой закрытия и предыдущей ценой закрытия, т.е.priceChange = close / close[1] - 1
Если.priceChange >= 0.005
, выходит длинный сигнал.priceChange <= -0.005
, выходит короткий сигнал.
При выпуске сигналов стратегия также оценивает наличие существующей позиции. Если уже на позиции (длинная или короткая), никакой сигнал не будет повторен. Если нет позиции, она будет выпускать сигналы открытой позиции на основе условий покупки или продажи.
Наконец,plotshape
используется для обозначения сигналов покупки и продажи на графике.
Основные аспекты оптимизации этой стратегии:
Вкратце, это очень простая, низкий параметр, легко понять краткосрочную торговую стратегию. Он ловит изменения цен чрезвычайно быстро, подходит для высокочастотных трейдеров. Но также нужно контролировать количество сделок, чтобы снизить затраты. С несколькими методами оптимизации, он может достичь еще лучших результатов.
/*backtest start: 2022-12-11 00:00:00 end: 2023-12-17 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Heikin-Ashi - Change 0.5% short Time Period", shorttitle="Heikin-Ashi - Change 0.5% short Time Period", overlay=true) // Calculate 0.5% price change priceChange = close / close[1] - 1 // Buy and Sell Signals buyp = priceChange >= 0.005 sellp = priceChange <= -0.005 // Initialize position and track the current position var int position = na // Strategy entry conditions buy_condition = buyp and (na(position) or position == -1) sell_condition = sellp and (na(position) or position == 1) if buy_condition strategy.entry("Buy", strategy.long) position := 1 if sell_condition strategy.entry("Sell", strategy.short) position := -1 // Plot Buy and Sell signals using plotshape plotshape(series=buy_condition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small) plotshape(series=sell_condition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)