Ichimoku dan Strategi Trading Pembalikan Tren MACD

Penulis:ChaoZhang, Tanggal: 2023-09-20 15:44:13
Tag:

Gambaran umum

Strategi ini menggabungkan indikator Ichimoku dan MACD, memasuki perdagangan setelah mengkonfirmasi pembalikan tren.

Logika Strategi

  1. Menghitung Ichimoku Tenkan garis untuk mengukur arah tren. Harga di atasnya menunjukkan uptrend, dan di bawah downtrend.

  2. MACD death cross menghasilkan sinyal jual dalam tren naik; golden cross sinyal beli dalam tren turun.

  3. Gabungkan bias tren Ichimoku dan sinyal pembalikan MACD untuk membalikkan tren perdagangan.

  4. Pilihan untuk mengatur kontrol waktu perdagangan, seperti tidak ada perdagangan di malam hari atau akhir pekan, untuk menghindari risiko yang terkait dengan waktu tertentu.

  5. Menggunakan stop loss yang tepat dan mengambil keuntungan untuk kunci keuntungan dan pengendalian risiko.

Keuntungan

  1. Ichimoku secara intuitif menampilkan tren dan level support/resistance.

  2. MACD secara sensitif menangkap pembalikan tren.

  3. Menggabungkan bias tren dan pembalikan meningkatkan kualitas sinyal.

  4. Jam perdagangan yang dapat disesuaikan menghindari risiko seputar peristiwa berita utama.

  5. Stop loss and take profit secara efektif mengelola risiko modal.

Risiko

  1. Ichimoku dan MACD mungkin menghasilkan sinyal palsu.

  2. Kekuatan pembalikan tidak diketahui, risiko mengejar atas dan bawah.

  3. Kontrol jam perdagangan mungkin kehilangan beberapa kesempatan.

  4. Pengaturan stop loss dan take profit yang tidak tepat menyebabkan keluarnya sebelum waktunya.

  5. Optimasi parameter dapat menyebabkan overfit.

Peningkatan

  1. Uji parameter Ichimoku dan MACD untuk kombinasi optimal.

  2. Tambahkan indikator lain untuk mengkonfirmasi sinyal perdagangan.

  3. Mengoptimalkan berhenti dan keuntungan untuk menyeimbangkan risiko dan pengembalian.

  4. Evaluasi perlunya kontrol jam perdagangan dan rileks jika perlu.

  5. Masukkan filter tren untuk menghindari kerugian dari perdagangan pembalikan.

  6. Penelitian cara untuk mengukur kekuatan pembalikan dan potensi tinggi pullback.

Kesimpulan

Strategi ini menggabungkan bias tren Ichimoku dan sinyal pembalikan MACD untuk perdagangan setelah pembalikan tren. Optimasi dan peningkatan lebih lanjut dapat mengurangi kesalahan sinyal dan meningkatkan stabilitas dan efisiensi sebagai sistem pembalikan tren yang kuat.


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



Lebih banyak