Estratégia de negociação de reversão de tendência baseada em Ichimoku Kinko Hyo


Data de criação: 2023-09-20 15:44:13 última modificação: 2023-09-20 15:44:13
cópia: 0 Cliques: 649
1
focar em
1617
Seguidores

Visão geral

A estratégia combina o indicador de balanço inicial e o indicador MACD, e é considerada uma estratégia de negociação de reversão de tendência.

Princípio da estratégia

  1. Calcule a linha de tendência do gráfico de equilíbrio de primeira vista, como um indicador para determinar a direção da tendência. Os preços acima da linha de tendência são de mercado a mais e abaixo são de mercado a menos.

  2. O indicador MACD produz um sinal de venda quando o mercado de vários cabeças forma um forco morto; produz um sinal de compra quando o mercado de cabeças vazias forma um forco dourado.

  3. Combinando o julgamento de tendência do gráfico de equilíbrio de primeira vista com o sinal de reversão do MACD, execute uma negociação inversa no ponto de reversão da tendência.

  4. Pode-se configurar o controle do tempo de negociação, como fechar negociações à noite, não negociar no fim de semana, etc., para evitar riscos em determinados períodos de tempo.

  5. Adotar estratégias adequadas de stop loss e stop loss para bloquear lucros e controlar riscos.

Análise de vantagens

  1. O indicador de equilíbrio de primeira vista mostra intuitivamente a tendência e o nível de pressão de suporte.

  2. O indicador MACD é mais sensível a captar a reversão de tendência.

  3. A combinação de tendências e sinais de reversão permite filtrar os sinais falsos.

  4. Pode-se personalizar o período de negociação para evitar riscos em momentos importantes.

  5. Estabelecer uma estratégia de stop-loss pode ajudar a gerenciar o risco do seu dinheiro.

Análise de Riscos

  1. O indicador MACD e a tabela de equilíbrio podem apresentar sinais de erro.

  2. O que é que o governo está a fazer para evitar que a crise se repita?

  3. O controle de tempo de negociação pode ter perdido algumas oportunidades de negociação.

  4. O travão de parada está mal definido e pode ser prematuro ou parar.

  5. A otimização de parâmetros pode ser excessiva e não ser eficaz.

Direção de otimização

  1. Teste a tabela de equilíbrio e os parâmetros do MACD para encontrar a combinação ideal de parâmetros.

  2. Adicionar outros indicadores para confirmar os sinais de transação.

  3. Optimizar estratégias de stop loss e equilibrar riscos e ganhos.

  4. Avaliação da necessidade de controle de tempo de negociação, com a devida flexibilidade.

  5. Adicionar filtros de tendência para evitar perdas de inversão.

  6. Estudar como determinar a intensidade da reversão e o nível de potencial de ressonância.

Resumir

A estratégia integra o julgamento de tendências da tabela de equilíbrio de primeira vista e o sinal de negociação de reversão do MACD para tomar decisões de negociação após a confirmação de uma reversão de tendência. Ao otimizar ainda mais os parâmetros e as estratégias, pode-se reduzir o risco de erro de julgamento de sinais e construir um sistema de negociação de reversão de tendência estável e eficiente.

Código-fonte da estratégia
/*backtest
start: 2022-09-13 00:00:00
end: 2023-09-19 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/
// © Revazi

//@version=5
strategy("The Impeccable by zyberal", overlay = true)

// Inputs {
// Strategy variables
IchimokuTenkanPeriod = input(9)
IchimokuKijunPeriod = input(190)
IchimokuSenkouPeriod = input(52)
MACDMainFast = input(3)
MACDMainSlow = input(10)
MACDMainSmooth = input(9)
ExitAfterBars = input(2)
ProfitTarget = input(135)
StopLoss = input(70)

// Trading Options
DontTradeOnWeekends = input(true)
ExitAtEndOfDay = input(true)
DayExitTimeHour   = input(23)
DayExitTimeMinute = input(04)

ExitOnFriday = input(true)
FridayExitTimeHour   = input(20)
FridayExitTimeMinute = input(40)

// }



// TRADING OPTIONS LOGIC {
OpenOrdersAllowed = true

// Dont trade on weekends {
if DontTradeOnWeekends
    if dayofweek == dayofweek.saturday or
       dayofweek == dayofweek.sunday
        OpenOrdersAllowed := false
// }

// Exit on close (end of day) {
if ExitAtEndOfDay
    if timeframe.isintraday and
       time >= timestamp(year(timenow), month(timenow), dayofmonth(timenow), DayExitTimeHour, DayExitTimeMinute)
        OpenOrdersAllowed := false
// }

// Exit on Friday {
if ExitOnFriday
    if timeframe.isintraday and
       time >= timestamp(year(timenow), month(timenow), dayofmonth(timenow), FridayExitTimeHour, FridayExitTimeMinute)
        OpenOrdersAllowed := false
// }


// Rule: Trading signals {
openW3 = request.security(syminfo.tickerid, "W", open)[3]

middleDonchian(Length) => math.avg(ta.highest(Length), ta.lowest(Length))
Tenkan = middleDonchian(IchimokuTenkanPeriod)[2]

[macdLine, signalLine, _] = ta.macd(close, MACDMainFast, MACDMainSlow, MACDMainSmooth)

LongEntrySignal = openW3 > Tenkan and ta.crossunder(macdLine, signalLine)[3] //macdLine[3] < signalLine[3]
ShortEntrySignal = openW3 < Tenkan and ta.crossover(macdLine, signalLine)[3] //macdLine[3] > signalLine[3]
// }



// Calculate conditions {
IsFlat() => strategy.position_size == 0
IsLong() => strategy.position_size > 0
IsShort() => strategy.position_size < 0

longCondition  = OpenOrdersAllowed and not IsLong() and LongEntrySignal
shortCondition = OpenOrdersAllowed and not IsShort() and ShortEntrySignal

// }

// Open positions based on conditions {
strategy.order(id = "buy", direction = strategy.long, qty = 1, when = longCondition)
strategy.order(id = "sell", direction = strategy.short, qty = 1, when = shortCondition)
// }