
Esta estratégia é uma estratégia de inversão de linha cruzada baseada em médias móveis simples. Ela usa médias móveis simples de comprimento 1 e de comprimento 5.
Esta estratégia calcula a média móvel simples de 1 dia SMA1 e a média móvel simples de 5 dias SMA5 do preço de fechamento, fazendo uma entrada maior quando a SMA5 é usada acima da SMA1 e uma entrada menor quando a SMA5 é usada abaixo da SMA1. O stop loss após o aumento é de US \( 5 abaixo do preço de entrada e o stop loss é de US \) 150 acima do preço de entrada; o stop loss após o stop loss é de US \( 5 acima do preço de entrada e o stop loss é de US \) 150 abaixo do preço de entrada.
Otimização:
Esta estratégia é uma estratégia de dupla equação simples, com características de operação simples e fácil de implementar, que permite a verificação rápida de ideias estratégicas. Mas sua capacidade de tolerância e espaço de lucro são limitados, e os parâmetros e condições de filtragem precisam ser otimizados para se adaptar a mais ambientes de mercado. Como a primeira estratégia de quantificação para iniciantes, ela contém os componentes básicos, que podem ser melhorados iterativamente como um quadro simples.
/*backtest
start: 2023-02-19 00:00:00
end: 2024-02-19 00:00:00
period: 2d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Valeria 181 Bot Strategy Mejorado 2.21", overlay=true, margin_long=100, margin_short=100)
var float lastLongOrderPrice = na
var float lastShortOrderPrice = na
longCondition = ta.crossover(ta.sma(close, 1), ta.sma(close, 5))
if (longCondition)
strategy.entry("Long Entry", strategy.long) // Enter long
shortCondition = ta.crossunder(ta.sma(close, 1), ta.sma(close, 5))
if (shortCondition)
strategy.entry("Short Entry", strategy.short) // Enter short
if (longCondition)
lastLongOrderPrice := close
if (shortCondition)
lastShortOrderPrice := close
// Calculate stop loss and take profit based on the last executed order's price
stopLossLong = lastLongOrderPrice - 5 // 10 USDT lower than the last long order price
takeProfitLong = lastLongOrderPrice + 151 // 100 USDT higher than the last long order price
stopLossShort = lastShortOrderPrice + 5 // 10 USDT higher than the last short order price
takeProfitShort = lastShortOrderPrice - 150 // 100 USDT lower than the last short order price
// Apply stop loss and take profit to long positions
strategy.exit("Long Exit", from_entry="Long Entry", stop=stopLossLong, limit=takeProfitLong)
// Apply stop loss and take profit to short positions
strategy.exit("Short Exit", from_entry="Short Entry", stop=stopLossShort, limit=takeProfitShort)