
Strategi ini adalah strategi pengesanan trend yang menggabungkan satu indikator grafik awan dan pelbagai indikator tambahan. Strategi ini digunakan untuk menentukan arah trend, ditambah dengan penapisan dengan indikator MACD, CMF, TSI dan sebagainya untuk meningkatkan kualiti isyarat. Ini adalah strategi trend yang kuat dengan penilaian komposit pelbagai faktor.
Strategi ini menggunakan perubahan pada satu carta awan untuk menentukan arah trend. Apabila antena melakukan lebih banyak ketika melintasi jalur awan, kosong ketika melintasi jalur awan. Di samping itu, ia menggabungkan garisan tayar cadangan, grafik tiang MACD, indikator aliran dana CMF dan indeks kekuatan sebenar TSI untuk melakukan penapisan berlapis, memastikan kualiti isyarat.
Secara khusus, syarat untuk membuat pelbagai isyarat adalah:
Keadaan pemicu isyarat kosong adalah sebaliknya daripada syarat-syarat di atas. Oleh itu, melalui penilaian komprehensif pelbagai petunjuk, dapat menyaring dengan berkesan sebahagian besar isyarat palsu dan mengunci trend utama pasaran.
Kelebihan utama strategi ini adalah bahawa kombinasi pelbagai indikator menghapuskan isyarat palsu dan menangkap trend yang kuat. Secara khusus, terdapat beberapa kelebihan utama:
Dengan pertimbangan komprehensif di atas, strategi ini dapat secara berkesan menangkap bahagian panas di pasaran saham, trend track arbitrage, dan memperoleh keuntungan tambahan yang besar.
Strategi ini mempunyai beberapa risiko utama:
Kaedah untuk mengurangkan risiko adalah:
Strategi ini boleh dioptimumkan dalam beberapa aspek:
Pengoptimuman parameter. Anda boleh mengoptimumkan parameter dengan lebih banyak data pengesanan balik untuk mencari kombinasi parameter yang lebih baik.
Menambah mekanisme penangguhan kerugian. Mempermudahkan syarat kemasukan dengan betul, tetapi menetapkan penangguhan kerugian untuk mengawal risiko.
Peningkatan stop loss bergerak. Menggunakan trend tracking stop loss untuk mengunci keuntungan dan mengelakkan pembalikan kerugian.
Mengoptimumkan penapis indikator. Anda boleh menguji lebih banyak indikator untuk mencari kombinasi yang lebih baik daripada isyarat penapis.
Menambah peraturan untuk mengenal pasti secara automatik penipuan yang berlaku.
Strategi ini menggunakan grafik awan dan pelbagai petunjuk tambahan untuk menilai kesannya. Dengan pengoptimuman parameter, penambahbaikan mekanisme hentian, pengoptimuman petunjuk, dan lain-lain, anda dapat meningkatkan kestabilan strategi, meningkatkan kualiti isyarat, dan memperoleh keuntungan yang lebih tinggi.
/*backtest
start: 2024-01-11 00:00:00
end: 2024-01-13 14:00:00
period: 1m
basePeriod: 1m
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)