이 전략은 볼링거 밴드 지표에 기반한 볼링거 밴드 크로스오버 전략이다. 볼링거 밴드 매개 변수를 조정함으로써 금 거래에 최적화된다. 가격이 상단보다 높을 때 구매 신호를 생성하고, 가격이 하단보다 낮을 때 판매 신호를 생성한다.
이 전략은 길이가 50이고 곱률이 2.5인 볼링거 밴드를 사용합니다. 볼링거 밴드의 중간 밴드는 가격의 SMA 라인, 상단 밴드는 중간 밴드 더하기 표준편차의 곱률, 하단 밴드는 중간 밴드 빼기 표준편차의 곱률입니다.
가격이 상단 너머에 닫히면 구매 신호가 생성됩니다. 가격이 하단 너머에 닫히면 판매 신호가 생성됩니다. 볼링거 밴드 채널의 좁히는 기능을 활용하고 채널 수축 후 브레이크오웃이 발생하면 신호를 생성합니다.
이 전략의 장점은 다음과 같습니다.
최적화된 매개 변수는 금 거래에 적합하고 수익은 안정적입니다.
볼링거 밴드의 채널 기능을 활용하여 가격 변동이 감소한 후 신호를 생성하여 놓친 기회를 피합니다.
크로스오버 시스템은 수동 거래에 따라하기 쉽습니다.
그래픽 디스플레이는 인ტუ이티브로 범위에 대한 가격 움직임을 모니터링합니다.
이 전략에는 몇 가지 위험도 있습니다.
부적절한 볼링거 밴드 매개 변수는 잘못된 신호를 일으킬 수 있습니다. 매개 변수는 테스트하고 최적화해야합니다.
빈번한 거래는 비용과 미끄러짐을 증가시킵니다. 매개 변수는 거래 빈도를 낮추도록 조정 할 수 있습니다.
금이 크게 변동 할 때 손해를 막는 것은 쉽습니다. 손해를 막는 지점을 조정하거나 위치 관리를 추가 할 수 있습니다.
전략은 다음 측면에서 최적화 될 수 있습니다:
최적의 매개 변수 조합을 찾기 위해 다른 시장과 시간 프레임에서 매개 변수를 테스트합니다.
이동 평균, 채널 브레이크업 등을 통해 추가 입력 신호를 생성하기 위해 위치 관리 모듈을 추가합니다.
스톱 로스 모듈을 추가하여, 트레일링 스톱을 사용하여 가격 움직임을 추적합니다.
잘못된 신호를 필터링하고 전략의 안정성을 향상시키기 위해 다른 지표를 포함합니다.
이 전략은 지표를 조정하여 금 거래에 대한 볼링거 밴드를 최적화합니다. 신호를 생성하기 위해 볼링거 밴드의 확장 및 수축을 활용합니다. 지표 최적화, 위치 관리, 스톱 로스 등에 대한 개선의 여지가 있습니다. 전반적으로 전략은 간단한 논리, 좋은 안정성을 가지고 있으며 수동 금 거래에 적합합니다.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Optimized Bollinger Bands Strategy for Gold", overlay=true) // Bollinger Bands Settings length = input(50, title="BB Length", minval=1) mult = input(2.5, title="Multiplier", minval=0.001, maxval=50) // Bollinger Bands basis = sma(close, length) upper = basis + mult * stdev(close, length) lower = basis - mult * stdev(close, length) // Plotting plot(upper, color=color.blue, title="Upper Band", linewidth=2) plot(lower, color=color.blue, title="Lower Band", linewidth=2) // Highlight the region between upper and lower bands bgcolor(upper > lower ? color.new(color.blue, 90) : na) // Buy Signal with arrow longCondition = crossover(close, upper) plotshape(series=longCondition, title="Buy Signal", color=color.green, style=shape.triangleup, text="Buy", location=location.belowbar, size=size.small) // Sell Signal with arrow shortCondition = crossunder(close, lower) plotshape(series=shortCondition, title="Sell Signal", color=color.red, style=shape.triangledown, text="Sell", location=location.abovebar, size=size.small) // Strategy strategy.entry("Buy", strategy.long, when=longCondition) strategy.entry("Sell", strategy.short, when=shortCondition)