레벨별로 이동 평균 전략을 구축

저자:차오장, 날짜: 2023-09-26 16:00:20
태그:

전반적인 설명

레벨에 따라 레벨을 구축하는 이동 평균 전략은 RENKO 차트를 기반으로 한 거래 전략이다. 그것은 다른 시간 프레임의 이동 평균 사이의 가격과 크로스오버를 거래 신호로 매끄럽게하기 위해 이동 평균 지표를 사용합니다. 한편, 그것은 또한 더 합리적인 스톱을 위해 스톱 손실 수준을 결정하기 위해 ATR 지표를 사용합니다.

전략 논리

이 전략의 핵심 논리는 다음과 같습니다.

  1. RENKO 시간 프레임과 ATR 기간을 선택하기 위해 입력 사용

  2. RENKO 가격과 색상을 계산합니다. 가격이 이전 RENKO 가격과 현재 ATR보다 떨어지면 상향으로 전환합니다. 가격이 이전 RENKO 가격 빼기 현재 ATR보다 떨어지면 하향으로 전환합니다.

  3. 두 개의 정수 BUY와 SELL를 사용하여 현재 긴 포지션과 짧은 포지션을 기록합니다.

  4. 브레이크업이 끝나면, 포지션이 짧지 않으면, 포지션이 길어지거나, 이미 포지션이 짧으면 포지션을 닫습니다. 다운 브레이크 때, 만약 긴 포지션이 없다면 짧은 포지션으로 이동합니다. 이미 긴 포지션이라면 긴 포지션을 닫습니다.

  5. 그래프를 사용하여 RENKO 차트를 그래프로 표시합니다.

이 논리로, 전략은 가격이 이전 수준을 깨면 긴 또는 짧은 지점을 열 수 있으며 가격이 역전되면 포지션을 닫을 수 있습니다. 브레이크 아웃 범위를 결정하기 위해 ATR을 사용하면 현재 변동성에 따라 스톱 로스를 더 합리적으로 만듭니다.

이점 분석

이 전략은 다음과 같은 장점을 가지고 있습니다.

  1. RENKO는 노이즈를 필터링하고 트렌드를 식별합니다. RENKO는 가격 소음을 효과적으로 필터하고 중요한 트렌드를 식별 할 수 있습니다. 이 조합은 트렌드를 감지하고 추적하는 데 좋습니다.

  2. 이동 평균 크로스오버는 거래 신호를 생성합니다. 서로 다른 시간 프레임의 이동 평균 사이의 크로스오버는 신뢰할 수 있는 거래 신호를 제공하며 소음으로 인한 잘못된 신호를 피할 수 있습니다.

  3. ATR로 동적 정지 ATR을 사용하여 동적으로 스톱 로스를 설정하면 현재 변동성에 따라 스톱을 더 합리적으로 만들 수 있으며 너무 넓거나 너무 좁은 스톱을 피합니다.

  4. 추세와 이동 평균의 조합 트렌드와 이동 평균 지표를 결합하면 둘의 강점을 활용합니다. 이동 평균과 함께 신뢰할 수있는 신호를 보장하면서 RENKO로 트렌드를 잡습니다.

위험 분석

이 전략은 또한 몇 가지 위험을 안고 있습니다.

  1. 잘못된 트렌드 식별 RENKO가 트렌드를 결정하는 방식은 불필요한 롱 또는 쇼트로 이어질 수 있습니다. 잘못된 신호를 줄이기 위해 매개 변수를 최적화해야합니다.

  2. 이동평균 교차점에서 나오는 잘못된 신호
    이동 평균 크로스오버에서 잘못된 신호가 발생할 수 있어 불필요한 거래가 발생할 수 있습니다. 이동 평균 기간은 최적화 될 수 있습니다.

  3. 부적절한 ATR 매개 변수 부적절한 ATR 기간 설정은 너무 넓거나 너무 좁은 정지로 이어질 수 있습니다. 최적의 매개 변수를 위해 다른 시장을 테스트해야합니다.

  4. 윙사 시장 측면 또는 강한 윙사 시장에서 RENKO는 불필요한 거래를 많이 생성하여 자본을 차지 할 수 있습니다. 그러한 시장 거래를 피하기 위해 다른 필터가 필요합니다.

최적화 방향

이 전략은 다음과 같은 측면에서 최적화 될 수 있습니다.

  1. RENKO와 ATR 매개 변수를 최적화
    이러한 매개 변수를 조정하여 RENKO의 잘못된 신호를 최소화하고 트렌드를 더 잘 파악할 수 있습니다.

  2. 이동 평균 크로스오버 필터를 추가 더 많은 이동 평균을 추가하고 신호를 생성하기 전에 대부분을 정렬하도록 요구하여 잘못된 신호를 필터합니다.

  3. 다른 지표 필터를 추가합니다 예를 들어, 거래량이 가격을 확인할 때만 거래량을 추가하여 함정을 피합니다.

  4. 스톱 로스 전략 개선 더 논리적인 스톱을 위해 단순히 ATR를 추적하는 대신 트렌드 기반의 스톱을 사용하는 방법을 연구합니다.

  5. 돈 관리 를 최적화 한다 이 전략에 따라 최적의 자본 분배를 연구하여 위험을 통제하면서 수익을 극대화하십시오.

결론

전체적으로 이것은 라이브 시장에서 최적화 및 테스트 할 가치가있는 전략입니다. 트렌드 및 이동 평균 크로스오버를 필터 된 신호로 사용하는 RENKO의 핵심 아이디어는 건전합니다. 동적 ATR 정지로 탄탄한 트렌드 다음 시스템이 될 수 있습니다. 다음 단계는 매개 변수와 성능을 개선하기 위해 알려진 위험에 따라 계속 최적화하는 것입니다.


/*backtest
start: 2022-09-19 00:00:00
end: 2023-09-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Renko Level Strategy 2", shorttitle="RLS2", overlay=true, pyramiding=2, currency=currency.USD, default_qty_value=50, initial_capital=2000, default_qty_type=strategy.percent_of_equity) 

TF = input(title='TimeFrame', type=input.resolution, defval="D")
ATRlength = input(title="ATR length", type=input.integer, defval=14, minval=2, maxval=100)

HIGH = security(syminfo.tickerid, TF, high)
LOW = security(syminfo.tickerid, TF, low)
CLOSE = security(syminfo.tickerid, TF, close)
ATR = security(syminfo.tickerid, TF, atr(ATRlength))

float RENKO = na
color COLOR = na
int BUY = na
int SELL = na
bool UP = na
bool DN = na

RENKO := na(RENKO[1]) ? close : RENKO[1]
COLOR := na(COLOR[1]) ? color.white : COLOR[1]
BUY := na(BUY[1]) ? 0 : BUY[1]
SELL := na(SELL[1]) ? 0 : SELL[1]
UP := false
DN := false

if(close > RENKO[1]+ATR[1])
    UP := true
    RENKO := close
    COLOR := color.lime
    SELL := 0
    BUY := BUY+1

if(close < RENKO[1]-ATR[1])
    DN := true
    RENKO := close
    COLOR := color.red
    BUY := 0
    SELL := SELL+1
    

if(BUY[1]==1 and BUY==2)
    strategy.entry("long", strategy.long)//, limit = RENKODN)

if(DN)
    strategy.cancel_all()
    strategy.close_all(comment = "close")


plot(RENKO, style=plot.style_line, linewidth=2, color=COLOR)

더 많은