
A estratégia usa o método de equilíbrio de vários quadros temporais, usando a média de longo prazo para determinar a direção da tendência geral, a média de curto prazo para determinar a direção da tendência de curto prazo, fazendo mais / menos quando a linha longa e a curta confirmam a tendência; Quando a linha curta retorna para a linha longa, julga que a oportunidade de entrada de ajuste de curto prazo é formada, e operação inversa é feita. A estratégia se aplica principalmente a ações de tendência de linha longa e média.
A estratégia usa a média móvel simples de 200 dias para determinar a direção da tendência de longo prazo e a média móvel simples de 10 dias para determinar a direção da tendência de curto prazo. Quando o preço da ação está acima da média de 200 dias e abaixo da média de 10 dias, isso significa que está em um período de alta da linha longa e correção da linha curta.
Especificamente, quando as seguintes condições são preenchidas, faça mais entrada: preço de fechamento> linha média de 200 dias e preço de fechamento < linha média de 10 dias; quando as seguintes condições são preenchidas, faça entrada de fechamento: preço de fechamento < linha média de 200 dias e preço de fechamento> linha média de 10 dias.
O mecanismo de parada de perda é definido após a entrada, e a saída de perda é interrompida se a retração do preço de compra for superior a 10%. Ao mesmo tempo, se a opção i_lowerClose for definida, será esperado até que o preço de fechamento mais baixo apareça, o que evitará que a parada de perda seja sensível.
A estratégia, combinada com a linha média de vários quadros temporais, permite capturar a direção da tendência de linha média e longa com maior probabilidade. A estratégia deutsch oferece um melhor tempo de entrada quando a linha média de curto prazo retorna para a linha média de longo prazo. Em comparação com o sistema de linha média única, a probabilidade de ser ajustado devido a um ajuste de curto prazo pode ser reduzida.
A estratégia é controlada pelo risco. A estratégia é controlada pelo risco. A estratégia é controlada pelo risco. A estratégia é controlada pelo risco.
A estratégia ainda tem o risco de ser encaixada. Quando o tempo de ajuste da linha curta é muito longo ou o ajuste é muito grande, pode desencadear o stop loss e ser encaixado.
A estratégia é pouco adequada para as variedades de negociação. Para ações de alta volatilidade e longo tempo de ajuste, a estratégia é facilmente detida e não é eficaz.
A estratégia também pode sofrer grandes perdas quando ocorrem grandes ajustes no mercado como um todo. Por exemplo, durante a crise financeira, a estratégia pode ser difícil de lucrar.
Pode-se introduzir mais sistemas de equilíbrio, formando um mecanismo de seleção múltipla. Por exemplo, a inclusão da linha de 50 dias, só é considerada a entrada quando o preço de fechamento está entre a linha de 50 dias e a linha de 200 dias. Isso pode selecionar ainda mais as variedades mais tendenciais.
Pode-se definir um stop-loss flutuante. Concretamente, após a entrada, pode-se definir um stop-loss variável de acordo com a amplitude de flutuação da ação, em vez de um stop-loss fixo de 10%. Isso reduz a probabilidade de que um stop-loss desnecessário seja acionado.
Pode ser combinado com outros indicadores para avaliar a situação do mercado. Por exemplo, o MACD, quando o MACD mostra uma saída do mercado, pode suspender a estratégia para evitar perdas. Isso pode controlar o início e o fechamento da estratégia de acordo com o julgamento do mercado maior.
A estratégia em geral é uma estratégia de linha média típica de múltiplos quadros temporais. Combina a linha média de curto prazo com a probabilidade de capturar a tendência da linha média e, ao mesmo tempo, aproveitar as oportunidades de reversão da linha curta. O risco da estratégia também está dentro do controle.
/*backtest
start: 2024-01-29 00:00:00
end: 2024-02-28 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/
// © irfanp056
// @version=5
strategy("Simple Pullback Strategy",
overlay=true) // Interactive Brokers rate
// Get user input
i_ma1 = input.int(title="MA 1 Length", defval=200, step=10, group="Strategy Parameters", tooltip="Long-term MA")
i_ma2 = input.int(title="MA 2 Length", defval=10, step=10, group="Strategy Parameters", tooltip="Short-term MA")
i_stopPercent = input.float(title="Stop Loss Percent", defval=0.10, step=0.1, group="Strategy Parameters", tooltip="Failsafe Stop Loss Percent Decline")
i_lowerClose = input.bool(title="Exit On Lower Close", defval=false, group="Strategy Parameters", tooltip="Wait for a lower-close before exiting above MA2")
i_startTime = input(title="Start Filter", defval=timestamp("01 Jan 1995 13:30 +0000"), group="Time Filter", tooltip="Start date & time to begin searching for setups")
i_endTime = input(title="End Filter", defval=timestamp("1 Jan 2099 19:30 +0000"), group="Time Filter", tooltip="End date & time to stop searching for setups")
// Get indicator values
ma1 = ta.sma(close, i_ma1)
ma2 = ta.sma(close, i_ma2)
// Check filter(s)
f_dateFilter = true
// Check buy/sell conditions
var float buyPrice = 0
buyCondition = close > ma1 and close < ma2 and strategy.position_size == 0 and f_dateFilter
sellCondition = close > ma2 and strategy.position_size > 0 and (not i_lowerClose or close < low[1])
stopDistance = strategy.position_size > 0 ? ((buyPrice - close) / close) : na
stopPrice = strategy.position_size > 0 ? buyPrice - (buyPrice * i_stopPercent) : na
stopCondition = strategy.position_size > 0 and stopDistance > i_stopPercent
// Enter positions
if buyCondition
strategy.entry(id="Long", direction=strategy.long)
if buyCondition[1]
buyPrice := open
// Exit positions
if sellCondition or stopCondition
strategy.close(id="Long", comment="Exit" + (stopCondition ? "SL=true" : ""))
buyPrice := na
// Draw pretty colors
plot(buyPrice, color=color.lime, style=plot.style_linebr)
plot(stopPrice, color=color.red, style=plot.style_linebr, offset=-1)
plot(ma1, color=color.blue)
plot(ma2, color=color.orange)