Esta estratégia usa indicadores de momento de preço para determinar a direção da negociação. Especificamente, calcula a média móvel e o preço médio, respectivamente. Quando o preço cruza acima da média móvel e do preço médio, um sinal de compra é gerado. Para filtrar sinais falsos, não requer sinais anteriores semelhantes. Em seguida, salva o status do sinal e gera o sinal de posição de abertura final em combinação com a média móvel. A estratégia também contém configurações de stop loss e take profit.
A estratégia baseia-se principalmente em indicadores de dinâmica de preços para julgar a direção da tendência.
swmaClose = swma(close)
vwapClose = vwap(close)
Onde?swma
é a média móvel suavizada evwap
Os dois podem reflectir o nível médio de preços.
Em seguida, compare o preço com a média para ver se o preço cruza acima da média móvel e preço médio, para julgar se é um sinal de alta:
swmaLong = close > swmaClose
vwapLong = close > vwapClose
Para filtrar os falsos sinais, não é necessário nenhum sinal prévio destes dois indicadores:
triggerLong = vwapLong and not vwapLong[1] and not swmaLong and not swmaLong[1]
Em seguida, guarde o sinal de alta:
saveLong = false, saveLong := triggerLong ? true : not vwapLong ? false : saveLong[1]
Por último, quando o sinal de cruzamento guardado e o preço cruzarem novamente acima da média móvel, gerar o sinal de posição de abertura:
startLong = saveLong and swmaLong
Isso pode filtrar alguns sinais falsos e tornar os sinais mais confiáveis.
A estratégia também contém configurações de stop loss e take profit.
A estratégia apresenta as seguintes vantagens:
A estratégia apresenta também alguns riscos:
Contramedidas:
A estratégia pode também ser otimizada nas seguintes direcções:
Estas otimizações podem melhorar a flexibilidade, a robustez e a rentabilidade da estratégia.
Em geral, esta estratégia de rastreamento do momento do preço é uma estratégia de rastreamento de tendência simples, direta e lógica. A estratégia usa médias móveis de preços e preços médios para determinar a direção do momento do preço e projeta um mecanismo de verificação em vários passos para melhorar a qualidade do sinal. A estratégia também contém configurações razoáveis de stop loss e take profit. Em termos de código, a lógica da estratégia é muito concisa, exigindo apenas 20+ linhas de script Pine para implementar. Em resumo, esta estratégia é um muito bom exemplo de aprendizado, os iniciantes podem usá-la como um bom ponto de partida para entender estratégias de negociação quantitativas. Claro, a própria estratégia também tem valor prático de negociação. Através da otimização de parâmetros e expansão de funções, pode se tornar um sistema prático de rastreamento de negociação para evitar ruídos e tendências.
/*backtest start: 2023-12-03 00:00:00 end: 2024-01-02 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title = "Simple Price Momentum", shorttitle = "SPM", overlay = true, initial_capital = 20000, default_qty_value = 100, default_qty_type = strategy.percent_of_equity, commission_value = 0.025) // How To Create A Simple Trading Strategy With TradingView // https://docs.google.com/document/d/1fXxCtPuGgTXb-RuBJNbwlfgkeiLTK5060LfTrzRlr5k/view swmaClose = swma(close) vwapClose = vwap(close) swmaLong = close > swmaClose vwapLong = close > vwapClose triggerLong = vwapLong and not vwapLong[1] and not swmaLong and not swmaLong[1] saveLong = false, saveLong := triggerLong ? true : not vwapLong ? false : saveLong[1] startLong = saveLong and swmaLong startLong := input(false, "Consecutive Orders") ? startLong : startLong and not startLong[1] stopLoss = input(250, "Stop Loss", step = 50) takeProfit = input(10, "Reward/Risk") * stopLoss strategy.entry("Open Long", strategy.long, when = startLong) strategy.exit("Exit Long", "Open Long", profit = stopLoss, loss = takeProfit) // bgcolor(swmaLong ? color.blue : na) // bgcolor(vwapLong ? color.orange : na) // bgcolor(triggerLong ? color.purple : na) // bgcolor(saveLong ? color.yellow : na) bgcolor(startLong[1] ? color.green : na)