Ichimoku dan Strategi Dagangan Pembalikan Trend MACD

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

Ringkasan

Strategi ini menggabungkan indikator Ichimoku dan MACD, memasuki perdagangan selepas mengesahkan pembalikan trend.

Logika Strategi

  1. Mengira garisan Ichimoku Tenkan untuk mengukur arah trend. Harga di atasnya menunjukkan trend menaik, dan di bawah trend menurun.

  2. MACD death cross menghasilkan isyarat jual dalam trend menaik; golden cross isyarat beli dalam trend menurun.

  3. Gabungkan bias trend Ichimoku dan isyarat pembalikan MACD untuk menukar pembalikan trend.

  4. Pilihan untuk menetapkan kawalan waktu dagangan, seperti tidak ada dagangan pada waktu malam atau hujung minggu, untuk mengelakkan risiko yang berkaitan dengan masa tertentu.

  5. Menggunakan stop loss yang betul dan mengambil keuntungan untuk kunci keuntungan dan kawalan risiko.

Kelebihan

  1. Ichimoku secara intuitif memaparkan trend dan tahap sokongan / rintangan.

  2. MACD secara sensitif menangkap pembalikan trend.

  3. Menggabungkan bias trend dan pembalikan meningkatkan kualiti isyarat.

  4. Waktu dagangan yang boleh disesuaikan mengelakkan risiko mengenai peristiwa berita utama.

  5. Hentikan kerugian dan ambil keuntungan secara berkesan menguruskan risiko modal.

Risiko

  1. Ichimoku dan MACD mungkin menghasilkan isyarat palsu.

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

  3. Kawalan jam dagangan mungkin terlepas beberapa peluang.

  4. Tetapan stop loss dan mengambil keuntungan yang tidak betul membawa kepada keluar awal.

  5. Pengoptimuman parameter boleh membawa kepada pemasangan berlebihan.

Peningkatan

  1. Uji parameter Ichimoku dan MACD untuk kombinasi yang optimum.

  2. Tambah penunjuk lain untuk mengesahkan isyarat perdagangan.

  3. Mengoptimumkan berhenti dan keuntungan untuk mengimbangi risiko dan pulangan.

  4. Menilai keperluan kawalan waktu dagangan dan santai jika perlu.

  5. Masukkan penapis trend untuk mengelakkan kerugian daripada perdagangan pembalikan.

  6. Penyelidikan cara untuk mengukur kekuatan pembalikan dan potensi ketinggian tarik balik.

Kesimpulan

Strategi ini menggabungkan bias trend Ichimoku dan isyarat pembalikan trend MACD untuk berdagang selepas pembalikan trend. pengoptimuman dan penambahbaikan lanjut dapat mengurangkan kesilapan isyarat dan meningkatkan kestabilan dan kecekapan sebagai sistem pembalikan trend yang kukuh.


/*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 lanjut