Основная идея этой стратегии заключается в том, чтобы обнаружить, если цена пробивается через самую низкую цену в определенный период и идти длинный, ожидая, что цена вернется к среднему.
Стратегия получает самую низкую цену за определенный период lowestLow с помощью метода ta.lowest Pine Script
Если в последнее время
Стратегия позволяет выбрать условие запуска, т.е. самая низкая цена должна преодолеть 1, 2, 3 или 4 предыдущих низких цен последовательно, чтобы контролировать частоту торговли.
Также на графике отображается самая низкая ценовая линия самая низкая и самая высокая ценовая линия самая высокая, чтобы визуально отобразить изменение тренда.
Стратегия ловит обратный тренд после преодоления новых минимумов с относительно высоким показателем выигрыша.
Позволяет выбирать количество низких цен, чтобы контролировать частоту торговли.
Рисование линий помогает визуально определить точки изменения тренда.
Простая и понятная логика стратегии, легко понятная и реализуемая.
Можно настроить и оптимизировать на различные запасы и периоды времени.
Прорыв ложного дна не может определить точки обратного тренда, может привести к потерям.
Необходимо тестировать различные комбинации параметров для оптимизации конфигураций, иначе частота торговли может быть слишком высокой или слишком низкой.
Параметры должны быть скорректированы для различных запасов, не должны применяться механически.
Недостаточный период обратного испытания может привести к переустановке.
Цена может достичь новых минимумов после взрыва, необходимо установить стоп-лосс для контроля рисков.
Добавьте механизмы остановки потери, такие как перемещение остановки потери, отслеживание остановки потери, чтобы ограничить потери по торговле.
Оптимизируйте количество прорывов, чтобы сбалансировать частоту торговли и качество сигналов.
Параметры испытаний на различных запасах и периодах времени.
Добавьте фильтры, чтобы избежать частой торговли на различных рынках.
Подумайте о добавлении индикаторов тренда, чтобы избежать торговли с противоположным трендом.
Испытайте разные сигналы выхода.
Стратегия отслеживает возможности реверсии, отслеживая наименьшие цены, что является типичной средней стратегией реверсии. Преимущества заключаются в простоте, контролируемой частоте и применимости к различным акциям.
/*backtest start: 2023-10-02 00:00:00 end: 2023-11-01 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © merovinh //@version=5 strategy(title="Merovinh - Mean Reversion Lowest low", overlay = true, default_qty_type = strategy.percent_of_equity, initial_capital = 10000, default_qty_value = 10, commission_type = strategy.commission.percent, slippage = 1, commission_value = 0.04) GR_TIME = 'Time Period' bars = input(9, title = "Minimum number of bars", tooltip = "The minimum number of bars before updating lowest low / highest high") numberOfLows = input.string(defval='One', title='Number of broken lows', options=['One', 'Two', 'Three', 'Four']) //Period var prevLow = .0 var prevHigh = .0 var prevLow2 = .0 var prevLow3 = .0 var prevLow4 = .0 truetime = true highestHigh = ta.highest(high, bars) lowestLow = ta.lowest(low, bars) if numberOfLows == 'One' if truetime and prevLow > 0 and lowestLow < prevLow strategy.entry('long', strategy.long) if numberOfLows == 'Two' if truetime and prevLow > 0 and lowestLow < prevLow and prevLow < prevLow2 strategy.entry('long', strategy.long) if numberOfLows == 'Three' if truetime and prevLow > 0 and lowestLow < prevLow and prevLow < prevLow2 and prevLow2 < prevLow3 strategy.entry('long', strategy.long) if numberOfLows == 'Four' if truetime and prevLow > 0 and lowestLow < prevLow and prevLow < prevLow2 and prevLow2 < prevLow3 and prevLow3 < prevLow4 strategy.entry('long', strategy.long) if truetime and prevHigh > 0 and highestHigh > prevHigh strategy.close('long') if prevLow != lowestLow prevLow4 := prevLow3 prevLow3 := prevLow2 prevLow2 := prevLow prevLow := lowestLow prevHigh := highestHigh plot(lowestLow, color=color.green, linewidth=1, title="Lowest Low Line") plot(highestHigh, color=color.green, linewidth=1, title="Highest High Line")