
Esta estratégia usa 4 diferentes quadros de tempo para determinar a direção da tendência, para descobrir a tendência longa e usar a linha curta como momento de entrada. Quando os preços de abertura dos 4 quadros de tempo (linha do dia, linha do dia, linha do dia 15 e linha do mês) estão todos abaixo do preço de fechamento, é considerada uma tendência de baixa de longo prazo. Quando os preços de abertura dos 4 quadros de tempo estão todos acima do preço de fechamento, é considerada uma tendência de baixa de longo prazo.
Esta estratégia usa quatro quadros de tempo: o sol, o dia, o dia 15 e o dia lunar. A direção da tendência a longo prazo é determinada pela relação entre o preço de abertura e o preço de fechamento nesses quatro quadros de tempo.
Quando os preços de abertura da linha do dia, da linha do dia, da linha do dia 15 e da linha da lua estão todos abaixo do preço de fechamento, isso significa que os preços apresentam uma tendência de alta nesses quatro quadros de tempo, sendo julgado como um movimento de várias direções e um otimismo de longo prazo.
Por outro lado, quando os preços de abertura são todos mais altos do que os preços de fechamento em cada um dos quatro períodos, os preços estão em uma tendência de queda em todos os quatro períodos.
Depois de determinar a direção da tendência de longo prazo, a estratégia abre uma posição quando a linha curta gera um sinal de compra / venda. Ou seja, a estratégia usa a linha longa para determinar a tendência maior e a linha curta para determinar o momento específico de entrada.
A estratégia tem as seguintes vantagens:
O uso de quatro diferentes níveis de quadros temporais para avaliar de forma integrada as tendências de longo prazo pode melhorar a precisão do julgamento e evitar a confusão com o ruído do mercado de curto prazo.
Usar a estrutura de linhas longas para determinar a direção geral e, ao mesmo tempo, usar linhas curtas para gerar sinais de operação. A estratégia é flexível, pode capturar oportunidades de linhas curtas e, ao mesmo tempo, não se desviar da tendência principal.
Esta estratégia julga principalmente o preço de abertura e o preço de fechamento do indicador em apenas 4 quadros de tempo, e os parâmetros são simples e fáceis de implementar.
A estratégia também apresenta alguns riscos, principalmente:
Se a tendência de baixa de longo prazo se inverter e se transformar em baixa de longo prazo, a estratégia não pode ser avaliada a tempo e pode trazer grandes perdas. Neste momento, é necessária uma intervenção manual ou um stop loss.
Esta estratégia depende principalmente de sinais de geração de curto para determinar o momento específico de entrada. Se o curto prazo não funcionar bem, a impossibilidade de abrir uma posição no momento adequado afetará a eficácia da estratégia geral. Neste momento, os parâmetros de curto prazo podem ser ajustados ou a estratégia de curto prazo pode ser otimizada.
A estratégia ainda tem espaço para ser melhorada:
Pode-se configurar um stop loss móvel ou um stop loss pendente para controlar o máximo de perdas.
Pode-se testar diferentes indicadores de short-line para encontrar estratégias de short-line mais adequadas para melhorar a eficácia da entrada.
Pode-se ajustar a posição de forma dinâmica de acordo com a volatilidade do mercado, aumentando a posição quando a tendência é mais clara.
Pode-se coletar uma grande quantidade de dados e aplicar métodos de aprendizado de máquina para otimizar dinamicamente parâmetros e regras.
Esta estratégia de julgar a direção da tendência através de vários quadros de tempo, usando a combinação de longas e curtas linhas de pensamento, garante o julgamento de grandes tendências e aproveita as oportunidades de curta linha para entrar em jogo, a lógica de operação geral é clara e razoável, a implementação é simples e é uma estratégia de acompanhamento de tendências eficaz. Com a introdução de tecnologias como stop loss, gerenciamento de posição dinâmica, esta estratégia também tem muito espaço para melhorias, vale a pena praticar e otimizar.
/*backtest
start: 2023-11-27 00:00:00
end: 2023-12-27 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("[RichG] Easy MTF Strategy", overlay=false)
TF_1_time = input("D", "Timeframe 1")
TF_2_time = input("5D", "Timeframe 2")
TF_3_time = input("15D", "Timeframe 3")
TF_4_time = input("45D", "Timeframe 4")
transaction_size = input(1, "Contract/Share Amount")
src = close, len = 20
out = sma(src, len)
width = 5
upcolor = green
downcolor = red
neutralcolor = blue
linestyle = line
TF_1 = request.security(syminfo.tickerid, TF_1_time, open) < request.security(syminfo.tickerid, TF_1_time, close) ? true:false
TF_1_color = TF_1 ? upcolor:downcolor
TF_2 = request.security(syminfo.tickerid, TF_2_time, open) < request.security(syminfo.tickerid, TF_2_time, close) ? true:false
TF_2_color = TF_2 ? upcolor:downcolor
TF_3 = request.security(syminfo.tickerid, TF_3_time, open) < request.security(syminfo.tickerid, TF_3_time, close) ? true:false
TF_3_color = TF_3 ? upcolor:downcolor
TF_4 = request.security(syminfo.tickerid, TF_4_time, open) < request.security(syminfo.tickerid, TF_4_time, close) ? true:false
TF_4_color = TF_4 ? upcolor:downcolor
TF_global = TF_1 and TF_2 and TF_3 and TF_4
TF_global_bear = TF_1 == false and TF_2 == false and TF_3 == false and TF_4 == false
TF_global_color = TF_global ? green : TF_global_bear ? red : white
TF_trigger_width = TF_global ? 6 : width
plot(1, style=linestyle, linewidth=width, color=TF_1_color)
plot(5, style=linestyle, linewidth=width, color=TF_2_color)
plot(10, style=linestyle, linewidth=width, color=TF_3_color)
plot(15, style=linestyle, linewidth=width, color=TF_4_color)
plot(25, style=linestyle, linewidth=4, color=TF_global_color)
exitCondition_Long = TF_global_bear
exitCondition_Short = TF_global
longCondition = TF_global
if (longCondition)
strategy.entry("MTF_Long", strategy.long, qty=transaction_size, when=strategy.position_size == 0)
shortCondition = TF_global_bear
if (shortCondition)
strategy.entry("MTF_Short", strategy.short, qty=transaction_size, when=strategy.position_size == 0)
strategy.close("MTF_Long", when=exitCondition_Long)
strategy.close("MTF_Short", when=exitCondition_Short)