매일 HIGH/LOW 전략

저자:차오장, 날짜: 2023-09-23 15:07:58
태그:

전반적인 설명

이것은 매일의 최고/하위점, 이동 평균 및 볼륨을 결합하는 간단한 내일 거래 전략입니다. 주요 아이디어는 이전 날의 최고/하위점, 이동 평균 방향 및 자금 흐름의 브레이크오웃을 입력 신호로 사용하는 것입니다.

전략 논리

이 전략은 주로 다음의 지표에 기초합니다.

  1. 일일 최고/하위점: 이전 거래일의 최고 및 최저 가격을 브레이크오웃 판단 기준으로 기록합니다.

  2. 이동 평균: 전체 추세에 대한 기준으로 특정 기간 동안 종료 가격의 이동 평균을 계산합니다.

  3. 양액 현금 흐름: 한 기간 동안의 양액의 정상화 된 긴/단한 값을 계산하여 자금 유입과 출입을 결정합니다.

구체적인 거래 규칙은 다음과 같습니다.

  1. 긴 조건: 하루 최고가 전날의 최고를 깨고, 닫는 것이 이동 평균보다 높고, 부피 금전 흐름이 긍정적 인 경우, 길게 가십시오.

  2. 긴 포지션을 닫습니다. 닫는 것이 이동 평균 이하로 떨어지면 긴 포지션을 닫습니다.

  3. 쇼트 조건: 하루 최저가 전날의 최저를 깨고, 종료가 이동 평균보다 낮고, 거래량 금전 흐름이 음수일 때, 쇼트한다.

  4. 짧은 포지션을 닫습니다. 닫는 것이 이동 평균보다 높을 때 짧은 포지션을 닫습니다.

이 전략은 브레이크업, 트렌드 및 자본 흐름을 포괄적으로 고려하여 잘못된 브레이크업 소음을 효과적으로 필터 할 수있는 완전한 판단 시스템을 형성합니다. 그러나 그것은 단지 내일 데이터에 기반한 결정을 내리기 때문에 단기 거래 전략입니다.

이점 분석

이 높은/낮은 브레이크아웃 전략은 다음과 같은 장점을 가지고 있습니다.

  1. 논리는 간단하고 직관적이며 이해하기 쉽고 실행하기 쉽습니다.

  2. 전날의 높은 점과 낮은 점들을 깨는 것은 더 강한 힘의 방향을 잡을 수 있습니다.

  3. 이동 평균으로 필터링하면 많은 시그널이 소음을 내지 않습니다.

  4. 자본 흐름 지표는 힘의 길고 짧은 분포를 결정하는데 도움이 됩니다.

  5. 내일 거래는 여러 거래를 통해 이익을 축적 할 수 있습니다.

  6. 복잡한 매개 변수 최적화가 필요하지 않으며, 비교적 쉽게 구현할 수 있습니다.

  7. 높은 유연성을 가진 다양한 제품에 적용됩니다.

  8. 전반적으로 전략 아이디어는 간단하고 명확하며 실행에 어려움이 거의 없으며 상당한 수익 잠재력이 있습니다.

위험 분석

이 전략은 많은 장점을 가지고 있지만, 몇 가지 위험도 있습니다.

  1. 높은/낮은 브레이크에 의존하면 잘못된 브레이크로 인한 손실이 발생할 수 있습니다.

  2. 일내 거래에 지나치게 의존하고, 하루종일 이벤트에 쉽게 영향을 받습니다.

  3. 이동 평균의 지연은 트렌드 전환점을 놓칠 수 있습니다.

  4. 부피 표시기는 때때로 잘못된 신호를 줄 수 있습니다.

  5. 단일 베팅의 손실 크기를 잘 제어 할 수 없으므로 너무 큰 손실의 위험이 있습니다.

  6. 주중 거래는 거래 비용의 영향을 받는다.

  7. 제한된 최적화 공간으로 인해 지속적인 알파를 달성하기가 어렵습니다.

  8. 전체적으로, 전략은 높은 신호 주파수를 가지고 있지만 안정성과 수익성이 입증되지 않았습니다.

최적화 방향

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

  1. 한 번의 베팅 위험을 통제하기 위해 스톱 로스를 추가합니다.

  2. 더 많은 감수성 또는 부드러움을 위해 이동 평균 매개 변수를 최적화하십시오.

  3. 자본 흐름 판단을 개선하기 위해 다른 부피 지표를 시도해보세요.

  4. 더 많은 필터를 추가해서 가짜 탈출 가능성을 줄여

  5. 과잉 거래를 피하기 위해 더 높은 시간 프레임에서 전략을 실행하십시오.

  6. 기계 학습을 도입하여 적응 신호를 생성합니다.

  7. 의사결정에 더 많은 데이터를 포함합니다. 예를 들어 뉴스, 매크로 등.

  8. 안정성과 위험을 포괄적으로 평가하고, 과잉 수익을 추구하지 마십시오.

결론

요약하자면, 이것은 가격-용량 관계와 트렌드 판단에 초점을 맞춘 간단하고 직관적인 높은/저한 브레이크아웃 전략이다. 일부 장점이 있지만 추가 최적화와 검증을 요구하는 위험도 있다. 적절한 위험 관리가 있다면 실용적인 단기 전략 아이디어가 될 수 있다. 그러나 보다 효율적이고 견고한 전략은 더 많은 모델링 요인과 엄격한 백테스팅이 필요하다.


// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © exlux99

//@version=5

strategy(title='Daily HIGH/LOW strategy', overlay=true, initial_capital=10000, calc_on_every_tick=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.1)

////////////////////////////GENERAL INPUTS//////////////////////////////////////
len = input.int(24, minval=1, title='Length MA', group='Optimization paramters')
src = input.source(close, title='Source MA', group='Optimization paramters')
out = ta.ema(src, len)

length = input.int(20, minval=1, title='CMF Length', group='Optimization paramters')
ad = close == high and close == low or high == low ? 0 : (2 * close - low - high) / (high - low) * volume
mf = math.sum(ad, length) / math.sum(volume, length)

f_secureSecurity(_symbol, _res, _src) =>
    request.security(_symbol, _res, _src[1], lookahead=barmerge.lookahead_on)

pricehigh = f_secureSecurity(syminfo.tickerid, 'D', high)
pricelow = f_secureSecurity(syminfo.tickerid, 'D', low)

plot(pricehigh, title='Previous Daily High', style=plot.style_linebr, linewidth=2, color=color.new(color.white, 0))
plot(pricelow, title='Previous Daily Low', style=plot.style_linebr, linewidth=2, color=color.new(color.white, 0))

short = ta.crossunder(low, pricelow) and close < out and mf < 0
long = ta.crossover(high, pricehigh) and close > out and mf > 0


if short and barstate.isconfirmed
    strategy.entry('short', strategy.short, when=barstate.isconfirmed, stop=pricelow[1])
    strategy.close('short', when=close > out)

if long and barstate.isconfirmed
    strategy.entry('long', strategy.long, when=barstate.isconfirmed, stop=pricehigh[1])
    strategy.close('long', when=close < out)




더 많은