この戦略は,日々の高低ブレイクとマルチタイムフレームEMAトレンドを組み合わせる定量的な取引戦略である.この戦略は,主に前日の高低水準の価格ブレイクをEMAトレンドとチャイキンマネーフロー (CMF) インディケーターと組み合わせて監視することによって取引機会を特定する.複数の技術指標の検証を通じて取引精度を高めるために,毎時間および日々のタイムフレームの両方で200期EMAを使用する.
基本論理には次の主要な要素が含まれます.
特別取引規則: ロング エントリー:前日の高値より価格が上昇 + EMAより閉じる + CMFが上昇 ショートエントリー:前日の低値を下回り + EMAを下回り + CMFを下回り エグジット: ロングのEMAを下回り,ショートのEMA上回り
リスク 管理 の 提案:
この戦略は,複数の技術指標とマルチタイムフレーム分析を組み合わせた完全な取引システムである.この戦略は,日中高低ブレイクアウト,移動平均トレンド,マネーフローの包括的な分析を通じて取引機会を探している.特定のリスクが存在するものの,戦略は適切なリスク制御と継続的な最適化によって良い実用的な価値を保持している.トレーダーは,ライブ実装の前に徹底的なバックテストとパラメータ最適化を行うことをお勧めする.
/*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")