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.
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.
Menggunakan kombinasi dari beberapa indikator meningkatkan akurasi penilaian.
Operasi jangka pendek melacak fluktuasi pasar secara real time.
Tidak ada intervensi manual, perdagangan algoritmik sepenuhnya otomatis.
Penghakiman gabungan dari beberapa indikator yang bullish atau bearish pada saat yang sama memiliki risiko penilaian yang salah.
Perdagangan jangka pendek frekuensi tinggi memiliki biaya komisi yang relatif tinggi dan sulit untuk menangkap tren.
Tidak ada pengaturan stop loss dapat menyebabkan kerugian yang lebih besar. titik stop loss yang tepat atau stop loss bergerak dapat diatur berdasarkan ATR.
Mengoptimalkan kombinasi parameter, menyesuaikan parameter rata-rata bergerak untuk menyesuaikan diri dengan siklus dan varietas yang berbeda.
Tingkatkan mekanisme stop loss, atur garis stop loss dinamis yang dikombinasikan dengan indikator ATR.
Tingkatkan manajemen posisi, menyesuaikan proporsi volume perdagangan secara dinamis.
Menggabungkan teknologi pembelajaran mesin untuk mengoptimalkan indikator dan sinyal.
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)