이 코드는 파인 스크립트로 작성되었으며, 트레이딩뷰 플랫폼에서 차트를 사용자 정의하는 데 사용됩니다. 볼링거 밴드 및 9 기간 EMA를 사용하여 스칼핑 전략을 정의하는 것 같습니다. 몇 가지 중요한 부분을 분해해 드리겠습니다.
EMA 계산 및 그래핑:
ema9 = ta.ema(close, 9) plot(ema9)
이것은 9일 EMA의 직선 차트를 생성합니다.
strategy("Bollinger Bands + EMA 9", overlay=true) length = input.int(20, minval=1) src = input(close, title="Source") mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev") basis = ta.sma(src, length) dev = mult * ta.stdev(src, length) upper = basis + dev lower = basis - dev offset = input.int(0, "Offset", minval = -500, maxval = 500) p1 = plot(upper, "Upper", color=#2962FF, offset = offset) p2 = plot(lower, "Lower", color=#2962FF, offset = offset) fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))
상부와 하부 볼링거 밴드를 계산하고 그 중간에 있는 영역을 채우고 있습니다.
긴 거래에 들어갈 때와 나올 때 정의:
Exit = close >= ema9 Long = (close[1] <lower) strategy.entry("Long",strategy.long, 1000, when =Long) strategy.close("Long", when=add)
이 부분은 닫기 가격이 하위 범위를 넘어서면 LONG 포지션에 들어가고 닫기 가격이 9일 EMA보다 높을 때 종료됩니다.
이 스크립트를 개인 리스크 관용과 선호도에 따라 조정해야 합니다. 또한 라이브 거래 환경에서의 성능은 다를 수 있습니다. 실제 거래로 진행하기 전에 항상 모든 거래 전략을 백테스트하십시오.
/*backtest start: 2022-09-01 00:00:00 end: 2023-09-07 00:00:00 period: 1d basePeriod: 1h 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/ // © D499 //@version=5 //EMA ema9 = ta.ema(close, 9) plot(ema9) //BB strategy("Bollinger Bands + EMA 9", overlay=true) length = input.int(20, minval=1) src = input(close, title="Source") mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev") basis = ta.sma(src, length) dev = mult * ta.stdev(src, length) upper = basis + dev lower = basis - dev offset = input.int(0, "Offset", minval = -500, maxval = 500) p1 = plot(upper, "Upper", color=#2962FF, offset = offset) p2 = plot(lower, "Lower", color=#2962FF, offset = offset) fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95)) Exit = close >= ema9 Long = (close[1] < lower) strategy.entry("Long",strategy.long, 1, when = Long) strategy.close("Long", when = Exit)