Ini adalah strategi perdagangan kuantitatif yang menggabungkan pecah tinggi-rendah harian dengan trend EMA pelbagai jangka masa. Strategi ini terutamanya mengenal pasti peluang perdagangan dengan memantau pecah harga tahap tinggi dan rendah hari sebelumnya, digabungkan dengan trend EMA dan penunjuk Aliran Wang Chaikin (CMF).
Logik teras merangkumi elemen utama berikut:
Peraturan perdagangan khusus:
Pendaftaran panjang: Harga pecah di atas hari sebelumnya
Cadangan Kawalan Risiko:
Ini adalah sistem perdagangan lengkap yang menggabungkan pelbagai penunjuk teknikal dan analisis pelbagai jangka masa. Strategi ini mencari peluang perdagangan melalui analisis komprehensif mengenai penembusan tinggi-rendah intraday, trend purata bergerak, dan aliran wang. Walaupun terdapat risiko tertentu, strategi ini mempunyai nilai praktikal yang baik melalui kawalan risiko yang betul dan pengoptimuman berterusan.
/*backtest start: 2024-10-28 00:00:00 end: 2024-11-27 00:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(title='The security Daily HIGH/LOW strategy', overlay=true, initial_capital=10000, calc_on_every_tick=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.1) // General Inputs len = input.int(24, minval=1, title='Length MA', group='Optimization parameters') src = input.source(close, title='Source MA', group='Optimization parameters') out = ta.ema(src, len) length = input.int(20, minval=1, title='CMF Length', group='Optimization parameters') ad = close == high and close == low or high == low ? 0 : (2 * close - low - high) / (high - low) * volume mf = math.sum(ad, length) / math.sum(volume, length) // Function to get daily high and low f_secureSecurity(_symbol, _res, _src) => request.security(_symbol, _res, _src[1], lookahead=barmerge.lookahead_on) pricehigh = f_secureSecurity(syminfo.tickerid, 'D', high) pricelow = f_secureSecurity(syminfo.tickerid, 'D', low) // Plotting previous daily high and low plot(pricehigh, title='Previous Daily High', style=plot.style_linebr, linewidth=2, color=color.new(color.white, 0)) plot(pricelow, title='Previous Daily Low', style=plot.style_linebr, linewidth=2, color=color.new(color.white, 0)) // Entry Conditions short = ta.crossunder(low, pricelow) and close < out and mf < 0 long = ta.crossover(high, pricehigh) and close > out and mf > 0 if short and barstate.isconfirmed strategy.entry('short', strategy.short, stop=pricelow[1]) strategy.close('short', when=close > out) if long and barstate.isconfirmed strategy.entry('long', strategy.long, stop=pricehigh[1]) strategy.close('long', when=close < out) // 200 EMA on 1-hour timeframe ema_200 = ta.ema(close, 200) ema_200_1h = request.security(syminfo.tickerid, "60", ta.ema(close, 200)) plot(ema_200_1h, color=color.purple, title="200 EMA (1H)") plot(ema_200, color=color.white, title="200 EMA")