리소스 로딩... 로딩...

두 단계의 탈출 전략

저자:차오장, 날짜: 2023-11-02 15:58:29
태그:

img

전반적인 설명

이 전략은 매일 오전 2시 5분 오프닝 가격의 비율 변화에 따라 거래 결정을 내리고, 두 단계의 브레이크오프를 사용하여 다른 트리거 조건을 설정하여 다양한 시장에서 중요한 가격 움직임을 포착하는 것을 목표로합니다.

전략 논리

이 전략은 매일 새벽 2시 5분 촛불의 개막 가격과 비교하여 현재 5분 촛불의 개막 가격의 비율 변화를 계산합니다. 비율 변화가 첫 번째 단계 브레이크아웃 임계치를 초과하면 해당 구매 또는 판매 결정이 이루어집니다. 스톱 로스와 수익 레벨도 포지션을 닫을 수 있습니다.

만약 스톱 로스가 트리거되면, 그 비율의 변화가 계속 확대되고 두 번째 단계의 트리거 조건을 초과하면, 이전 오더가 취소되고 두 번째 단계의 임계값을 이용한 새로운 구매 또는 판매 오더가 배치되며, 스톱 로스와 영업이 계속 추적됩니다.

두 단계의 브레이크 아웃 설정은 시장의 범위에서 약간의 소음을 필터링하여 더 중요한 가격 움직임에만 거래를합니다. 두 번째 단계를 활성화하면 스톱 로스가 너무 자주 발생되는 상황을 줄일 수 있습니다.

장점

  • 서로 다른 트리거 조건의 두 단계 브레이크오웃은 시장의 잡음을 효과적으로 필터링하고, 더 큰 가격 변동에서만 거래됩니다.
  • 두 번째 단계를 활성화하면 너무 자주 스톱 손실을 유발하지 않습니다.
  • 개장 가격의 비율 변화를 계산하는 것은 시장 개장 후 매일 새로운 경향을 이용
  • 단순하고 명확한 전략 논리, 이해하기 쉽고 실행하기 쉬운

위험 및 완화

  • 높은 변동성은 포지션의 빈번한 개장 및 폐쇄를 유발할 수 있으며 거래 비용을 증가시킬 수 있습니다.
  • 두 번째 단계를 너무 높게 설정하면 좋은 거래 기회를 놓칠 수 있습니다.
  • 단계가 너무 낮으면 불필요한 추가 거래가 발생할 수 있습니다.

완화:

  • 최적의 균형을 찾기 위해 매개 변수를 최적화
  • 하루 최대 거래 수를 제한하여 과잉 거래를 피합니다.
  • 명백한 추세에서 더 공격적인 매개 변수를 사용

더 나은 기회

  • 최적화 두 브레이크아웃 단계의 값을 최고의 조합을 찾기 위해
  • 다양한 제품 및 기간에 최적의 매개 변수를 연구
  • 강한 트렌드 중에 더 공격적인 설정을 사용하도록 트렌드 지표를 포함
  • 하루 최대 거래량을 제한하여 과잉 거래를 방지합니다.
  • 더 나은 리스크-어워드를 위해 스톱 로스를 최적화하고 수익 포인트를 취합니다.

요약

이 전략은 두 단계의 브레이크아웃을 사용하여 시장에서 가격 스파이크를 캡처하고 노이즈를 효과적으로 필터링합니다. 개념은 간단하고 명확하며 매개 변수 최적화를 통해 좋은 결과를 얻을 수 있습니다. 다음 단계는 트렌드 시장에서 성능을 극대화하기 위해 트렌드 지표와 결합하는 것입니다. 전반적으로 이것은 브레이크아웃 원리를 잘 활용하고 조정 후 탄탄한 결과를 얻을 수있는 새로운 전략입니다.


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

//@version=5
strategy("Auto Entry Bot", overlay=true)

// Define input for the stop loss and take profit levels
stopLossPips = input.int(200, title="Stop Loss Pips", minval=1)
takeProfitPips = input.int(400, title="Take Profit Pips", minval=1)

// Calculate the percentage change from the 5-minute opening candle at 2:00 AM
var float openPrice = na
if (hour == 2 and minute == 0)
    openPrice := open
percentageChange = (close - openPrice) / openPrice * 100

// Track the cumulative percentage change
var float cumulativeChange = 0

// Define input for the percentage change trigger
triggerPercentage1 = input.float(0.25, title="Percentage Change Trigger (%)", minval=0.01, step=0.01)
triggerPercentage2 = input.float(0.35, title="Additional Trigger Percentage (%)", minval=0.01, step=0.01)

// Check for price change trigger
if (percentageChange >= triggerPercentage1)
    // Sell signal
    strategy.entry("Sell", strategy.short)
    strategy.exit("ExitSell", loss=stopLossPips, profit=takeProfitPips)
    cumulativeChange := 0  // Reset cumulative change after a trade

if (percentageChange <= -triggerPercentage1)
    // Buy signal
    strategy.entry("Buy", strategy.long)
    strategy.exit("ExitBuy", loss=stopLossPips, profit=takeProfitPips)
    cumulativeChange := 0  // Reset cumulative change after a trade

// If the price keeps hitting stop loss, activate the second trigger
if (strategy.position_size < 0 and percentageChange <= -triggerPercentage2)
    strategy.cancel("Sell")  // Cancel previous sell order
    strategy.entry("Sell2", strategy.short)
    strategy.exit("ExitSell2", loss=stopLossPips, profit=takeProfitPips)
    cumulativeChange := 0  // Reset cumulative change after a trade

if (strategy.position_size > 0 and percentageChange >= triggerPercentage2)
    strategy.cancel("Buy")  // Cancel previous buy order
    strategy.entry("Buy2", strategy.long)
    strategy.exit("ExitBuy2", loss=stopLossPips, profit=takeProfitPips)
    cumulativeChange := 0  // Reset cumulative change after a trade


더 많은