리소스 로딩... 로딩...

동적 시간 프레임 높은 낮은 브레이크 아웃 전략

저자:차오장, 날짜: 2024-06-03 17:01:06
태그:

img

전반적인 설명

이 전략은 동적 시간 프레임 높은 낮은 브레이크오웃을 사용하여 거래 신호를 생성합니다. 이 접근 방식은 다른 시장 추세와 변동성에 적응하여 전략의 적응력과 유연성을 향상시킬 수 있습니다.

전략 원칙

이 전략의 핵심은 가격 트렌드를 결정하기 위해 다른 시간 프레임의 높고 낮은 점을 사용하는 것입니다. 먼저 사용자가 선택한 시간 프레임에 대응하는 가장 높은 가격, 가장 낮은 가격 및 폐쇄 가격 데이터를 얻습니다. 그런 다음, 현재 시간 프레임의 가장 높은 가격이 이전 시간 프레임의 종료 가격과 일정 수의 포인트보다 크는지 비교하여 구매 신호를 결정합니다. 마찬가지로, 현재 시간 프레임의 가장 낮은 가격이 이전 시간 프레임의 종료 가격과 마이너스 일정 수의 포인트보다 작는지 비교하여 판매 신호를 결정합니다. 일단 구매 또는 판매 신호가 나타나면 전략은 그에 따라 포지션을 열거나 닫을 것입니다. 또한, 전략은 차트에 구매 및 판매 신호를 표시하고 전략의 직관적인 성과를 평가하기 위해 전략의 주식 곡선을 그릴 것입니다.

전략적 장점

  1. 강력한 적응력: 동적인 시간 프레임을 사용함으로써 전략은 다른 시장 환경과 변동성 특성에 적응하여 전략의 적응력과 안정성을 향상시킬 수 있습니다.
  2. 간단하고 이해하기 쉽다. 전략 논리는 명확하고 이해하기 쉽고 구현하기 쉽고 복잡한 수학적 모델이나 기계 학습 알고리즘이 필요하지 않습니다.
  3. 높은 유연성: 사용자는 전략 성능을 최적화하기 위해 자신의 선호도와 경험에 따라 시간 프레임과 포인트 임계치를 조정할 수 있습니다.
  4. 직관적이고 명확합니다. 차트에 구매 및 판매 신호를 표시하고 주식 곡선을 그리면 사용자가 전략의 성과와 위험을 직관적으로 평가 할 수 있습니다.

전략 위험

  1. 매개 변수 민감성: 전략의 성능은 시간 프레임 및 포인트 임계와 같은 매개 변수에 민감할 수 있으며, 부적절한 매개 변수 설정은 전략 성능이 떨어질 수 있습니다.
  2. 과도한 적응 위험: 매개 변수가 역사 데이터에 너무 최적화되면 실제 적용에서 전략의 성능이 떨어질 수 있습니다.
  3. 시장 위험: 전략의 성과는 시장 비상사태, 정책 변화 및 다른 요인에 의해 손실로 인해 영향을 받을 수 있습니다.

전략 최적화 방향

  1. 매개 변수 동적 조정: 시장 조건과 전략 성과에 따라 시장 변화에 적응하고 전략 안정성을 향상시키기 위해 시간 프레임 및 포인트 임계와 같은 매개 변수를 동적으로 조정합니다.
  2. 리스크 관리 도입: 단일 거래의 위험 노출 및 마취를 줄이기 위해 전략에 스톱 로스 및 포지션 관리와 같은 리스크 관리 조치를 도입하십시오.
  3. 다른 지표와 결합: 이 전략을 다른 기술적 지표 또는 근본적인 요소와 결합하여 더 견고하고 포괄적인 거래 시스템을 형성합니다.
  4. 코드 효율을 최적화: 전략의 실행 효율과 속도를 높이고 지연 및 미끄러짐의 영향을 줄이기 위해 코드를 최적화하고 개선하십시오.

요약

동적 시간 프레임 높은 낮은 브레이크 아웃 전략은 다른 시간 프레임에서 높은 점과 낮은 점의 가격 브레이크 아웃을 기반으로 거래 신호를 생성합니다. 전략 논리는 명확하고 적응 가능하며 구현 및 최적화하기가 쉽습니다. 그러나 실제 응용에서 지속적으로 최적화 및 개선되어야하는 매개 변수 민감성, 과잉 적합성 및 시장 위험과 같은 문제도 있습니다. 매개 변수를 동적으로 조정하고, 위험 관리를 도입하고, 다른 지표와 결합하고, 코드 효율성을 최적화함으로써 전략의 견고성과 수익성을 더욱 향상시킬 수 있으며, 양적 거래에 효과적인 도구와 아이디어를 제공합니다.


/*backtest
start: 2023-05-28 00:00:00
end: 2024-06-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(" NIFTY 65-15 ", overlay=true)

// Define input options for point settings and timeframe
points = input.int(60, title="Point Threshold", minval=1, step=1)
timeframe = input.timeframe("60", title="Timeframe", options=["1", "3", "5", "15", "30", "60", "240", "D", "W", "M"])

// Calculate high and low of the selected timeframe
high_timeframe = request.security(syminfo.tickerid, timeframe, high)
low_timeframe = request.security(syminfo.tickerid, timeframe, low)
close_timeframe = request.security(syminfo.tickerid, timeframe, close)

// Define conditions for Buy and Sell
buyCondition = high_timeframe > (close_timeframe[1] + points)
sellCondition = low_timeframe < (close_timeframe[1] - points)

// Entry and exit rules
if (buyCondition)
    strategy.entry("Buy", strategy.long)

if (sellCondition)
    strategy.entry("Sell", strategy.short)

// Close the positions based on the conditions
if (sellCondition)
    strategy.close("Buy")

if (buyCondition)
    strategy.close("Sell")

// Plot Buy and Sell signals on the chart
plotshape(series=buyCondition, title="Buy Entry", color=color.green, style=shape.triangleup, location=location.belowbar)
plotshape(series=sellCondition, title="Sell Entry", color=color.red, style=shape.triangledown, location=location.abovebar)

// Plot the equity curve of the strategy
plot(strategy.equity, title="Equity", color=color.blue, linewidth=2)


더 많은