Стратегия Dual Reversal High-Low - это количественная стратегия, которая сочетает в себе двойные сигналы. Она объединяет в себя стратегию внутридневного анализа, основанную на перевороте, и стратегию оценки тренда, которая использует разницу между вчерашней самой высокой ценой и скользящей средней. Стратегия направлена на достижение более стабильных сигналов купли и продажи, чтобы избежать дальнейшего выпуска неправильных сигналов.
Во-первых, часть обратной стратегии. Эта стратегия оценивает формирование сигналов при изменении цены закрытия в течение двух дней подряд, комбинируя суждение о состоянии перекупления и перепродажи с использованием стохастического индикатора. В частности, это сигнал продажи, когда цена закрытия изменяется от роста к падению в течение двух дней подряд, и быстрый стохастический индикатор находится выше медленного стохастического индикатора; это сигнал покупки, когда цена закрытия изменяется от падения к росту в течение двух дней подряд, и быстрый стохастический индикатор находится ниже медленного стохастического индикатора.
Во-вторых, часть высоко-низкой стратегии. Эта стратегия использует разницу между вчерашней самой высокой ценой и 13-периодической экспоненциальной скользящей средней для определения тренда. Она генерирует сигнал покупки, когда самая высокая цена выше скользящей средней; она генерирует сигнал продажи, когда самая высокая цена ниже скользящей средней.
Наконец, эта стратегия объединяет оба сигнала. Она принимает buy action, когда оба сигнала показывают buy signal одновременно; она принимает sell action, когда оба сигнала показывают sell signal одновременно.
Эта стратегия двойного сигнала может эффективно уменьшить неправильные сигналы и ненужные сделки. Часть обратного отсчета может определить условия перекупки и перепродажи, чтобы избежать преследования максимумов и продажи минимумов. Часть высокого-низкого может определить расхождения ценового тренда, чтобы избежать ложных прорывов. При объединении суждений фактические торговые сигналы генерируются только тогда, когда двойные сигналы находятся в одном направлении, что может значительно повысить надежность сигналов и уменьшить неэффективные сделки.
Кроме того, обратная и высоко-низкая части используют разные типы индикаторов и критерии суждения, поэтому они могут служить для проверки друг друга и дальнейшего снижения неправильных сигналов.
Самый большой риск этой стратегии заключается в том, что устойчивые разумные односторонние сигналы могут быть проигнорированы на сильно развивающемся рынке. Когда тенденция очень очевидна, суждение о сигнале отмены может быть неправильным, что приведет к тому, что односторонние сигналы в высоко-низкой части не будут выполнены как сделки. Это особенно заметно на трендовых бычьих и медвежьих рынках.
Кроме того, неправильное настройка параметров также может повлиять на стратегию. Настройки параметров в обратной части должны учитывать систему скользящей средней цикла, а период скользящей средней в высоко-низкой части должен быть скоординирован. Если периоды обоих неправильны, будут средние ложные сигналы или просто никаких сигналов.
Во-первых, параметр длины скользящей средней в высоко-низкой части может быть проверен, чтобы сделать его более скоординированным с показателями цикла в обратной части.
Во-вторых, обратная часть также может тестироваться с использованием объектов K-линии вместо использования только цены закрытия, на которую легко повлиять.
Наконец, он также может попробовать рассматривать возможность совершения сделок только тогда, когда в течение сессии появляются сигналы об обратном движении, поскольку текущий метод внутридневного хеджирования имеет более высокие риски.
Стратегия двойного обратного высоко-низкого интегрирует сигналы из нескольких индикаторов и проводит двойную проверку перед выпуском сигналов покупки и продажи. Этот строгий механизм фильтрации сигналов может эффективно уменьшить влияние недействительных и неправильных сигналов на фактическую торговлю. Стратегия успешно контролирует частоту неэффективных сделок, делая каждую торговлю более надежной, и избегает слепого следования за краткосрочными движениями рынка. Благодаря оптимизации параметров она может достичь лучшей производительности на определенных рынках.
/*backtest start: 2023-12-26 00:00:00 end: 2024-01-02 00:00:00 period: 15m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 23/11/2020 // This is combo strategies for get a cumulative signal. // // First strategy // This System was created from the Book "How I Tripled My Money In The // Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies. // The strategy buys at market, if close price is higher than the previous close // during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. // The strategy sells at market, if close price is lower than the previous close price // during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50. // // Second strategy // This indicator plots the difference between the High (of the previous period) // and an exponential moving average (13 period) of the Close (of the previous period). // You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect... // It buy if indicator above 0 and sell if below. // // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// Reversal123(Length, KSmoothing, DLength, Level) => vFast = sma(stoch(close, high, low, Length), KSmoothing) vSlow = sma(vFast, DLength) pos = 0.0 pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1, iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) pos HEMA(Length) => pos = 0.0 xPrice = close // You can use any series xEMA = ema(xPrice, Length) nRes = high[1] - nz(xEMA[1]) pos:= iff(nRes > 0, 1, iff(nRes < 0, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & High - EMA Strategy", shorttitle="Combo", overlay = true) Length = input(14, minval=1) KSmoothing = input(1, minval=1) DLength = input(3, minval=1) Level = input(50, minval=1) //------------------------- Length_HEMA = input(13, minval=1) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posHEMA = HEMA(Length_HEMA) pos = iff(posReversal123 == 1 and posHEMA == 1 , 1, iff(posReversal123 == -1 and posHEMA == -1, -1, 0)) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1 , 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) if (possig == 0) strategy.close_all() barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )