Эта статья представляет количественную торговую стратегию, основанную на процентном пороге. Стратегия определяет время покупки и продажи, устанавливая процентный порог и выбирая подходящий период времени. Когда цена повышается или падает выше или ниже указанного процентного порога по отношению к предыдущей цене закрытия, это запускает сигнал покупки или продажи. Эта стратегия может гибко корректироваться в соответствии с предпочтениями пользователя и рыночными условиями риска и подходит для торговли различными финансовыми инструментами.
Основой этой стратегии является генерация торговых сигналов на основе процентного изменения цены. Во-первых, пользователю необходимо установить процентный порог, который представляет собой величину изменения цены по отношению к предыдущей цене закрытия. В то же время пользователю также необходимо выбрать период времени, например, 1 минуту, 1 час, 1 день и т. Д., Чтобы рассчитать высокие, низкие и закрывающие цены в течение этого периода времени. Стратегия отслеживает рыночные цены в режиме реального времени. Когда самая высокая цена текущего периода превышает предыдущую цену закрытия плюс порог, она запускает сигнал покупки; когда самая низкая цена текущего периода падает ниже предыдущей цены закрытия минус порог, она запускает сигнал продажи. Если сигнал продажи запускается при удержании длинной позиции, стратегия закрывает длинную позицию; если сигнал покупки закрывается при удержании короткой позиции, стратегия делает крупные колебания цены.
Эта статья представляет количественную торговую стратегию, основанную на процентном пороге, которая автоматически генерирует сигналы купли и продажи, устанавливая процентный порог для изменений цен и временного периода. Стратегия проста в эксплуатации, очень гибкая и широко применима, но также сталкивается с такими рисками, как волатильность рынка, настройки параметров и перенапряжение.
/*backtest start: 2023-05-28 00:00:00 end: 2024-06-02 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("GBS Percentage", overlay=true) // Define input options for percentage settings and timeframe percentage = input.float(1.04, title="Percentage Threshold", minval=0.01, step=0.01) / 100 timeframe = input.timeframe("D", title="Timeframe", options=["1", "3", "5", "15", "30", "60", "240", "D", "W", "M"]) // Calculate high, low, and close of the selected timeframe high_timeframe = request.security(syminfo.tickerid, timeframe, high) low_timeframe = request.security(syminfo.tickerid, timeframe, low) close_timeframe = request.security(syminfo.tickerid, timeframe, close) // Calculate the percentage threshold based on the previous close threshold = close_timeframe[1] * percentage // Define conditions for Buy and Sell buyCondition = high_timeframe > (close_timeframe[1] + threshold) sellCondition = low_timeframe < (close_timeframe[1] - threshold) // Entry and exit rules if (buyCondition) strategy.entry("Buy", strategy.long) if (sellCondition) strategy.entry("Sell", strategy.short) // Close the positions based on the conditions if (sellCondition) strategy.close("Buy") if (buyCondition) strategy.close("Sell") // Plot Buy and Sell signals on the chart plotshape(series=buyCondition, title="Buy Entry", color=color.green, style=shape.triangleup, location=location.belowbar) plotshape(series=sellCondition, title="Sell Entry", color=color.red, style=shape.triangledown, location=location.abovebar) // Plot the equity curve of the strategy plot(strategy.equity, title="Equity", color=color.blue, linewidth=2)