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

K-라인 건설을 기반으로 한 긴 돌파구 전략

저자:차오장, 날짜: 2024-01-05 12:37:46
태그:

img

전반적인 설명

이 전략은 간단한 K-라인 패턴 판단 규칙을 설정하여 테슬라의 4 시간 라인에 긴 포지션 브레이크아웃 거래를 실현합니다. 전략은 간단한 구현, 명확한 논리, 이해하기 쉬운 등의 장점이 있습니다.

전략 원칙

전략의 핵심 판단 논리는 다음과 같은 4 K-라인 패턴 규칙에 기초합니다.

  1. 현재 K 라인의 최저 가격은 개시 가격보다 낮습니다.
  2. 현재 K 라인의 최저 가격은 이전 K 라인의 최저 가격보다 낮습니다.
  3. 현재 K 라인의 종료 가격은 개시 가격보다 높습니다.
  4. 현재 K 라인의 종료 가격은 이전 K 라인의 시작 가격과 종료 가격보다 높습니다.

모든 4가지 규칙이 동시에 충족되면 긴 포지션 개척 작업이 수행됩니다.

또한, 전략은 가격 트리거가 손실을 멈추거나 수익을 취하는 조건을 설정할 때 포지션을 닫기 위해 스톱 로스를 설정하고 수익을 취합니다.

이점 분석

이 전략은 다음과 같은 장점을 가지고 있습니다.

  1. 사용된 K선 판단 규칙은 매우 간단하고 직설적이며 이해하기 쉽고 연습하기 쉽습니다.
  2. 그것은 지나치게 복잡한 기술 지표를 사용하지 않고 가격 단체의 판단에 전적으로 기반하고 있으며 백테스트 결과는 간단합니다.
  3. 코드 구현은 크기가 작고 효율적으로 실행되며 최적화 및 개선이 쉽습니다.
  4. 스톱 로즈와 영업이익은 위험을 통제하기 위해 매개 변수를 조정하여 유연하게 설정할 수 있습니다.

위험 분석

주목해야 할 주요 위험은 다음과 같습니다.

  1. 포지션 크기를 고려하지 않고 포지션을 개설하는 데 고정된 양이 사용됩니다. 이는 과잉 거래 위험을 초래할 수 있습니다.
  2. 범위에 제한된 시장에서 너무 많은 유효하지 않은 거래를 생성 할 수있는 필터가 설정되지 않습니다.
  3. 백테스트 데이터가 부족하면 전략 성과에 대한 판단이 편향될 수 있습니다.

위험 감소를 위해 다음과 같은 방법을 채택할 수 있습니다.

  1. 포지션 사이징 모델을 포함하여 자본 규모에 따라 거래 크기를 동적으로 조정합니다.
  2. 불규칙한 시장 조건에서 거래의 무질서한 개시를 피하기 위해 무역 필터를 추가하십시오.
  3. 백테스트 기간을 늘리고 결과 신뢰성을 향상시키기 위해 더 많은 역사 데이터를 수집합니다.

최적화 방향

전략의 잠재적인 최적화 방향은 다음과 같습니다.

  1. 자본 사용 비율에 기초한 거래 크기를 결정하기 위해 포지션 사이징 모듈을 통합합니다.
  2. 유연한 출구를 위해 손해를 멈추고 수익을 추적하는 메커니즘을 설계하십시오.
  3. 유효하지 않은 트레이드를 방지하기 위해 트레이드 필터를 추가합니다.
  4. 기계 학습 방법을 사용하여 매개 변수를 자동으로 최적화합니다.
  5. 다양한 상품에 대한 스프레드 거래를 지원합니다.

결론

이 전략은 간단한 K-라인 패턴 규칙을 사용하여 긴 돌파구 거래를 실현합니다. 개선할 여지가 있지만 단순성과 직관성 측면에서 초보자가 이해하고 사용할 수있는 매우 적합한 긴 포지션 전략입니다. 지속적인 최적화로 전략 성능이 더욱 향상 될 수 있습니다.


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © TheQuantScience

//@version=5
strategy("SimpleBarPattern_LongOnly", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, currency = currency.EUR, initial_capital = 1000, commission_type = strategy.commission.percent, commission_value = 0.03)

// Make input options that configure backtest date range
startDate = input.int(title="Start Date",
     defval=1, minval=1, maxval=31)
startMonth = input.int(title="Start Month",
     defval=1, minval=1, maxval=12)
startYear = input.int(title="Start Year",
     defval=2017, minval=1800, maxval=2100)

endDate = input.int(title="End Date",
     defval=8, minval=1, maxval=31)
endMonth = input.int(title="End Month",
     defval=3, minval=1, maxval=12)
endYear = input.int(title="End Year",
     defval=2022, minval=1800, maxval=2100)
     
// Look if the close time of the current bar
// Falls inside the date range
inDateRange = true

// Setting Conditions 
ConditionA = low < open 
ConditionB = low < low[1]
ConditionC = close > open
ConditionD = close > open[1] and close > close[1]

FirstCondition = ConditionA and ConditionB 
SecondCondition = ConditionC and ConditionD
IsLong = FirstCondition and SecondCondition

TakeProfit_long = input(4.00)
StopLoss_long = input(4.00)
Profit = TakeProfit_long*close/100/syminfo.mintick
Loss = StopLoss_long*close/100/syminfo.mintick

EntryCondition = IsLong and inDateRange

// Trade Entry&Exit Condition 
if EntryCondition and strategy.opentrades == 0
    strategy.entry(id = 'Open_Long', direction = strategy.long)
    strategy.exit(id = "Close_Long", from_entry = 'Open_Long', profit = Profit, loss = Loss)







더 많은