Стратегия двойного тени - это краткосрочная торговая стратегия, основанная на моделях свечей. Стратегия идентифицирует потенциальные возможности обратного движения путем обнаружения специального шаблона свечей, где две последовательные свечи не имеют теней.
Основная логика этой стратегии заключается в определении шаблона
Согласно теории технического анализа, эта двойная тень часто указывает на предстоящее изменение тренда. Ценовые колебания в пределах очень узкого диапазона на двух последовательных свечах указывают на выравнивание покупательных и продажных сил, что намекает на вероятное изменение.
После обнаружения двойной тени, стратегия будет входить в длинный или короткий на следующей свечи открывается на основе предыдущего закрытия. и закрыть позицию после определенного количества баров.
Логика стратегии проста и понятна, с простым распознаванием шаблонов, которые легко реализовать.
Он использует классическую модель обратного движения двойных теней, которая имеет некоторое техническое обоснование анализа.
Нечастая торговля помогает снизить затраты и риски.
Легко добавить функции обратного тестирования и оптимизировать параметры.
Торговля паттернами основана на статистике и вероятностях исторических графиков, и отклонения могут произойти.
Несмотря на то, что двойные тени указывают на изменение, фактическое изменение может не произойти или не сохраниться.
Зона фиксированной прибыли может не справиться с быстро меняющимися рынками.
Ограниченная информация о свечах может привести к чрезмерному ожиданию.
Включайте индикаторы тренда, чтобы избежать контратендных сделок.
Используйте записи с ожиданием подтверждения для подтверждения фактического отмены.
Установка динамического стоп-лосса на основе 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)