Ichimoku Tabel Keseimbangan Campuran Macd dan Tsi Strategi Gabungan

Penulis:ChaoZhang, Tanggal: 2023-11-27 11:50:43
Tag:

img

I. Ringkasan Strategi

Strategi ini secara komprehensif menggunakan indikator teknis seperti Ichimoku Kinko Hyo, Macd, Chaikin Money Flow dan Tsi Oscillator untuk menilai dengan akurat arah tren pasar untuk perdagangan jangka pendek.

II. Prinsip Strategi

Strategi ini menggunakan garis Tenkan-sen, garis Kijun-sen, garis Senkou Span A dan Senkou Span B di Ichimoku untuk menilai tren harga intraday. Pada saat yang sama, strategi ini menggabungkan sinyal silang dari garis rata-rata bergerak cepat dan lambat Macd dan indikator arus uang dan indikator osilasi untuk menentukan arus masuk dan keluar dana. Setelah penilaian komprehensif dari beberapa indikator, keputusan beli dan jual dibuat.

Ketika garis Tenkan-sen melintasi di atas garis Kijun-sen, Chikou Span berada di atas sumbu 0, dan harga penutupan berada di atas awan Ichimoku, itu adalah sinyal bullish. Sebaliknya, ketika garis Tenkan-sen melintasi di bawah garis Kijun-sen, Chikou Span berada di bawah sumbu 0, dan harga penutupan berada di bawah awan, itu adalah sinyal bearish. Pada saat yang sama, strategi mendeteksi apakah histogram MACD positif dan apakah indikator Chaikin Money Flow dan osilator TSI positif ke arah yang sama. Jika indikator bullish ke arah yang sama, posisi panjang dibuka dengan membeli, dan jika indikator bearish ke arah yang sama, posisi pendek dibuka dengan menjual keluar.

Ketika indikator mengeluarkan sinyal berlawanan dengan yang sebelumnya, perdagangan terbalik dilakukan untuk meratakan posisi sebelumnya.

III. Keuntungan dari Strategi

  1. Menggunakan kombinasi dari beberapa indikator meningkatkan akurasi penilaian.

  2. Operasi jangka pendek melacak fluktuasi pasar secara real time.

  3. Tidak ada intervensi manual, perdagangan algoritmik sepenuhnya otomatis.

IV. Risiko dari Strategi dan Solusi

  1. Penghakiman gabungan dari beberapa indikator yang bullish atau bearish pada saat yang sama memiliki risiko penilaian yang salah.

  2. Perdagangan jangka pendek frekuensi tinggi memiliki biaya komisi yang relatif tinggi dan sulit untuk menangkap tren.

  3. Tidak ada pengaturan stop loss dapat menyebabkan kerugian yang lebih besar. titik stop loss yang tepat atau stop loss bergerak dapat diatur berdasarkan ATR.

V. Arahan untuk Optimasi Strategi

  1. Mengoptimalkan kombinasi parameter, menyesuaikan parameter rata-rata bergerak untuk menyesuaikan diri dengan siklus dan varietas yang berbeda.

  2. Tingkatkan mekanisme stop loss, atur garis stop loss dinamis yang dikombinasikan dengan indikator ATR.

  3. Tingkatkan manajemen posisi, menyesuaikan proporsi volume perdagangan secara dinamis.

  4. Menggabungkan teknologi pembelajaran mesin untuk mengoptimalkan indikator dan sinyal.

VI. Kesimpulan

Strategi ini secara komprehensif menggunakan beberapa indikator teknis untuk menentukan fluktuasi tren secara real time untuk perdagangan jangka pendek frekuensi tinggi. Meskipun ada beberapa risiko, strategi ini dapat ditingkatkan melalui optimasi. Strategi ini layak penelitian lebih lanjut yang mendalam dan verifikasi perdagangan langsung. Dengan meningkatkan stop loss dan manajemen posisi, risiko perdagangan dapat dikurangi.


/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-31 23:59:59
period: 1h
basePeriod: 15m
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/
// © exlux99

//@version=4
strategy("Ichimoku with MACD/ CMF/ TSI", overlay=true, margin_long=0, margin_short=0)



//Inputs
ts_bars = input(10, minval=1, title="Tenkan-Sen Bars")
ks_bars = input(30, minval=1, title="Kijun-Sen Bars")
ssb_bars = input(52, minval=1, title="Senkou-Span B Bars")
cs_offset = input(26, minval=1, title="Chikou-Span Offset")
ss_offset = input(26, minval=1, title="Senkou-Span Offset")
long_entry = input(true, title="Long Entry")
short_entry = input(true, title="Short Entry")

middle(len) => avg(lowest(len), highest(len))

// Ichimoku Components
tenkan = middle(ts_bars)
kijun = middle(ks_bars)
senkouA = avg(tenkan, kijun)
senkouB = middle(ssb_bars)


ss_high = max(senkouA[ss_offset-1], senkouB[ss_offset-1])
ss_low = min(senkouA[ss_offset-1], senkouB[ss_offset-1])

// Entry/Exit Signals
fast_length = input(title="Fast Length", type=input.integer, defval=17)
slow_length = input(title="Slow Length", type=input.integer, defval=28)
src = input(title="Source", type=input.source, defval=close)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 5)
sma_source = input(title="Simple MA(Oscillator)", type=input.bool, defval=true)
sma_signal = input(title="Simple MA(Signal Line)", type=input.bool, defval=true)

// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal


tk_cross_bull = tenkan > kijun
tk_cross_bear = tenkan < kijun
cs_cross_bull = mom(close, cs_offset-1) > 0
cs_cross_bear = mom(close, cs_offset-1) < 0
price_above_kumo = close > ss_high
price_below_kumo = close < ss_low


//CMF
lengthA = input(8, minval=1, title="CMF Length")
ad = close==high and close==low or high==low ? 0 : ((2*close-low-high)/(high-low))*volume
mf = sum(ad, lengthA) / sum(volume, lengthA)


//TSI
long = input(title="Long Length", type=input.integer, defval=8)
short = input(title="Short Length", type=input.integer, defval=8)
price = close
double_smooth(src, long, short) =>
	fist_smooth = ema(src, long)
	ema(fist_smooth, short)
pc = change(price)
double_smoothed_pc = double_smooth(pc, long, short)
double_smoothed_abs_pc = double_smooth(abs(pc), long, short)
tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc)



bullish = tk_cross_bull and cs_cross_bull and price_above_kumo and hist > 0 and mf > 0.1 and tsi_value > 0
bearish = tk_cross_bear and cs_cross_bear and price_below_kumo and hist < 0  and mf < -0.1 and tsi_value < 0



strategy.entry("Long", strategy.long, when=bullish and long_entry)
strategy.entry("Short", strategy.short, when=bearish and short_entry)

strategy.close("Long", when=bearish and not short_entry)
strategy.close("Short", when=bullish and not long_entry)

Lebih banyak