Эта стратегия торгует еженедельным циклическим паттерном, входя в длинный в понедельник закрыть и получить прибыль до среды открыть, чтобы захватить колебание цены в течение этого периода.
Логика стратегии:
Выполняйте длинный вход каждый понедельник.
Принимать прибыль, чтобы выйти задолго до каждого открытия в среду.
Установите процент остановки потери на предельный потери.
Установите целевой процент прибыли, чтобы закрепить прибыль.
Плотное остановка и линии прибыли для визуального P&L.
Преимущества:
Циклическая торговля имеет меньшие выводы и хорошие исторические доходы.
Фиксированные правила легко автоматизировать и выполнять.
Простая конфигурация стоп-лосса и прибыли.
Риски:
Не может адаптироваться к событиям, нарушающим цикл.
Задержка стоп-лосса Невозможно ограничить убытки на одной сделке.
Заперты в прибыли, не могут проследить дальнейшее повышение.
В целом, эта механическая циклическая система имеет впечатляющие обратные испытания, но с трудом адаптируется при изменении модели.
/*backtest start: 2023-08-12 00:00:00 end: 2023-09-11 00:00:00 period: 4h 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/ // © processingclouds // @description Strategy to go long at end of Monday and exit by Tuesday close, or at stop loss or take profit percentages //@version=5 strategy("Buy Monday, Exit Wednesday", "Mon-Wed Swings",overlay=true) // ----- Inputs: stoploss %, takeProfit % stopLossPercentage = input.float(defval=4.0, title='StopLoss %', minval=0.1, step=0.2) / 100 takeProfit = input.float(defval=3.0, title='Take Profit %', minval=0.3, step=0.2) / 100 // ----- Exit and Entry Conditions - Check current day and session time isLong = dayofweek == dayofweek.monday and not na(time(timeframe.period, "1400-1601")) isExit = dayofweek == dayofweek.wednesday and not na(time(timeframe.period, "1400-1601")) // ----- Calculate Stoploss and Take Profit values SL = strategy.position_avg_price * (1 - stopLossPercentage) TP = strategy.position_avg_price * (1 + takeProfit) // ----- Strategy Enter, and exit when conditions are met strategy.entry("Enter Long", strategy.long, when=isLong) if strategy.position_size > 0 strategy.close("Enter Long", isExit) strategy.exit(id="Exit", stop=SL, limit=TP) // ----- Plot Stoploss and TakeProfit lines plot(strategy.position_size > 0 ? SL : na, style=plot.style_linebr, color=color.red, linewidth=2, title="StopLoss") plot(strategy.position_size > 0 ? TP : na, style=plot.style_linebr, color=color.green, linewidth=2, title="TakeProfit")