Esta estratégia é chamada de estratégia de acompanhamento de tendências baseada na fusão de preços e volumes. A estratégia considera os indicadores de preço e volume de transação ao mesmo tempo, para determinar a direção da tendência, a fim de exercer o efeito de sinal de negociação da força de quantidade de preço.
A lógica de negociação da estratégia é a seguinte:
Em primeiro lugar, calcule a média móvel de 5 dias de preços e a média móvel de 15 dias de volume de transações.
Quando os preços sobem na média móvel de 5 dias e a média móvel de 15 dias do volume de transações também sobe, considera-se que a força quantitativa do preço sobe, gerando um sinal de compra.
Quando a média móvel de 5 dias do preço cai, ou a média móvel de 15 dias do volume de transação cai, o saldo é liquidado.
A vantagem desta estratégia é que a combinação de mudanças de preço e volume de transação determina a direção da tendência. A compra só pode ser efetivamente filtrada se ambos estiverem de acordo com os pesquisadores.
No entanto, os parâmetros de média móvel precisam ser ajustados de forma otimizada, e os períodos de tempo precisam ser ajustados para combinar as características de diferentes variedades. A estratégia de parada de perda é igualmente importante para reduzir o risco de perdas individuais.
Em geral, o uso racional da integração de indicadores de preço e volume de transação pode melhorar a eficácia da estratégia de negociação de tendências. Mas os comerciantes também precisam prestar mais atenção às informações do mercado, manter a flexibilidade e ajustar os parâmetros da estratégia de acordo com a situação real.
/*backtest
start: 2023-01-01 00:00:00
end: 2023-09-12 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Celar
//@version=5
strategy("VOLLY PRICE CONVERGE", default_qty_type= strategy.percent_of_equity )
base_sma = ta.sma(close, 10)
vol_sma5 = ta.hma(volume, 15)
price_sma5 = ta.hma(close, 15)
ma50 = ta.sma(close, 50)
ma20 = ta.sma(close, 20)
int vol_indicator = na
int price_indicator = na
if vol_sma5 > vol_sma5[1]
vol_indicator := 1
else
vol_indicator := 0
if price_sma5 > price_sma5[1]
price_indicator := 1
else
price_indicator := 0
signal = vol_indicator + price_indicator
colour = signal == 2 ? #00802b : signal == 1 ? #cc2900 : color.white
bank_roll = strategy.equity
qty = bank_roll/close
strategy.entry("Long", strategy.long, qty, when = signal == 2 and close > base_sma)
// Generate a full exit bracket (profit 10 points, loss 5 points per contract) from the entry named "Long".
strategy.close("Long", when = signal == 1 or signal == 0 or close < base_sma )