Стратегия скальпинга Gem Forest One Minute

Автор:Чао Чжан, Дата: 2024-02-19 10:45:18
Тэги:

img

Обзор

Стратегия Gem Forest One Minute Scalping - это количественная стратегия торговли для краткосрочной торговли. Она сочетает в себе несколько индикаторов для определения характеристик колебаний рынка в течение 1 минуты и переключения между длинными и короткими позициями для ультра-короткого скальпинга.

Логика стратегии

  1. Индикатор ATR создает верхние и нижние диапазоны для определения диапазона колебаний цен
  2. Быстрые и медленные перекрестки EMA генерируют торговые сигналы
  3. Двойные индикаторы RSI подтверждают перекрестные сигналы
  4. Точки входа и выхода определяются путем сочетания сигналов индикаторов и уровней цен

Когда цена находится ниже нижней полосы, происходит быстрое и медленное золотое пересечение EMA, быстрое RSI пересекается над медленным RSI, генерируется сигнал покупки; когда цена находится выше верхней полосы, происходит быстрое и медленное мертвое пересечение EMA, быстрое RSI пересекается ниже медленного RSI, генерируется сигнал продажи. После входа, для выхода используются стоп-лосс и прибыль.

Анализ преимуществ

  1. Объединение нескольких показателей повышает надежность
  2. Высокая частота работы обеспечивает больший потенциал прибыли
  3. Меньшее потребление, лучшая стабильность
  4. Способность к сверхкороткому скальпингу в течение 1 минуты или меньше

Анализ рисков

  1. Более высокие требования к сети и оборудованию из-за высокой частоты
  2. Риски чрезмерной торговли и рассеяния капитала
  3. Ложные сигналы из-за плохой конфигурации индикатора
  4. Уязвимость к остановке потерь при волатильных рыночных условиях

Эти риски можно управлять путем оптимизации параметров, корректировки остановок, ограничения максимальных суточных сделок, выбора подходящих продуктов и т. Д.

Руководство по оптимизации

  1. Испытание воздействия различных периодов ATR
  2. Попробуйте различные типы EMA или замените один EMA
  3. Корректировать периоды RSI или тестировать другие осцилляторы, такие как KDJ, Stochastics и т.д.
  4. Улучшить логику входа с помощью большего количества факторов, таких как тенденции
  5. Оптимизировать остановки для улучшения соотношения риск-вознаграждение

Заключение

Эта стратегия полностью учитывает характеристики ультракороткой количественной торговли. Разумные настройки индикаторов, множественные подтверждения и комбинации обеспечивают высокую надежность. При строгом контроле рисков она имеет значительный потенциал прибыли и подходит инвесторам с достаточной вычислительной мощностью и психологическим качеством.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Gem Forest 1 Dakika Scalp", overlay=true)

source = close
atrlen = input.int(14, "ATR Period")
mult = input.float(1, "ATR Multi", step=0.1)
smoothing = input.string(title="ATR Smoothing", defval="WMA", options=["RMA", "SMA", "EMA", "WMA"])

ma_function(source, atrlen) => 
    if smoothing == "RMA"
        ta.rma(source, atrlen)
    else
        if smoothing == "SMA"
            ta.sma(source, atrlen)
        else
            if smoothing == "EMA"
                ta.ema(source, atrlen)
            else
                ta.wma(source, atrlen)

atr_slen = ma_function(ta.tr(true), atrlen)
upper_band = atr_slen * mult + close
lower_band = close - atr_slen * mult

ShortEMAlen = input.int(21, "Fast EMA")
LongEMAlen = input.int(65, "Slow EMA")
shortSMA = ta.ema(close, ShortEMAlen)
longSMA = ta.ema(close, LongEMAlen)
RSILen1 = input.int(25, "Fast RSI Length")
RSILen2 = input.int(100, "Slow RSI Length")
rsi1 = ta.rsi(close, RSILen1)
rsi2 = ta.rsi(close, RSILen2)
atr = ta.atr(atrlen)

RSILong = rsi1 > rsi2
RSIShort = rsi1 < rsi2

longCondition = open < lower_band
shortCondition = open > upper_band
GoldenLong = ta.crossover(shortSMA,longSMA)
Goldenshort = ta.crossover(longSMA,shortSMA)

plotshape(shortCondition, title="Sell Label", text="Sell", location=location.abovebar, style=shape.labeldown, size=size.tiny, color=color.red, textcolor=color.white, transp=0)
plotshape(longCondition, title="Buy Label", text="Buy", location=location.belowbar, style=shape.labelup, size=size.tiny, color=color.green, textcolor=color.white, transp=0)
plotshape(Goldenshort, title="Golden Sell Label", text="Golden Crossover Short", location=location.abovebar, style=shape.labeldown, size=size.tiny, color=color.blue, textcolor=color.white, transp=0)
plotshape(GoldenLong, title="Golden Buy Label", text="Golden Crossover Long", location=location.belowbar, style=shape.labelup, size=size.tiny, color=color.yellow, textcolor=color.white, transp=0)

if (longCondition)
    stopLoss = low - atr * 2
    takeProfit = high + atr * 5
    strategy.entry("long", strategy.long, when = RSILong)

if (shortCondition)
    stopLoss = high + atr * 2
    takeProfit = low - atr * 5
    strategy.entry("short", strategy.short, when = RSIShort)

plot(upper_band)
plot(lower_band)
plot(shortSMA, color = color.red)
plot(longSMA, color = color.yellow)


Больше