Esta estratégia calcula médias móveis de diferentes períodos, define pontos de stop-loss e take-profit para implementar a negociação automatizada.
Esta estratégia baseia-se no princípio de cruzamento da média móvel. Calcula simultaneamente as médias móveis simples de 9 dias e 55 dias. Quando a MA de 9 dias cruza acima da MA de 55 dias, sinaliza que a tendência de curto prazo se invertiu para cima, então vai longo. Quando a MA de 9 dias cruza abaixo da MA de 55 dias, sinaliza que a tendência de curto prazo se invertiu para baixo, então vai curto.
Enquanto isso, esta estratégia utiliza o indicador ATR para definir pontos de stop-loss e take-profit. O indicador ATR pode medir o grau de volatilidade de preços no mercado. O ponto de stop-loss é definido no preço de fechamento menos o valor ATR, para que possa definir um stop-loss razoável com base na volatilidade do mercado. O ponto de take-profit usa uma relação risco-recompensa, que é definida em 2 aqui - take profit = preço de fechamento + 2 * valor ATR.
Trata-se de uma estratégia de negociação de curto prazo muito simples e prática, com as seguintes vantagens:
Há também alguns riscos com esta estratégia:
Estes riscos podem ser reduzidos através da otimização dos parâmetros, de um rigoroso stop-loss e de um dimensionamento razoável das posições.
Esta estratégia pode ser melhorada:
A lógica geral desta estratégia é clara e fácil de implementar, especialmente adequada para os iniciantes a dominar. Como uma estratégia de negociação básica de curto prazo, tem as vantagens de operação simples e otimização fácil. Quando combinado com COMPLETE ou outras estruturas, pode ser melhorado para se tornar um sistema de negociação quantitativo prático.
/*backtest start: 2022-12-14 00:00:00 end: 2023-12-20 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("MA Crossover Strategy with Stop-Loss and Take-Profit", overlay=true) // Input for selecting the length of the moving averages maShortLength = input(9, title="Short MA Length") maLongLength = input(55, title="Long MA Length") // Input for setting the risk-reward ratio riskRewardRatio = input(2, title="Risk-Reward Ratio") // Calculate moving averages maShort = ta.sma(close, maShortLength) maLong = ta.sma(close, maLongLength) // Buy condition: 9-period MA crosses above 55-period MA buyCondition = ta.crossover(maShort, maLong) // Sell condition: 9-period MA crosses below 55-period MA sellCondition = ta.crossunder(maShort, maLong) // Set stop-loss and take-profit levels atrValue = ta.atr(14) stopLossLevel = close - atrValue // Use ATR for stop-loss (adjust as needed) takeProfitLevel = close + riskRewardRatio * atrValue // Risk-reward ratio of 1:2 // Execute buy and sell orders with stop-loss and take-profit strategy.entry("Buy", strategy.long, when = buyCondition) strategy.exit("Sell", from_entry="Buy", loss=stopLossLevel, profit=takeProfitLevel) // Plot moving averages on the chart plot(maShort, color=color.blue, title="Short MA") plot(maLong, color=color.red, title="Long MA")