
이 전략은 부린띠와 이동 평균의 교차를 기반으로 구매 및 판매를 하는 전략이다. 주로 5 분 시간 주기 부린띠 지표를 사용하여 가격 변동 영역을 판단하고, 이동 평균과 결합하여 트렌드 방향을 결정하고, 부린띠의 하위 궤도 및 중간 궤도의 교차 상황에 따라 거래 전략을 수립한다. 이 전략은 AUD/NZD의 외환 품종에 적용된다.
브린띠 지표를 사용하여 가격을 판단하는 상하계. 브린띠 중간선은 20주기의 간단한 이동 평균이며, 상하선은 중간선은 더하기 표준 차이의 두 배이며, 하하선은 중간선은 빼기 표준 차이의 두 배이다.
종전 가격이 하위 궤도선에서 상향으로 돌파되었을 때, 가격이 상승세를 시작한다는 것을 나타냅니다. 이 시점에서는 구매 및 입장을 열립니다.
종식 가격이 브린 띠의 중궤도선을 넘으면, 가격이 중궤도 이상으로 올라갔음을 나타냅니다. 이 시점에는 청산이 시작되어 본 라운드 거래가 종료됩니다.
종식 가격이 상궤선에서 아래로 돌파되면, 가격이 하향으로 들어가기 시작한다는 것을 나타내고, 매각을 개시한다.
종결 가격이 부린 벨트 중도 궤도선 아래로 떨어지면, 가격이 중도 궤도 아래로 떨어졌음을 나타냅니다. 이 시점에는 평지 포지션이 출발하여 본 라운드의 거래가 종료됩니다.
회귀를 놓치는 위험을 피한다. 이 전략은 부린띠의 특성을 최대한 활용하여 가격의 하향 반동과 상향 하락의 기회를 적시에 잡을 수 있으며, 회귀 기회를 놓치는 손실을 피한다.
수익성이 강하다. 중요한 지점에서 구매와 판매를 하고, 합리적인 스톱로스를 설정함으로써, 황소와 곰이 전환할 때 빠르게 방향을 전환하여 더 나은 수익을 얻을 수 있다.
거래 주파수는 적당하다. 5분 줄에 기반하여 거래 신호를 형성하여 단기 트렌드를 포착할 수 있으며, 너무 자주 거래하여 거래 비용을 증가시키지 않습니다.
부린带收过快的风险. 시장 가격이 급격히 변동할 때 부린带上下轨收过快, 허위 돌파가 형성되어 잘못된 신호를 발산할 수 있다. 이 때 파라미터를 조정하거나 거래를 일시 중지해야 한다.
스톱 로즈 위험. 스톱 로즈가 너무 작으면 깨지기 쉽고, 스톱 로즈가 너무 크면 손실이 너무 커지기 쉽다. 스톱 로즈 가격을 적절히 조정해야 한다.
거래비용이 너무 높은 위험. 거래 빈도가 너무 높으면 거래비용도 눈에 띄게 증가하여 거래 빈도를 낮추기 위해 매개 변수를 적절히 조정해야합니다.
브린 벨트 파라미터를 최적화한다. 다양한 주기 파라미터, 표준 차차 파라미터를 테스트하여 그 품종의 진동 범위에 가장 적합한 파라미터 조합을 찾을 수 있다.
다른 지표와 함께 가짜 신호를 필터링한다. KDJ, MACD 등과 같은 다른 요소를 추가할 수 있으며, 단일 지표 판단으로 인해 잘못된 신호가 발생하는 브린의 문제를 피할 수 있다.
최적화 중지 전략. 가격의 실시간 변화를 추적하여 더 정확한 중단을 달성 할 수 있습니다. 또한 주식 라인과 같은 다른 중지 전략을 사용할 수 있습니다.
이 전략은 전체적으로 안정적이며 수익성이 있다. 변수조정과 스톱로스 전략 최적화를 통해 거래 위험을 더욱 줄일 수 있으며, 변동적인 상황에서 좋은 수익을 얻을 수 있다. 이 전략은 추가 테스트와 최적화를 할 가치가 있으며, 실전 적용 전망이 좋다.
/*backtest
start: 2023-12-30 00:00:00
end: 2024-01-29 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © theTradeAI
strategy('TradeAI - 5min AUDNZD Strategy', overlay=true)
//////////////////////////////
//////// STOP ORDERS DETECTING
//////////////////////////////
length = input(1)
h = ta.highest(high, length)
l = ta.lowest(low, length)
//////////////////////////////
//////// EMAS
//////////////////////////////
emaLenght = input.int(200)
ema200 = ta.ema(close,emaLenght)
//////////////////////////////
//////// BOLLINGER BANDS
//////////////////////////////
length1 = input.int(20, minval=1)
maType = input.string("SMA", "Basis MA Type", options = ["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"])
src = input(close, title="Source")
mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev")
ma(source, length1, _type) =>
switch _type
"SMA" => ta.sma(source, length1)
"EMA" => ta.ema(source, length1)
"SMMA (RMA)" => ta.rma(source, length1)
"WMA" => ta.wma(source, length1)
"VWMA" => ta.vwma(source, length1)
basis = ma(src, length1, maType)
dev = mult * ta.stdev(src, length1)
upperr = basis + dev
lowerr = basis - dev
offset = input.int(0, "Offset", minval = -500, maxval = 500)
//////////////////////////////
//////// ENTRY & EXIT
//////////////////////////////
// Buy entry
if ta.crossover(lowerr, close)
strategy.entry('long', strategy.long, stop=h)
// Buy entry CANCEL
if close > lowerr
strategy.cancel('long')
// Buy exit
if close > basis
strategy.close('long')
// Sell entry
if ta.crossunder(upperr, close)
strategy.entry('short', strategy.short, stop=l)
// Sell entry CANCEL
if close < upperr
strategy.cancel('short')
// Sell exit
if close < basis
strategy.close('short')