
이 글은 노로 (Noro) 가 작성한 추적 이동 평균 폭파 전략에 대해 상세히 분석한다. 이 전략은 폐쇄 가격과 간단한 이동 평균의 오차 정도를 계산하여 시장 추세가 전환되는 시기를 판단하여 낮은 가격과 높은 가격을 달성한다.
이 전략은 먼저 3일 간소 이동 평균 sma 를 계산한다. 그리고는 폐가 close 과 sma 의 비율을 계산하고, 1을 빼면, 하나의 지표 ind 을 얻는다. ind 위를 뚫면, 폐가 가격이 sma 를 크게 초과했다는 것을 나타내고, 더 많은 것을 고려한다.
전략은 또한 0축,limit축 및-limit축을 그리기도 한다. ind 지표가 다른 지역에 있을 때, 다른 색으로 색칠하여, 보조 판단한다. ind 지표가 limit 또는-limit을 통과할 때, 과잉 또는 공백 신호가 나타난다.
전략이 더 많은 또는 더 적은 신호를 생성할 때, 우선 현재 방향의 반대 방향으로 지분을 청산하고, 더 많은 또는 더 많은 지분을 열립니다. ind 지표가 0 축 사이에 돌아 왔을 때, 모든 지분을 청산합니다.
점프 원칙을 사용하여, 가격이 이동 평균에서 명백하게 벗어나면 역행동이 수행됩니다. 이것은 트렌드 추적과 달리, 점프 전략은 전환점을 잡기 위해 추구합니다.
지표의 축을 그리고 지표의 위치와 통과를 직관적으로 판단한다.
평형 포지션 논리를 최적화하여, 평형 현재 포지션 후에 새로운 포지션을 역으로 개설하여 불필요한 역 포지션 보유를 피한다.
거래 시간 범위를 설정하여 불필요한 야간 포지션을 피하십시오.
다공간 양쪽의 거래 스위치를 설정할 수 있으며, 다공간 또는 다공간으로 설정할 수 있다.
이동 평균 전략을 추적하는 것은 여러 손실 거래가 발생할 수 있으며, 인내심을 가지고 포지션을 유지하는 것이 좋습니다.
이동 평균은 판단 지표로서 유연성이 부족하여 가격 변화를 적시에 반영하지 못합니다.
기본 변수 제한은 정적이며, 다른 품종과 시장 환경에 따라 조정할 필요가 있다.
이동 평균을 추적하는 것은 트렌드 내의 변동을 식별할 수 없으며, 변동 지표 등과 결합하여 사용해야 한다.
포지션 유지 규칙을 최적화 할 필요가 있습니다. 예를 들어, 스톱, 스톱을 설정하거나, 트렌드 초기에만 하락을 잡을 수 있습니다.
스마 주기와 같은 다른 파라미터 설정을 테스트할 수 있다. 또는 지수 이동 평균과 같은 적응 이동 평균을 적용할 수 있다.
이동 평균 방향, 각 등의 판단을 추가할 수 있으며, 플랫폼 기간 동안 무의미한 거래를 피할 수 있다.
부린 밴드와 같은 변동성 지표와 결합하여 변동성이 커지면 거래를 중단하는 것을 고려할 수 있습니다.
포지션 관리 규칙을 설정할 수 있습니다. 고정 수량 포지션을 개설, 포지션을 점차 증가시키고, 자금 관리 등이 가능합니다.
단위 리스크를 제어하기 위해 스톱 로즈 마인드를 설정하거나 고정 비율의 스톱 로즈 시 새로운 주문을 중지할 수 있다.
이 글은 노로 (Noro) 가 작성한 추적 이동 평균 폭파 전략에 대해 자세히 분석한다. 이 전략은 가격 폭파 이동 평균의 특징을 이용하고, 지표 축과 색상 그리기를 설계하고, 진입 시기를 판단한다. 평점 순서 논리를 최적화하고, 거래 시간 범위를 설정한다. 그러나 이 전략은 이동 평균을 추적하는 고유한 단점이 있으며, 파라미터 설정, 스톱 로즈 규칙, 기타 지표와 결합되는 측면을 더 개선할 필요가 있다.
/*backtest
start: 2022-10-19 00:00:00
end: 2023-10-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2018
//@version=3
strategy(title = "Noro's Shift Close Strategy v1.0", shorttitle = "Shift Close 1.0", default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 5)
//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 = "Lot, %")
limit = input(10)
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")
//Shift MA
sma = sma(ohlc4, 3)
ind = ((close / sma) - 1) * 100
//Oscilator
plot(3 * limit, color = na, transp = 0)
plot(limit, color = black, transp = 0)
plot(0, color = black, transp = 0)
plot(-1 * limit, color = black, transp = 0)
plot(-3 * limit, color = na, transp = 0)
plot(ind, linewidth = 3, transp = 0)
col = ind > limit ? red : ind < -1 * limit ? lime : na
bgcolor(col, transp = 0)
//Signals
size = strategy.position_size
up = ind < -1 * limit
dn = ind > limit
exit = ind > -1 * limit and ind < limit
//Trading
lot = 0.0
lot := size == 0 ? strategy.equity / close * capital / 100 : lot[1]
if up
if strategy.position_size < 0
strategy.close_all()
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)))
if dn
if strategy.position_size > 0
strategy.close_all()
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)))
if exit
strategy.close_all()