
이것은 렌코 평균을 사용하여 추세를 판단하고 추적하는 거래 전략이다. 이 전략의 핵심 논리는 가격이 22주기의 HL2 평균을 돌파했을 때, 그에 따른 구매 또는 판매 작업을 수행하는 것이다. 이 전략은 또한 중지, 중지, 이동 중지 등의 위험 관리 장치를 설정한다.
렌코 기둥이 22주기 HL2 평균을 통과했을 때, 더 많은 것을하십시오. 렌코 기둥이 22주기 HL2 평균을 통과했을 때, 더 많은 것을하십시오. 가격과 평균의 관계를 판단하여 트렌드의 방향을 잡기 위해.
HL2 평균 ((Highest High + Lowest Low) /2) 은 트렌드형 평균으로, 최고 가격과 최저 가격의 정보를 결합하여 트렌드의 발전 방향을 더 정확하게 판단할 수 있다. 22은 평균의 균형감각을 위해 사용되는 경험값이다.
또한, 전략은 시장의 급격한 변동성을 피하기 위해 특정 거래 시간에만 포지션을 열 수 있는 제한을 설정합니다.
이것은 간단하고 직관적인 트렌드 추적 전략으로 다음과 같은 장점이 있습니다.
렌코 기둥을 거래 신호로 사용하면 시장 소음을 효과적으로 필터링하여 주요 트렌드를 잡을 수 있습니다.
HL2 평균은 최고 가격과 최저 가격 정보를 결합하여 트렌드 판단에 더 정확하고 신뢰할 수 있습니다.
고정된 스톱로스, 스포트 포스트 지점을 설정하면 단일 거래의 위험을 잘 통제할 수 있다.
모바일 스톱은 트렌드가 진행될 때 수익을 고정시켜 트렌드 추적을 가능하게 한다.
거래 기간을 제한하면 급격한 시장의 충격을 어느 정도 피할 수 있습니다.
이 전략에는 다음과 같은 위험도 있습니다.
평균 전략은 더 많은 가짜 신호를 만들어 낼 수 있습니다.
급격한 사건으로 인한 단절 위험을 효과적으로 대처할 수 없습니다.
렌코의 잘못된 설정으로 인해 더 좋은 거래 기회를 놓칠 수 있습니다.
고정된 스톱로스는 시장의 변화에 적응하기 힘들다.
이 전략은 다음과 같은 방향으로 최적화될 수 있습니다.
다른 지표 또는 조건을 추가하여 신호를 필터링하여 가짜 신호를 줄인다. 예를 들어 양력 지표, 진동 지표 등이다.
다른 변수들의 평균을 테스트하여 더 적합한 주기수를 찾아볼 수 있다.
렌코의 박스 크기는 또한 테스트 최적화를 통해 최적의 파라미터를 얻을 수 있다.
변동율에 기반한 적응형 손해 방지 장치를 추가한다.
이 조건을 최적화하기 위해 다른 거래 시간 단위 설정을 테스트할 수 있습니다.
전반적으로, 이것은 Renko 평균을 사용하여 추세를 판단하고 추적하는 간단한 실용적인 전략이다. 그것은 더 직관적인 거래 논리, 위험 제어 메커니즘을 가지고 있으며, 안정적인 수익을 추구하는 거래자에게 적합하다. 그러나 파라미터를 최적화하고, 필터 조건을 추가하고, 손해 중지와 같은 방법을 통해 더 나은 전략 효과를 얻을 수있는 개선의 여지가 있습니다.
/*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)