
Стратегия прорыва является стратегией отслеживания тенденции. Ее основной принцип заключается в том, чтобы сделать дополнительный дисконт при прорыве максимальной или минимальной цены на предыдущей K-линии, после установки стоп-стоп-потери, чтобы прибыль продолжалась.
Эта стратегия определяет время входа, главным образом, путем определения того, будет ли цена прорывать верхнюю или нижнюю цену предыдущей линии K. Конкретная логика заключается в следующем:
Если максимальная цена текущей K-линии выше максимальной цены предыдущей K-линии, то посылается сигнал делать больше.
Если минимальная цена текущей K-линии ниже минимальной цены предыдущей K-линии, то посылается пустой сигнал.
При получении сигнала о дополнительном освобождении сразу же вступайте в игру. После входа в игру настройте стоп-стоп на 50 очков, стоп-лост на 100 очков.
При активном выходе из игры, когда убыток больше, чем стоп-стоп или прибыль больше, чем стоп-бронь.
Эта новаторская стратегия имеет следующие преимущества:
Однако эта стратегия также несет в себе некоторые риски:
Мы можем продолжить оптимизацию этой стратегии в следующих аспектах:
Повышение эффективности оценки ценовых прорывов, предотвращение ложных прорывов. Например, можно добавить фильтрацию показателей и проверку количества сделок.
Добавление механизмов определения тенденций, чтобы избежать рисков, связанных с рыночной консолидацией. Можно добавить такие индикаторы тенденций, как движущиеся средние.
Оптимизация стратегий стоп-стоп, таких как отслеживание стоп-стоп, перенос стоп-стоп после прибыли и т. д., чтобы максимально увеличить прибыль.
Оптимизация параметров, чтобы найти оптимальное количество стоп-стоп-лосс.
Стратегия прорывного отклонения в целом проста в логике, проста в реализации, эффективно улавливает начало тренда, а также обладает сильными способностями к отступлению и контролю риска. С дальнейшей оптимизацией она может стать очень практичной количественной стратегией.
/*backtest
start: 2023-01-25 00:00:00
end: 2024-01-31 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Breakout Strategy", shorttitle="BS", overlay=true)
// Input for take profit and stop loss in pips
tp_pips = input(50, title="Take Profit (in pips)")
sl_pips = input(100, title="Stop Loss (in pips)")
// Calculate take profit and stop loss levels in points
tp_level = tp_pips * syminfo.mintick
sl_level = sl_pips * syminfo.mintick
// Function to check if a breakout has occurred
breakout(high_or_low) =>
high_or_low > request.security(syminfo.tickerid, "D", high[1]) ? true : false
// Buy condition
buy_condition = breakout(high)
strategy.entry("Buy", strategy.long, when=buy_condition)
// Sell condition
sell_condition = breakout(low)
strategy.entry("Sell", strategy.short, when=sell_condition)
// Take profit and stop loss conditions for Buy
tp_buy_condition = strategy.position_avg_price + tp_level
sl_buy_condition = strategy.position_avg_price - sl_level
strategy.exit("Take Profit/Close Buy", from_entry="Buy", profit=tp_buy_condition, loss=sl_buy_condition)
// Take profit and stop loss conditions for Sell
tp_sell_condition = strategy.position_avg_price - tp_level
sl_sell_condition = strategy.position_avg_price + sl_level
strategy.exit("Take Profit/Close Sell", from_entry="Sell", profit=tp_sell_condition, loss=sl_sell_condition)