
A estratégia de limite de curto prazo é uma estratégia de negociação de alta frequência com níveis mínimos de stop loss e stop loss, que tenta obter lucro capturando a volatilidade do mercado com brechas de curto prazo nos preços.
A estratégia começa com o cálculo da linha de regressão linear do preço. Se o preço de fechamento real for inferior ao preço de fechamento previsto, é estabelecida uma posição a mais; Se o preço de fechamento real for superior ao preço de fechamento previsto, é estabelecida uma posição a zero.
Os parâmetros-chave incluem:
A principal idéia da estratégia é capturar brechas de curto prazo de preços em relação à linha média. Quando o preço se aproxima ou quebra a linha de suporte ou resistência, estabeleça uma posição em tempo hábil; e configure um stop loss e um stop loss minúsculos, e repita o processo imediatamente após a realização de ganhos.
A estratégia tem as seguintes vantagens:
A estratégia também apresenta alguns riscos:
As medidas de resposta ao risco correspondentes incluem:
A estratégia pode ser melhorada em várias áreas, incluindo:
A estratégia de limite de curto prazo é uma estratégia típica de negociação de alta frequência. Capta os movimentos de preços de curto prazo, construindo posições em tempo hábil perto dos pontos-chave e estabelecendo um mínimo de stop loss. Embora possa obter maiores ganhos, também enfrenta alguns riscos.
/*backtest
start: 2024-01-09 00:00:00
end: 2024-01-16 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Extreme Scalping", overlay=true )
src = input(close,title="Source")
len = input(defval=14, minval=1, title="Length")
offset = input(1)
out = linreg(src, len, offset)
plot(out)
gap_tick=input(100)
fixedTP=input(300)
fixedSL=input(100)
useFixedSLTP=input(true)
direction=input(defval="ALL",title="Direction of order",options=["ALL","BUY ONLY","SELL ONLY"])
gap=gap_tick*syminfo.mintick
plot(out+gap,color=color.red)
plot(out-gap,color=color.green)
tp=useFixedSLTP?fixedTP:gap_tick
sl=useFixedSLTP?fixedSL:gap_tick
longCondition = close<(out-gap) and (direction=="ALL" or direction=="BUY ONLY")
shortCondition = close>(out+gap) and (direction=="ALL" or direction=="SELL ONLY")
if (longCondition)
strategy.entry("Long", strategy.long)
strategy.exit("exit long","Long",profit = tp,loss = sl)
if (shortCondition)
strategy.entry("Short", strategy.short)
strategy.exit("exit short","Short",profit =tp,loss=sl)
// === Backtesting Dates === thanks to Trost
// testPeriodSwitch = input(true, "Custom Backtesting Dates")
// testStartYear = input(2019, "Backtest Start Year")
// testStartMonth = input(10, "Backtest Start Month")
// testStartDay = input(3, "Backtest Start Day")
// testStartHour = input(0, "Backtest Start Hour")
// testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,testStartHour,0)
// testStopYear = input(2019, "Backtest Stop Year")
// testStopMonth = input(12, "Backtest Stop Month")
// testStopDay = input(31, "Backtest Stop Day")
// testStopHour = input(23, "Backtest Stop Hour")
// testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,testStopHour,0)
// testPeriod() =>
// time >= testPeriodStart and time <= testPeriodStop ? true : false
// isPeriod = testPeriodSwitch == true ? testPeriod() : true
// // === /END
// if not isPeriod
// strategy.cancel_all()
// strategy.close_all()