
La stratégie de scalping d’une minute de Gem Forest est une stratégie de trading quantitatif de courte durée. Elle utilise plusieurs indicateurs pour identifier les caractéristiques de la volatilité du marché dans un délai d’une minute et effectuer un commutation de position longue et courte pour réaliser un arbitrage de courte durée.
Lorsque le prix est en dessous de la trajectoire descendante, l’EMA forme une fourche dorée, la ligne rapide RSI traverse la ligne lente RSI, générant un signal d’achat. Lorsque le prix est en haut de la trajectoire descendante, l’EMA forme une fourche morte, la ligne rapide RSI traverse la ligne lente RSI, générant un signal de vente.
Pour répondre à ces risques, il est possible d’optimiser les paramètres de l’indicateur, d’ajuster le mode de stop-loss, de limiter de manière appropriée le nombre maximal de transactions par jour, de choisir des types de transactions à forte liquidité et à volatilité modérée, etc.
La stratégie d’oscillation d’une minute de Kimson prend en compte les caractéristiques des transactions quantifiées en ligne ultra-courte, la configuration des paramètres de l’indicateur est raisonnable, la confirmation et l’utilisation combinée de plusieurs indicateurs, une grande fiabilité, un fort potentiel de profit dans le cadre d’un contrôle strict des risques, un test de plateau très approprié pour les investisseurs ayant suffisamment de capacité opérationnelle et de qualité psychologique.
/*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)