
Esta estratégia é uma estratégia de negociação dinâmica baseada em equilíbrio entre linhas. Ela usa duas médias móveis indexadas de diferentes períodos (EMA) para identificar sinais de compra e venda. Quando a linha EMA rápida atravessa a linha EMA lenta de baixo para cima, gera um sinal de compra.
A lógica central da estratégia baseia-se no sistema de cruzamento de médias. A fórmula de cálculo da EMA é a seguinte: $\(EMA_t=\frac{P_t \times k}{1+k}+\frac{EMA_{t-1}\times(1-k)}{1+k}\)\( Dentre eles, \)Pt\( representa o preço de fechamento do dia, \)EMA{t-1}\( representa o valor do EMA do dia anterior, \)k=\frac{2}{n+1}$, n representa o período de tempo do EMA.
O ciclo de EMA rápido nesta estratégia é definido como 55, e o ciclo de EMA lento é definido como 34. Quando a EMA curta começa a atravessar a EMA de longo prazo, a média curta começa a liderar a média de longo prazo para cima, pertencendo a um sinal de golden fork, gerando uma oportunidade de compra. Por outro lado, quando a EMA curta começa a atravessar a EMA de longo prazo para baixo, a média curta começa a ficar para trás da média de longo prazo para baixo, pertencendo a um sinal de fork, gerando uma oportunidade de venda.
A estratégia tem as seguintes vantagens:
A estratégia também apresenta alguns riscos, incluindo:
A estratégia pode ser melhorada em vários aspectos:
Esta estratégia é, em geral, uma estratégia de negociação de linha curta muito clássica e prática. Tem um sinal de negociação simples e claro e um espaço de aplicação flexível.
/*backtest
start: 2023-01-10 00:00:00
end: 2024-01-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("mohammad tork strategy", overlay=true)
// Input parameters
lengthShortEMA = input(55, title="Short EMA Length")
lengthLongEMA = input(34, title="Long EMA Length")
// Calculate EMAs
emaShort = ta.ema(close, lengthShortEMA)
emaLong = ta.ema(close, lengthLongEMA)
// Conditions for Long Signal
longCondition = ta.crossover(emaLong, emaShort)
// Conditions for Short Signal
shortCondition = ta.crossunder(emaLong, emaShort)
// Execute Long Signal
strategy.entry("Long", strategy.long, when = longCondition)
// Execute Short Signal
strategy.entry("Short", strategy.short, when = shortCondition)
// Plot EMAs on the chart
plot(emaShort, color=color.blue, title="Short EMA")
plot(emaLong, color=color.red, title="Long EMA")
// Plot Long Signal Icon with Buy Label
plotshape(series=longCondition, title="Long Signal", color=color.green, style=shape.triangleup, location=location.abovebar, size=size.small, text="Buy")
// Plot Short Signal Icon with Sell Label
plotshape(series=shortCondition, title="Short Signal", color=color.red, style=shape.triangledown, location=location.abovebar, size=size.small, text="Sell")