이 전략은 최근 N 바의 가장 높고 가장 낮은 가격을 계산하여 이동 평균 라인과 결합하여 낮은 구매 및 높은 판매 거래 전략을 구현하기 위해 이중 브레이크 아웃 조건을 설정합니다.
이 전략은 주로 다음과 같은 원칙에 기초합니다.
최근 N 바의 극한을 계산함으로써 시장이 극도로 과판되거나 과반 구매되었는지 판단합니다. 트렌드 방향을 결정하기 위해 이동 평균선과 결합하여 낮은 구매 및 높은 판매의 브레이크아웃 거래 전략을 달성하기 위해 두 가지 조건을 설정합니다.
이 전략은 다음과 같은 장점을 가지고 있습니다.
이중 확인을 통해 전략의 신호 품질은 상대적으로 높고 매개 변수 최적화 공간은 넓으며 다른 시장 환경에 적합합니다.
이 전략은 또한 몇 가지 위험을 안고 있습니다.
이러한 위험은 컴퓨팅 주기를 조정하고 매개 변수 조합을 최적화하고 다른 방법을 통해 감소 할 수 있습니다. 또한 최적화를 위해 다른 지표와 결합하는 것을 고려합니다.
이 전략은 주로 다음과 같은 방향으로 최적화 될 수 있습니다.
매개 변수 최적화, 지표 최적화, 위험 통제 최적화 등으로 전략의 수익률을 크게 향상시킬 수 있습니다.
일반적으로, 이것은 매우 실용적인 브레이크아웃 전략이다. 과판 및 과입 상태를 결정하기 위해 K 라인의 극한을 계산하고, 트렌드 방향을 결정하기 위해 이동 평균 라인을 사용하여, 잘못된 신호를 필터하기 위해 이중 필터링 조건을 설정하여, 고품질의 낮은 구매 및 높은 판매 전략을 구현합니다. 컴퓨팅 주기를 최적화하고, 다른 지표 및 기타 방법을 추가함으로써 전략 효과를 더욱 향상시킬 수 있습니다. 이 전략은 초보자와 전문 상인이 모두 배우기 위해 최적화하고 사용할 수 있습니다.
/*backtest start: 2023-02-22 00:00:00 end: 2024-02-28 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Larry Connors por RON", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100) value1 = input(7, title="Quantity of day low") value2 = input(7, title="Quantity of day high") entry = lowest(close[1], value1) exit = highest(close[1], value2) lengthMMA = input(200, title="Length of SMA", minval=1) mma = sma(close, lengthMMA) // Calcular el mínimo de los precios bajos de las últimas 'value1' velas minLow = lowest(low, value1) // Calcular el máximo de los precios altos de las últimas 'value2' velas maxHigh = highest(high, value2) // Test Period testStartYear = input(2009, "Backtest Start Year") testStartMonth = input(1, "Backtest Start Month") testStartDay = input(2, "Backtest Start Day") testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, 0, 0) testStopYear = input(2020, "Backtest Stop Year") testStopMonth = input(12, "Backtest Stop Month") testStopDay = input(30, "Backtest Stop Day") testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0) testPeriod() => true if testPeriod() // Condiciones de entrada conditionMet = (close > mma) and (close < entry) and (low == minLow) strategy.entry("Buy", strategy.long, when=conditionMet) if conditionMet label.new(bar_index, entry, text="↑", style=label.style_arrowup, color=color.green, size=size.small, yloc=yloc.belowbar) // Condiciones de salida conditionExit = close > exit or close > maxHigh strategy.close("Buy", when=conditionExit)