Ichimoku y la estrategia de negociación de inversión de tendencia del MACD

El autor:¿ Qué pasa?, Fecha: 2023-09-20 15:44:13
Las etiquetas:

Resumen general

Esta estrategia combina los indicadores Ichimoku y MACD, entrando en operaciones después de confirmar la inversión de tendencia.

Estrategia lógica

  1. Calcule la línea Ichimoku Tenkan para medir la dirección de la tendencia. El precio por encima de ella indica tendencia alcista y por debajo tendencia bajista.

  2. La cruz de muerte del MACD genera una señal de venta en tendencia alcista; la cruz dorada una señal de compra en tendencia bajista.

  3. Combine el sesgo de tendencia de Ichimoku y las señales de reversión del MACD para negociar inversiones de tendencia.

  4. Opción para establecer el control de las horas de negociación, como no negociar por la noche o los fines de semana, para evitar los riesgos asociados con determinados horarios.

  5. Emplear el stop loss adecuado y tomar ganancias para el bloqueo de ganancias y control de riesgos.

Ventajas

  1. Ichimoku muestra intuitivamente tendencias y niveles de soporte / resistencia.

  2. El MACD capta con sensibilidad las inversiones de tendencia.

  3. La combinación de sesgo de tendencia e inversión mejora la calidad de la señal.

  4. Los horarios de negociación personalizables evitan los riesgos relacionados con los principales eventos noticiosos.

  5. Stop loss y take profit gestiona de manera efectiva los riesgos de capital.

Los riesgos

  1. Ichimoku y MACD pueden generar señales falsas.

  2. Fuerza de reversión desconocida, riesgos de perseguir arriba y abajo.

  3. El control de las horas de negociación puede perder algunas oportunidades.

  4. La configuración incorrecta de stop loss y take profit conduce a una salida prematura.

  5. La optimización de parámetros puede conducir a un sobreajuste.

Mejoramiento

  1. Prueba los parámetros de Ichimoku y MACD para obtener combinaciones óptimas.

  2. Añadir otros indicadores para confirmar las señales comerciales.

  3. Optimice las paradas y las ganancias para equilibrar los riesgos y los rendimientos.

  4. Evaluar la necesidad de controlar las horas de negociación y relajarse si procede.

  5. Incorporar un filtro de tendencia para evitar pérdidas por operaciones de reversión.

  6. Investigue formas de medir la fuerza de inversión y la altura de retroceso potencial.

Conclusión

Esta estrategia combina el sesgo de tendencia de Ichimoku y las señales de reversión del MACD para operar después de las reversiones de tendencia.


/*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)
// }



Más.