렌코 이동 평균에 기초한 전략을 따르는 경향

저자:차오장, 날짜: 2024-02-21 16:36:00
태그:

img

전반적인 설명

이것은 트렌드 식별 및 추적을 위해 렌코 이동 평균을 활용하는 거래 전략입니다. 이 전략의 핵심 논리는 가격이 렌코 바에 있는 22 기간 HL2 이동 평균을 뚫을 때 길거나 짧게 가는 것입니다. 한편, 이 전략은 또한 스톱 로스, 취익 및 트레일링 스톱과 같은 리스크 관리 메커니즘을 설정합니다.

전략 원칙

렌코 막대기 닫기 가격이 22 기간 HL2 이동 평균 이상으로 넘어가면, 장거리. 렌코 막대기 닫기 가격이 22 기간 HL2 이동 평균 이하로 넘어가면, 단위로 넘어가. 가격과 이동 평균 사이의 관계를 판단함으로써, 트렌드 방향을 파악합니다.

HL2 이동 평균 (Highest High + Lowest Low) /2) 은 트렌드를 따르는 이동 평균이며, 가장 높은 높은 가격과 가장 낮은 낮은 가격의 정보를 통합하여 트렌드 방향을 더 정확하게 결정합니다.

또한 전략은 잠재적인 거대한 시장 변동을 피하기 위해 특정 거래 세션 동안만 포지션을 개설하는 것을 제한합니다.

이점 분석

이것은 비교적 간단하고 직관적인 트렌드를 따르는 전략입니다. 아래의 장점과 함께:

  1. 렌코 바를 거래 신호로 사용하면 시장 소음을 효과적으로 필터링하고 주요 추세를 파악할 수 있습니다.

  2. HL2 이동 평균은 가장 높은 가격과 가장 낮은 가격 정보를 결합하여 더 신뢰할 수있는 트렌드 판단을 제공합니다.

  3. 고정된 스톱 로스 및 수익점 설정은 단일 거래의 위험을 조절할 수 있습니다.

  4. 트레일링 스톱은 트렌드 트래킹을 실현하기 위해 트렌드 발전을 따라 수익을 잠금 할 수 있습니다.

  5. 거래 세션을 제한하면 엄청난 변동의 영향을 어느 정도 완화 할 수 있습니다.

위험 분석

이 전략에는 몇 가지 위험도 있습니다.

  1. 이동 평균 전략은 더 많은 잘못된 신호를 생성하는 경향이 있습니다.

  2. 갑작스러운 사건으로 인한 격차 위험을 효과적으로 대처할 수 없습니다.

  3. 부적절한 렌코 설정은 더 나은 거래 기회를 놓칠 수 있습니다.

  4. 고정된 스톱 로즈와 영업이익은 시장 변화에 적응할 수 없습니다.

최적화 방향

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

  1. 거짓 신호를 필터링하기 위해 다른 지표 또는 조건을 추가합니다. 예를 들어 볼륨, 오시레이터 등.

  2. 가장 적합한 기간을 찾기 위해 다른 매개 변수로 이동 평균을 테스트하십시오.

  3. 렌코의 상자 크기도 테스트하고 최적화 할 수 있습니다.

  4. 변동성에 기반한 적응식 스톱 로스 메커니즘을 추가합니다.

  5. 이 조건을 최적화하기 위해 다른 거래 세션 설정을 테스트합니다.

결론

결론적으로, 이것은 렌코 이동 평균을 사용하여 트렌드를 식별하고 추적하는 간단하고 실용적인 전략입니다. 그것은 직관적인 거래 논리와 위험 통제 메커니즘을 가지고 있으며, 안정적인 수익을 추구하는 거래자에게 적합합니다. 그러나 더 나은 전략 성능을 얻기 위해 매개 변수 최적화, 필터 조건을 추가하고 적응 스톱 로스 등을 통해 개선 할 여지가 있습니다.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("HL2 - 22 Cross", overlay=true)

// Stops and Profit inputs
inpTakeProfit   = input(defval = 300, title = "Take Profit", minval = 0)
inpStopLoss     = input(defval = 200, title = "Stop Loss", minval = 0)
inpTrailStop    = input(defval = 200, title = "Trailing Stop", minval = 0)
inpTrailOffset  = input(defval = 0, title = "Trailing Stop Offset", minval = 0)

// Stops and Profit Targets
useTakeProfit   = inpTakeProfit  >= 1 ? inpTakeProfit  : na
useStopLoss     = inpStopLoss    >= 1 ? inpStopLoss    : na
useTrailStop    = inpTrailStop   >= 1 ? inpTrailStop   : na
useTrailOffset  = inpTrailOffset >= 1 ? inpTrailOffset : na

//Specific Time to Trade
myspecifictradingtimes = input('0500-1600',  title="My Defined Hours")

longCondition1 = crossover(close, ema(hl2, 22))
longCondition2 = time(timeframe.period, myspecifictradingtimes) != 0
if longCondition1 and longCondition2
    strategy.entry("Long", strategy.long, comment="LongEntry")

shortCondition1 = crossunder(close, ema(hl2, 22))
shortCondition2 = time(timeframe.period, myspecifictradingtimes) != 0
if shortCondition1 and shortCondition2
    strategy.entry("Short", strategy.short, comment="ShortEntry")

strategy.exit("Exit Long", from_entry = "Long", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)
strategy.exit("Exit Short", from_entry = "Short", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)

더 많은