Стратегия двойной смены тени

Автор:Чао Чжан, Дата: 2023-11-07 17:00:52
Тэги:

img

Обзор

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

Принцип

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

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

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

Преимущества

  • Логика стратегии проста и понятна, с простым распознаванием шаблонов, которые легко реализовать.

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

  • Нечастая торговля помогает снизить затраты и риски.

  • Легко добавить функции обратного тестирования и оптимизировать параметры.

Риски

  • Торговля паттернами основана на статистике и вероятностях исторических графиков, и отклонения могут произойти.

  • Несмотря на то, что двойные тени указывают на изменение, фактическое изменение может не произойти или не сохраниться.

  • Зона фиксированной прибыли может не справиться с быстро меняющимися рынками.

  • Ограниченная информация о свечах может привести к чрезмерному ожиданию.

Идеи улучшения

  • Включайте индикаторы тренда, чтобы избежать контратендных сделок.

  • Используйте записи с ожиданием подтверждения для подтверждения фактического отмены.

  • Установка динамического стоп-лосса на основе ATR вместо фиксированной продолжительности.

  • Используйте машинное обучение, чтобы определить, какие паттерны двойных теней более надежные.

Резюме

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


/*backtest
start: 2023-10-30 00:00:00
end: 2023-11-06 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("No Shadow Candles", overlay=true)

//set inputs
bars_until_close_trade = input(1,"Bars Until Close", minval = 1)
backtest_option = input(true,"Backtest on Twice alert?", bool)

//set conditions
up = close > close[1] and low >= open and high <= close
down = close < close[1] and low >= close and high <= open

up2 = (close > close[1] and low >= open and high <= close) and (close[1] > close[2] and low[1] >= open[1] and high[1] <= close[1])
down2 = (close < close[1] and low >= close and high <= open) and (close[1] < close[2] and low[1] >= close[1] and high[1] <= open[1])

close_trade = barssince(up or down) == bars_until_close_trade
close_trade2 = barssince(up2 or down2) == bars_until_close_trade

//plot indicators
plotshape(up,"Up Marker", shape.triangleup, location.belowbar, color = olive, size = size.tiny, transp = 50)
plotshape(down,"Down Marker", shape.triangledown, location.abovebar, color = orange, size = size.tiny, transp = 50)
plotshape(up2,"Up Twice Marker", shape.triangleup, location.belowbar, color = white, size = size.small)
plotshape(down2,"Down Twice Marker", shape.triangledown, location.abovebar, color = white, size = size.small)
plotshape(close_trade,"Close Trigger", shape.circle, location.belowbar, color = fuchsia, size = size.tiny, transp = 50)
plotshape(close_trade2,"Close Trigger2 (After Twice Alert)", shape.circle, location.belowbar, color = red, size = size.small)

//Strategy Testing


// Component Code Start
// Example usage:
// if testPeriod()
//   strategy.entry("LE", strategy.long)
testStartYear = input(2017, "Backtest Start Year")
testStartMonth = input(01, "Backtest Start Month")
testStartDay = input(2, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(2019, "Backtest Stop Year")
testStopMonth = input(7, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

// A switch to control background coloring of the test period
testPeriodBackground = input(title="Color Background?", type=bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na
bgcolor(testPeriodBackgroundColor, transp=97)

testPeriod() => true
// Component Code Stop

//Entry and Close settings
if testPeriod() and backtest_option == true
    strategy.entry("up2", true, when = up2, limit = close)
    strategy.close("up2", when = close_trade)

if testPeriod() and backtest_option == false
    strategy.entry("up", true,  when = up, limit = close)
    strategy.close("up", when = close_trade)


Больше