
Эта стратегия представляет собой 5-минутную шокирующую торговую стратегию, предназначенную для захвата краткосрочных колебаний цен на рынках биткоина и золота, чтобы получить прибыль. Она сочетает в себе использование средней линии EMA, индикатора Брин-Бенда и метода остановок для входа и выхода.
Эта стратегия использует показатели быстрых и медленных ЭМА для построения системы определения тенденции. Когда быстрые ЭМА пересекают медленные ЭМА, это создает сигнал покупки; когда быстрые ЭМА пересекают медленные ЭМА, это создает сигнал продажи, чтобы зафиксировать свертывание краткосрочной тенденции.
В то же время, эта стратегия в сочетании с индикатором Бриндо определяет диапазон колебаний цены. Торговый сигнал создается только тогда, когда цена близка к траектории или средней траектории Бриндо. Это отфильтровывает большинство ложных сигналов.
После входа в рынок стратегия использует показатель ATR для расчета стоп-лосса. Стоп-лосса устанавливается как минимальная точка входа в рынок за вычетом n-кратного ATR для управления риском каждой сделки.
Наибольшим преимуществом этой стратегии является то, что она позволяет быстро определять краткосрочные тенденции с помощью комбинации быстрых ЭМА и медленных ЭМА. Брин-пояса и ATR-стоп эффективно контролируют риск, что является относительно стабильной стратегией колебаний.
Кроме того, 5-минутный цикл операций делает стратегию более часто торгуемой, что увеличивает ее прибыль. Кроме того, это позволяет контролировать или оптимизировать ее.
Основная опасность этой стратегии заключается в том, что Whipsaws leading to multiple small losses (WPSL) - это небольшие последовательные потери, вызванные обратным поворотом. Когда цена колеблется в пределах одного диапазона, может часто появляться перекрестный сигнал EMA, что приводит к ненужным сделкам и небольшим последовательным потерям.
Кроме того, в качестве краткосрочной стратегии колебаний, он также сталкивается с риском высоких затрат на транзакции, связанных с высокой частотой торгов. Если затраты на транзакции слишком высоки, это может разрушить прибыль.
Эта стратегия может быть оптимизирована следующими способами:
Добавление других осцилляторов в качестве вспомогательных показателей, таких как RSI, Stochastics и т. Д., Чтобы избежать попадания в рынок во время колебаний.
Добавление моделей машинного обучения для определения направления тенденций и повышения точности входа в систему.
Использование генетических алгоритмов, методов, таких как случайные леса, автоматически оптимизирует параметры, чтобы они были более соответствующими текущим рыночным условиям.
В сочетании с глубоким обучением определяет ключевые точки поддержки и ключевые точки давления, чтобы установить более оптимальную позицию остановки.
Тестирование различных видов торговли, таких как фондовые индексы, иностранные валюты, криптовалюты и т. д., выбор наиболее эффективных видов торговли в качестве основных торговых показателей.
В целом, эта стратегия является краткосрочной частотной торговой стратегией, способной эффективно улавливать краткосрочные колебания цены и обратные тенденции, контролировать риск с помощью быстрых EMA-решений, фильтров Брин и остановок ATR для стабильной прибыли. Это будет очень потенциальная количественная стратегия, если ее оптимизировать и улучшить, сохраняя прибыльность при снижении частоты торгов.
/*backtest
start: 2023-12-19 00:00:00
end: 2024-01-10 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/
// © singhak8757
//@version=5
strategy("Bitcoin and Gold 5min Scalping Strategy2.0", overlay=true)
// Input parameters
fastLength = input(5, title="Fast EMA Length")
slowLength = input(13, title="Slow EMA Length")
bollingerLength = input(20, title="Bollinger Band Length")
bollingerMultiplier = input(2, title="Bollinger Band Multiplier")
stopLossMultiplier = input(1, title="Stop Loss Multiplier")
// Calculate EMAs
fastEMA = ta.ema(close, fastLength)
slowEMA = ta.ema(close, slowLength)
// Calculate Bollinger Bands
basis = ta.sma(close, bollingerLength)
upperBand = basis + bollingerMultiplier * ta.stdev(close, bollingerLength)
lowerBand = basis - bollingerMultiplier * ta.stdev(close, bollingerLength)
// Buy condition
buyCondition = ta.crossover(fastEMA, slowEMA) and (close <= upperBand or close <= basis)
// Sell condition
sellCondition = ta.crossunder(fastEMA, slowEMA) and (close >= lowerBand or close >= basis)
// Calculate stop loss level
stopLossLevel = ta.lowest(low, 2)[1] - stopLossMultiplier * ta.atr(14)
// Plot EMAs
plot(fastEMA, color=color.rgb(0, 156, 21), title="Fast EMA")
plot(slowEMA, color=color.rgb(255, 0, 0), title="Slow EMA")
// Plot Bollinger Bands
plot(upperBand, color=color.new(#000000, 0), title="Upper Bollinger Band")
plot(lowerBand, color=color.new(#1b007e, 0), title="Lower Bollinger Band")
// Plot Buy and Sell signals
plotshape(series=buyCondition, title="Buy Signal", color=color.green, style=shape.labelup, location=location.belowbar)
plotshape(series=sellCondition, title="Sell Signal", color=color.red, style=shape.labeldown, location=location.abovebar)
// Plot Stop Loss level
plot(stopLossLevel, color=color.orange, title="Stop Loss Level")
// Strategy logic
strategy.entry("Buy", strategy.long, when = buyCondition)
strategy.exit("Stop Loss/Close", from_entry="Buy", loss=stopLossLevel)
strategy.close("Sell", when = sellCondition)