
この戦略は,チャンドル・モナティヴ・ショッキング・インディケーター ((CMO) とブリン・バンド・パーセンテージ・インディケーター ((%B) を組み合わせたトレンド取引システムである.これは,価格の動量と波動率の変化を分析することによって,市場トレンドの突破機会を捉えるためのものです.戦略の核心思想は,価格がブリン・バンドの境界に近づいて動力が変化したとき,取引を行うことであり,その結果,トレンドの初期にポジションを構築し,潜在的に大きな利益を得ることができます.
戦略は2つの主要な技術指標を用いています.
取引シグナル生成ロジック:
リスク管理の提案:
これは,技術分析に基づく体系化された取引戦略であり,市場動向の機会を,動量と波動率の指標を組み合わせて捕捉します. 戦略は合理的に設計され,強力な実用性と拡張性があります. 合理的なリスク管理と継続的な最適化により,この戦略は,トレーダーに安定した収益の機会を提供することができます. 交易者は,実際の使用の前に十分な反測とパラメータの最適化を行い,特定の取引品種の特性に応じて適切な調整を行うことをお勧めします.
/*backtest
start: 2024-02-22 00:00:00
end: 2024-12-08 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("CMO + Bollinger Bands (%B) Strategy", overlay=true)
// Parameters for Bollinger Bands
bb_length = input.int(20, title="Bollinger Bands Length")
bb_mult = input.float(2.0, title="Bollinger Bands Multiplier")
// Calculate Bollinger Bands
basis = ta.sma(close, bb_length)
dev = bb_mult * ta.stdev(close, bb_length)
upper = basis + dev
lower = basis - dev
// Calculate %B
percentB = (close - lower) / (upper - lower)
// Parameters for Chande Momentum Oscillator
cmo_length = input.int(14, title="CMO Length")
// Calculate CMO
cmo = ta.cmo(close, cmo_length)
// Plot Bollinger Bands and %B
plot(basis, color=color.blue, title="Basis")
p1 = plot(upper, color=color.red, title="Upper Band")
p2 = plot(lower, color=color.green, title="Lower Band")
fill(p1, p2, color=color.rgb(173, 216, 230, 90), title="Bollinger Bands Fill")
hline(0, "Zero Line", color=color.gray)
hline(0.8, "Upper %B Threshold", color=color.red, linestyle=hline.style_dashed)
hline(0.2, "Lower %B Threshold", color=color.green, linestyle=hline.style_dashed)
// Plot CMO
plot(cmo, title="Chande Momentum Oscillator", color=color.purple)
hline(0, "CMO Zero Line", color=color.gray)
// Calculate crossover and crossunder for consistency
crossover_pB_0_2 = ta.crossover(percentB, 0.2)
crossover_cmo_0 = ta.crossover(cmo, 0)
crossunder_pB_0_8 = ta.crossunder(percentB, 0.8)
crossunder_cmo_0 = ta.crossunder(cmo, 0)
// Buy Signal
longCondition = crossover_pB_0_2 and crossover_cmo_0
if (longCondition)
strategy.entry("Long", strategy.long)
// Sell Signal
shortCondition = crossunder_pB_0_8 and crossunder_cmo_0
if (shortCondition)
strategy.entry("Short", strategy.short)
// Display signals on the chart
plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")