
Esta estratégia de negociação combina vários indicadores técnicos, tais como cruzamentos de médias móveis (MACD), indicadores de força relativa (RSI), médias móveis simples (SMA), indicadores aleatórios (Stochastic) e bandas de Bollinger (Bollinger Bands), para identificar os pontos de entrada e saída do mercado. Faça mais quando o indicador mostra um sinal de múltiplos cabeças; Faça o que está em branco quando o indicador mostra um sinal de cabeças vazias.
Faça mais quando a linha DIF do MACD atravessa a linha DEA e entra em um estado múltiplo; ou quando o RSI é inferior a 30 e entra em um estado de sobrevenda; ou quando a linha% K e a linha% D do indicador aleatório são inferiores a 20 e entram em um estado de sobrevenda.
Em vez disso, quando a linha DIF do MACD atravessa a linha DEA e entra em um estado de vazio; ou quando o RSI é superior a 70 e entra em um estado de sobrecompra; ou quando a linha% K e a linha% D do indicador aleatório são superiores a 80 e entram em um estado de sobrecompra.
O stop loss é definido por um fator de multiplicação do ATR, e o stop loss é definido por uma taxa de retorno de risco.
A estratégia combina vários indicadores para avaliar o estado do mercado, evitando a probabilidade de erros de avaliação de um único indicador, aumentando a precisão da decisão. Ao mesmo tempo, o risco de um único negócio é controlado de forma racional e eficaz com a configuração de stop loss e stop loss.
Os indicadores técnicos são calculados com base em dados históricos, não podem prever os preços futuros e existem alguns atrasos. O uso de vários indicadores em combinação também pode apresentar alguns sinais falsos. Além disso, a configuração inadequada do ponto de parada também pode levar a maiores perdas.
Para problemas de atraso em indicadores técnicos, os parâmetros podem ser adequadamente ajustados, reduzindo o ciclo de cálculo. Para sinais falsos, outros indicadores auxiliares de julgamento podem ser adicionados para confirmação. Além disso, o ponto de parada deve ser configurado de forma mais relaxada e razoável.
A estratégia pode ser melhorada em alguns aspectos:
Esta estratégia, combinada com vários indicadores técnicos, pode aumentar efetivamente a precisão da tomada de decisão, e é uma estratégia de acompanhamento de tendências confiável através do controle do risco de stop loss. A introdução de métodos como estatística e aprendizagem de máquina, em seguida, espera-se que a estratégia de desempenho seja ainda mais aprimorada.
/*backtest
start: 2024-01-21 00:00:00
end: 2024-02-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Enhanced Moving Average Crossover sakkoulas with ATR and SAR", overlay=true)
// Παράμετροι MACD
fastLength = input.int(16, title="Fast Length")
slowLength = input.int(6, title="Slow Length")
signalSmoothing = input.int(5, title="Signal Smoothing")
// Παράμετροι RSI
rsiLength = input.int(6, title="RSI Length")
upperBound = input.int(70, title="Upper Bound")
lowerBound = input.int(30, title="Lower Bound")
// Παράμετροι SMA
smaPeriod = input.int(10, title="SMA Period")
// Παράμετροι Stochastic
stoLength = input.int(5, title="Stochastic Length")
stoSmoothK = input.int(3, title="Stochastic %K Smoothing")
stoSmoothD = input.int(10, title="Stochastic %D Smoothing")
// Παράμετροι Bollinger Bands
bbLength = input.int(20, title="Bollinger Bands Length")
bbStdDev = input.float(1, title="Bollinger Bands StdDev")
// Παράμετροι ATR
atrLength = input.int(14, title="ATR Length")
atrMultiplier = input.float(1.5, title="ATR Multiplier for Stop Loss")
// Παράμετροι Parabolic SAR
sarAcceleration = input.float(0.02, title="SAR Acceleration")
sarMaximum = input.float(0.2, title="SAR Maximum")
// Διαχείριση κινδύνου
riskRewardRatio = input.float(2.0, title="Risk/Reward Ratio")
// Υπολογισμοί δεικτών
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalSmoothing)
rsi = ta.rsi(close, rsiLength)
sma = ta.sma(close, smaPeriod)
atr = ta.atr(atrLength)
// Παράμετροι και κλήση του Parabolic SAR
sar = ta.sar(sarAcceleration, sarMaximum, 15) // Διορθωμένη κ
// Υπολογισμός Stop Loss με βάση το ATR
longStopLoss = close - atrMultiplier * atr
shortStopLoss = close + atrMultiplier * atr
// Συνθήκες για είσοδο και έξοδο
longCondition = ta.crossover(macdLine, signalLine) and close > sar
shortCondition = ta.crossunder(macdLine, signalLine) and close < sar
// Εκτέλεση εντολών συναλλαγής με διαχείριση κινδύνου
if (longCondition)
strategy.entry("Long Position", strategy.long)
strategy.exit("Exit Long", "Long Position", stop=longStopLoss)
if (shortCondition)
strategy.entry("Short Position", strategy.short)
strategy.exit("Exit Short", "Short Position", stop=shortStopLoss)
// Συνθήκες για είσοδο και έξοδο
// Εμφάνιση βελών για σημεία εισόδου
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small, title="Long Entry")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small, title="Short Entry")
// Εμφάνιση δεικτών
plot(macdLine, color=color.blue, title="MACD Line")
plot(signalLine, color=color.red, title="Signal Line")
plot(sma, color=color.orange, title="SMA")
plot(series=sar, color=color.fuchsia, style=plot.style_circles, title="Parabolic SAR")
hline(upperBound, "Upper Bound", color=color.red)
hline(lowerBound, "Lower Bound", color=color.green)