
Gem Forest One Minute Scalping Strategy - стратегия количественного торговли на короткой линии. Стратегия использует несколько индикаторов, чтобы идентифицировать характер рыночных потрясений в течение 1 минуты, чтобы переключить позиции на длинные и короткие позиции, чтобы достичь сверхкороткой линии.
Когда цена ниже нижней полосы, быстро медленно EMA образует золотую вилку, быстро линия RSI на медленной линии RSI, создавая сигнал купить; когда цена выше верхней полосы, быстро медленно EMA образует мертвую вилку, быстро линия RSI на медленной линии RSI, создавая сигнал продать. После входа настройка стоп-лосс и стоп-выход.
В связи с этими рисками можно оптимизировать параметры индикатора, скорректировать метод остановки убытков, надлежащим образом ограничить максимальное количество сделок в день, выбрать торговые сорта с высокой ликвидностью и умеренной волатильностью и т. д.
Стратегия одноминутных колебаний Кинсона полностью учитывает характеристики сверхкоротких количественных сделок, рациональная настройка параметров показателя, использование подтверждения и комбинированного использования нескольких показателей, высокая надежность, с высоким потенциалом прибыли при условии строгого контроля риска, очень подходит для тестирования диапазона инвесторов с достаточными операционными способностями и психологическими качествами.
/*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)