노로의 탈출 전략 v1.0

저자:차오장, 날짜: 2023-09-21 15:09:43
태그:

전반적인 설명

이 전략은 최근 극단적 가격 이상 가격 브레이크에 기반하여 거래합니다. 그것은 기간 동안 가장 높은 최고와 가장 낮은 최저를 계산하고 가격이 이러한 수준을 넘을 때 신호를 생성합니다.

어떻게 작동 합니까?

  1. N 기간 동안 최고 최고 최고 절정과 최저 최저 dnex를 계산합니다.

  2. 가격이 최고점보다 높을 때 롱으로 가세요.

  3. 가격이 Dnex 아래로 떨어지면 셔트 하

  4. 길게만, 짧게만 또는 양쪽 방향으로 구성할 수 있습니다.

  5. 구성 가능한 자본 활용률

  6. 설정 가능한 거래 시간 범위

장점

  • 브레이크오웃 신호를 포착합니다. 트렌드 트레이딩에 적합합니다.
  • 간단하고 직관적인 규칙, 쉽게 실행
  • 방향 설정은 다른 시장에 적응
  • 거래 시간 범위를 제한할 수 있습니다.
  • 자본 활용을 통제합니다.

위험성

  • 가짜 브레이크를 효과적으로 필터링할 수 없습니다.
  • 양방향 무역은 비용을 증가시킵니다
  • 높은 자본 사용은 위험을 증가시킵니다.

최적화 방향

  • 가짜 브레이크오웃을 피하기 위해 검증을 추가합니다.
  • 최적의 성능을 위해 N 값을 최적화
  • 화면 신호에 추가 필터
  • 다른 자본 사용률을 테스트합니다.
  • 하루 거래 제한 수

결론

이 전략은 가격 브레이크오웃 신호를 사용하여 트렌드를 따르고 있습니다. 브레이크오웃 유효성 및 조정 매개 변수를 향상하면 성능을 향상시킬 수 있습니다. 그러나 잘못된 브레이크오웃 및 위험 통제가 해결되어야합니다. 전반적으로 간단하고 효과적인 트렌드 거래 솔루션입니다.


/*backtest
start: 2023-09-18 00:00:00
end: 2023-09-20 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=2
strategy(title = "Noro's Brakeout Strategy v1.0", shorttitle = "Brakeout str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
len = input(4, defval = 4, minval = 1, maxval = 1000, title = "Length")
showlines = input(true, defval = true, title = "Show Lines?")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Extremums
upex = highest(high, len)
dnex = lowest(low, len)
col = showlines ? blue : na
plot(upex, color = col, linewidth = 2)
plot(dnex, color = col, linewidth = 2)

//Trading
lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1]

if (not na(close[len]))
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)), stop = upex + syminfo.mintick)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)), stop = dnex - syminfo.mintick)

if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()

더 많은