
이 전략은 근래의 최고 가격과 최저 가격의 정지 손실을 기반으로 빠르게 트렌드를 차단하고 위험을 엄격하게 제어한다. 가격이 연속적으로 상승할 때 다중 상장을 열고, 연속적으로 하락할 때 공명 상장을 열는다. 포지션을 보유할 때, 다중 상장 손실은 가장 최근의 몇 K 라인의 최저 가격이며, 공명 상장 손실은 가장 최근의 몇 K 라인의 최고 가격이다.
input함수 설정 최고 가격 및 최저 가격 참조 주기hiLen그리고loLen20 ta.highest(high, hiLen)[1]가장 높은 값을 계산하기 전에 K 선까지hiHighs사용ta.lowest(low, loLen)[1]K선까지의 최저값을 계산합니다.loLows。loLows, 빈 카드 중지 위치hiHighs이 그림은 지분을 가지고 있지 않은 상태에서 그리는 것이 아니라, 직관적으로 확인하기 쉽다.higherCloseslowerClosesisFlatisFlat그리고higherCloses“이건 정말 대단한 일입니다.isFlat그리고lowerCloses비어있는 표는loLows이 경우, 공인인증서를 보유한 경우,hiHighs。간단히 말해서, 이 전략은 근래 최고 최저 가격을 설정하여 이동 상쇄를 하고, 강한 추세에 빠르게 접근하고, 상쇄를 엄격히 제한하여, 효율적으로 추세 수익을 잡는다.
이 최고 최저 가격 중단 전략은 가격 자체를 기반으로 동적 중단을 설정하고, 강력한 트렌드를 효율적으로 포착하고, 위험을 엄격하게 제어한다. 이 전략은 간단하고 효과적이며, 빠르게 절단되며, 엄격하게 중단되며, 적응력이 강하다. 그러나, 변동 시장, 트렌드 끝, 극단적인 상황에서는 성능이 좋지 않으며, 변수 설정도 주의해야 한다. 추세와 동적 판단, 중지 손실 및 위치 관리를 최적화하는 방법을 추가하여 향후 개선할 수 있다.
/*backtest
start: 2023-03-02 00:00:00
end: 2024-03-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(title="Highest high/lowest low stop", overlay=true)
// STEP 1:
// Make inputs for length of highest high and lowest low
hiLen = input.int(20, title="Highest High Lookback", minval=2)
loLen = input.int(20, title="Lowest Low Lookback", minval=2)
// STEP 2:
// Calculate recent extreme high and low
hiHighs = ta.highest(high, hiLen)[1]
loLows = ta.lowest(low, loLen)[1]
// Plot stop values for visual confirmation
plot(strategy.position_size > 0 ? loLows : na,
style=plot.style_circles, color=color.green, linewidth=3,
title="Lowest Low Stop")
plot(strategy.position_size < 0 ? hiHighs : na,
style=plot.style_circles, color=color.red, linewidth=3,
title="Highest High Stop")
// Trading conditions for this example strategy
higherCloses = close > close[1] and
close[1] > close[2] and
close[2] > close[3]
lowerCloses = close < close[1] and
close[1] < close[2] and
close[2] < close[3]
isFlat = strategy.position_size == 0
// Submit entry orders
if isFlat and higherCloses
strategy.entry("EL", strategy.long)
if isFlat and lowerCloses
strategy.entry("ES", strategy.short)
// STEP 3:
// Submit stops based on highest high and lowest low
if strategy.position_size > 0
strategy.exit("XL HH", stop=loLows)
if strategy.position_size < 0
strategy.exit("XS LL", stop=hiHighs)