Strategi perdagangan pembalikan tren berdasarkan Ichimoku Kinko Hyo


Tanggal Pembuatan: 2023-09-20 15:44:13 Akhirnya memodifikasi: 2023-09-20 15:44:13
menyalin: 0 Jumlah klik: 649
1
fokus pada
1617
Pengikut

Ringkasan

Strategi ini menggabungkan indikator tabel keseimbangan pertama dan indikator MACD, yang masuk setelah konfirmasi pembalikan tren, dan merupakan strategi perdagangan kategori pembalikan tren.

Prinsip Strategi

  1. Perhitungan garis pivot dari tabel ekuilibrium pertama, sebagai indikator untuk menilai arah tren. Harga di atas garis pivot adalah pasar multihead, di bawahnya adalah pasar kosong.

  2. Indikator MACD menghasilkan sinyal jual ketika pasar multihead membentuk garpu mati; menghasilkan sinyal beli ketika pasar kosong membentuk garpu emas.

  3. Pengertian tren dari tabel keseimbangan pertama dan sinyal pembalikan MACD, melakukan perdagangan terbalik pada titik pembalikan tren.

  4. Pengendalian waktu perdagangan dapat diatur, seperti menutup perdagangan di malam hari, tidak berdagang di akhir pekan, dan lain-lain, untuk menghindari risiko periode waktu tertentu.

  5. Mengadopsi strategi stop loss dan stop loss yang tepat untuk mengunci keuntungan dan mengendalikan risiko.

Analisis Keunggulan

  1. Indikator tabel keseimbangan sekilas secara intuitif menunjukkan tren dan tekanan dukungan.

  2. Indikator MACD lebih sensitif untuk menangkap pembalikan tren.

  3. Dengan menggunakan metode ini, Anda dapat memfilter sinyal palsu.

  4. Anda dapat menyesuaikan periode perdagangan untuk menghindari risiko pada titik waktu penting.

  5. Mengatur strategi stop loss dapat secara efektif mengelola risiko dana.

Analisis risiko

  1. Tabel keseimbangan pertama dan indikator MACD mungkin menunjukkan sinyal kesalahan penilaian.

  2. Tidak dapat dipastikan, ada risiko terbalik.

  3. Pengendalian waktu perdagangan mungkin melewatkan beberapa peluang perdagangan.

  4. Stop loss setting yang salah, mungkin prematur stop loss atau stop stop.

  5. Optimasi parameter mungkin terlalu optimasi dan tidak efektif.

Arah optimasi

  1. Uji tabel ekuilibrium dan parameter MACD untuk menemukan kombinasi parameter optimal.

  2. Menambahkan indikator lain untuk mengkonfirmasi sinyal transaksi.

  3. Mengoptimalkan strategi stop loss, menyeimbangkan risiko dan keuntungan.

  4. Evaluasi kebutuhan untuk mengendalikan waktu transaksi, dan relaksasi yang sesuai.

  5. Menambahkan filter tren untuk menghindari kerugian perdagangan terbalik.

  6. Studi tentang bagaimana menilai intensitas reversal dan tingkat potensi reversal.

Meringkaskan

Strategi ini mengintegrasikan penilaian tren dari tabel keseimbangan pertama dan sinyal perdagangan berbalik dari MACD untuk membuat keputusan perdagangan setelah konfirmasi perubahan tren. Dengan mengoptimalkan parameter dan strategi lebih lanjut, risiko kesalahan penilaian sinyal dapat dikurangi dan sistem perdagangan berbalik tren yang stabil dan efisien dapat dibangun.

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