동적 임계값 가격 변화 돌파 전략


생성 날짜: 2024-04-01 12:03:59 마지막으로 수정됨: 2024-04-01 12:03:59
복사: 0 클릭수: 631
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

동적 임계값 가격 변화 돌파 전략

이 전략은 “동적 하락 가격 변화 돌파 전략”이라고 불린다. 이 전략의 주요 아이디어는 동적 하락을 설정하여 가격 변화율이 그 하락값을 초과할 때 구매 신호를 발생시키고, 가격 변화율이 그 하락값의 마이너스 값보다 낮아질 때 판매 신호를 발생시키는 것이다.

전략 원칙

이 전략의 핵심은 가격변동률을 계산하는 것으로, 현재의 폐업가격에서 이전 폐업가치를 더 빼면 1을 얻는다. 그런 다음, 계산된 가격변동률을 사용자 입력의 하락값과 비교한다. 가격변동률이 더 큰 값이 하락값과 같으면, 현재 지분을 보유하지 않거나 공백점 포지션을 보유한 경우, 구매 신호를 발생시킨다. 가격변동률이 적은 값이 하락값과 같으면, 현재 지분을 보유하지 않거나 공백점 포지션을 보유한 경우, 판매 신호를 발생시킨다. 구매 신호를 생성한 후, 전략은 6K 라인의 최저 가격을 스톱로스로 기록한다. 가격이 상쇄점을 넘어지면, 전략은 다중 포지션을 평행시킨다.

전략적 이점

  1. 이 전략은 동적 하락을 사용하며, 다양한 시장 환경에 적응할 수 있으며, 약간의 유연성을 갖는다.
  2. 전략의 논리는 간단하고 명확하며, 이해하기 쉽고 구현하기 쉽습니다.
  3. “지속이 잘 되고 있다”는 뜻입니다.
  4. 중독 현장에서 사용하는 데 적합하며, 중독 경향을 효과적으로 포착할 수 있다.

전략적 위험

  1. 이 전략은 불안정한 상황에서 거래가 빈번하게 이루어질 수 있고, 거래비용이 증가할 수 있다.
  2. 손해 중지 설정은 충분히 유연하지 않을 수 있으며, 경우에 따라 조기 중단으로 이어질 수 있습니다.
  3. 이 전략은 가격 변화율이라는 요소만을 고려하고, 거래량, 시장 감정 등과 같은 가격 추세에 영향을 미칠 수 있는 다른 요소들을 고려하지 않았다.

전략 최적화 방향

  1. 이 전략의 신뢰성을 높이기 위해 거래량, 변동률 등과 같은 더 많은 지표를 도입하는 것을 고려할 수 있습니다.
  2. 이동식 상쇄 또는 동적 상쇄를 사용하여 상쇄를 더 유연하게 만들 수 있는 최적화된 상쇄 설정을 할 수 있다.
  3. 가장 최적의 조합을 찾기 위해 절도 값의 크기와 손실 계산 주기 등의 파라미터를 최적화 할 수 있습니다.
  4. 포지션 관리에 가입할 수 있으며, 시장 상황에 따라 포지션을 동적으로 조정하여 위험을 통제할 수 있다.

요약하다

“동적 하락 가격 변화 돌파 전략”은 가격 변화율과 동적 하락을 비교하여 거래 신호를 생성하여 상승 상황에서 사용하기에 적합하다. 이 전략의 논리는 간단하고 명확하며, 약간의 유연성 및 위험 제어 능력을 갖추고 있다. 그러나, 이 전략에는 약간의 결함이 있습니다.

전략 소스 코드
/*backtest
start: 2023-04-01 00:00:00
end: 2024-03-31 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Price Change", shorttitle="Price Change", overlay=true)

change = input(00.1, title="Change", minval=0.0001, maxval=1, type=input.float)


// Calculate price change
priceChange = close / close[1] - 1

// Buy and Sell Signals
buyp = priceChange >= change
sellp = priceChange <= (change * -1)

// Initialize position and track the current position
var int position = na

// Strategy entry conditions
buy_condition = buyp and (na(position) or position == -1)
sell_condition = sellp and (na(position) or position == 1)

var float stop = na

if (buy_condition)
    strategy.entry("Long", strategy.long)
    stop := lowest(low, 6)
    position := 1
if (sell_condition or low < stop)
    strategy.close("Long")
    position := -1

// Plot Buy and Sell signals using plotshape
plotshape(series=buy_condition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=sell_condition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)