
Esta estratégia é uma estratégia de negociação de seguimento de tendências e inversão baseada em médias móveis simples. Ela usa a linha de 1 dia e a linha de 4 dias para determinar a direção da tendência e, em seguida, gera sinais de compra e venda.
Quando a linha de 1o dia cruza a linha de 4o dia de cima para baixo, gera um sinal de venda; quando a linha de 1o dia cruza a linha de 4o dia de baixo para baixo, gera um sinal de compra. Assim, através da intersecção de médias móveis rápidas e médias móveis lentas para determinar o ponto de inflexão da tendência do mercado, para obter lucro.
Depois da entrada, defina o ponto de parada e o ponto de parada. O ponto de parada é definido como 10 pontos abaixo do preço de entrada e o ponto de parada é definido como 100 pontos acima do preço de entrada. Isso permite limitar as perdas e bloquear os lucros.
Pode-se reduzir esses riscos ajustando os parâmetros da linha média, configurando um mecanismo de parada de perda dinâmica ou adicionando outros indicadores de julgamento.
Esta estratégia é, em geral, uma estratégia típica de negociação em linha dupla. Usando um ponto de inflexão de tendência de julgamento de cruzamento de linha média rápida e lenta, configura o risco de controle de parada de perda, é simples, prático e fácil de entender, adequado para iniciantes.
/*backtest
start: 2023-11-19 00:00:00
end: 2023-12-19 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © cesarpieres72
//@version=5
strategy("300% STRATEGY", overlay=true, margin_long=10, margin_short=10)
var float lastLongOrderPrice = na
var float lastShortOrderPrice = na
longCondition = ta.crossover(ta.sma(close, 1), ta.sma(close, 4))
if (longCondition)
strategy.entry("Long Entry", strategy.long) // Enter long
shortCondition = ta.crossunder(ta.sma(close, 1), ta.sma(close, 4))
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 - 170 // 10 USDT lower than the last long order price
takeProfitLong = lastLongOrderPrice + 150 // 100 USDT higher than the last long order price
stopLossShort = lastShortOrderPrice + 170 // 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)