Ichimoku und MACD Trendumkehr Handelsstrategie

Schriftsteller:ChaoZhang, Datum: 2023-09-20
Tags:

Übersicht

Diese Strategie kombiniert Ichimoku- und MACD-Indikatoren und führt nach Bestätigung einer Trendumkehr in den Handel ein.

Strategie Logik

  1. Berechnen Sie die Ichimoku Tenkan-Linie, um die Trendrichtung zu messen. Der Preis darüber zeigt einen Aufwärtstrend an und unterhalb einen Abwärtstrend.

  2. Das MACD-Todeskreuz erzeugt ein Verkaufssignal im Aufwärtstrend; das goldene Kreuz ein Kaufsignal im Abwärtstrend.

  3. Kombination von Ichimoku-Trendverzerrung und MACD-Umkehrsignalen, um Trendumkehrungen zu handeln.

  4. Option zur Einstellung der Handelszeiten, wie z. B. kein Handel in der Nacht oder am Wochenende, um Risiken im Zusammenhang mit bestimmten Zeiten zu vermeiden.

  5. Verwenden Sie einen ordnungsgemäßen Stop-Loss und nehmen Sie Gewinn für Gewinnverbindung und Risikokontrolle.

Vorteile

  1. Ichimoku zeigt Trends und Unterstützungs-/Widerstandsniveaus intuitiv an.

  2. Der MACD erfasst Trendumkehrungen auf empfindliche Weise.

  3. Die Kombination von Trendverzerrung und Umkehrung verbessert die Signalqualität.

  4. Anpassbare Handelszeiten vermeiden Risiken bei wichtigen Nachrichtenereignissen.

  5. Stop-Loss und Take-Profit verwalten Kapitalrisiken effektiv.

Risiken

  1. Ichimoku und MACD können falsche Signale erzeugen.

  2. Rückwärtskraft unbekannt, Gefahr, oben und unten zu jagen.

  3. Die Handelszeitenkontrolle kann einige Chancen verpassen.

  4. Unzulässige Stop-Loss- und Take-Profit-Einstellungen führen zu einem vorzeitigen Ausstieg.

  5. Die Parameteroptimierung kann zu einer Überanpassung führen.

Erweiterung

  1. Ich teste Ichimoku- und MACD-Parameter für optimale Kombinationen.

  2. Hinzufügen anderer Indikatoren zur Bestätigung von Handelssignalen.

  3. Optimieren Sie Stops und Gewinne, um Risiken und Renditen auszugleichen.

  4. Beurteilen Sie die Notwendigkeit einer Handelszeitkontrolle und entspannen Sie sich gegebenenfalls.

  5. Ein Trendfilter wird eingesetzt, um Verluste durch Umkehrgeschäfte zu vermeiden.

  6. Untersuchen Sie, wie die Umkehrkraft und die mögliche Rückziehhöhe gemessen werden können.

Schlussfolgerung

Diese Strategie kombiniert Ichimokus Trendverzerrung und MACDs Umkehrsignale, um nach Trendumkehrungen zu handeln.


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



Mehr