아론 지표 기반의 양적 전략

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

전반적인 설명

이 전략은 단순한 구매 및 판매 신호를 생성하기 위해 시장 트렌드 방향을 결정하기 위해 Aroon 지표를 순전히 사용합니다. 이는 Aroon의 트렌드 캡처 능력을 결합하여 순전히 지표를 기반으로 한 기계적 거래 시스템을 구축합니다.

전략 논리

  1. 7개 기간 동안 가장 높은 높고 가장 낮은 낮은 바를 계산합니다.

  2. 가장 높은 바와 전체 바의 비율을 상줄로 계산합니다.

  3. 가장 낮은 바와 전체 바의 비율을 밑줄로 계산합니다.

  4. 상위 선이 하위 선보다 크면 구매 신호를 생성합니다.

  5. 아래쪽 선이 상위 선보다 커지면 판매 신호를 생성합니다.

  6. 전략 매개 변수를 통해 입력 방향을 제어합니다.

  7. 정해진 시간 내에 주문을 열고 닫습니다.

이점 분석

  1. 순전히 아론을 기반으로 한 지표 기반 거래입니다.

  2. 간단한 지표 매개 변수, 이해하기 쉽고 최적화

  3. 다양한 도구에 대한 긴 / 짧은 방향의 유연한 선택.

  4. 백테스트와 라이브 트레이딩을 위한 사용자 정의 가능한 시간 프레임.

  5. 명확한 거래 신호, 이해하기 쉽고 실행하기 쉽습니다.

위험 분석

  1. 단 하나의 표시로 잘못된 신호에 유연합니다.

  2. 상승/하락 추세의 강도를 정확하게 판단할 수 없습니다.

  3. 약간의 지연이 있고, 적시에 반전을 감지할 수 없습니다.

  4. 시장 변화에 따라 동적으로 조정할 수 없습니다.

  5. 적립 위험 가능성

최적화 방향

  1. 다른 기기와 시간 프레임에서 테스트합니다.

  2. 신호 품질을 향상시키기 위해 필터를 추가합니다.

  3. 전체 추세를 결정하기 위해 추세 지표를 포함합니다.

  4. 변화하는 추세에 따라 동적인 출구를 개발합니다.

  5. 매개 변수와 테스트 조합을 최적화합니다.

  6. 포지션 크기와 리스크 관리

요약

이 전략은 아론에 기반한 간단한 트렌드 신호를 제공합니다. 오해의 소지가 있는 신호를 피하고 위험 통제에 대한 개선의 여지가 있습니다. 그러나 논리는 단순하고 명확하며 향상을위한 기본 양 전략으로 사용됩니다. 전반적으로 추가 테스트 및 최적화에 가치가있는 실용적인 전략입니다.


/*backtest
start: 2023-08-19 00:00:00
end: 2023-09-18 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018
//@version=2

strategy(title = "Noro's Aroon Strategy v1.0", shorttitle = "Aroon str 1.0", overlay = false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(false, defval = false, title = "Short")
length = input(7, defval = 7, minval = 1, maxval = 1000)
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")

//Aroon
upper = 200 * (highestbars(high, length+1) + length)/length
lower = 200 * (lowestbars(low, length+1) + length)/length
plot(upper, color=#FF6A00)
plot(lower, color=#0094FF)

//Signals
up = upper > lower
dn = upper < lower

//Trading
if up
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na)
    
if dn
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na)
 
if true
    strategy.close_all()

더 많은