
이 전략은 두 개의 이동 평균을 기반으로 한 손해 중지 전략이다. 그것은 두 개의 이동 평균을 사용한다. 하나는 메인 평균이며, 하나는 스톱 라인이다. 가격이 메인 평균보다 높을 때 더 많이, 가격이 스톱 라인보다 낮을 때 더 많이; 가격이 메인 평균보다 낮을 때 더 많이, 가격이 스톱 라인보다 높을 때 더 많은 포지션을 취한다.
이 전략은 sma 함수를 사용하여 len의 길이인 간단한 이동 평균을 기본 평균선 ma로 계산한다. 그리고 사용자 입력에 따라 다중 헤드 스톱 손실 비율 elpercent와 빈 헤드 스톱 손실 비율 espercent을 계산하여 다중 헤드 스톱 손실 선 el와 빈 헤드 스톱 손실 선 es를 계산한다. 구체적인 계산 공식은 다음과 같다:
el = ma + (ma * elpercent / 100) es = ma + (ma * espercent / 100)
여기서 elpercent와 espercent는 각각 메인 평균선 상하의 편차의 비율을 나타낸다.
이렇게 해서 3개의 선이 나온다: 주평균선 ma, 다중머리 정지선 el, 빈머리 정지선 es.
이 전략의 거래 논리는 다음과 같습니다.
종결 가격이 다수 상점 스톱 라인 el보다 높으면 더 포지션을 개설한다. 종결 가격이 공백 상점 스톱 라인 es보다 낮으면 더 포지션을 평정한다.
종결 가격이 공수 스톱 라인 es보다 낮으면 포지션이 공백된다. 종결 가격이 다수 스톱 라인 el보다 높으면 포지션이 공백된다.
이중 이동 평균선을 사용하여 스톱 로즈 스톱 포인트를 설정하여 위험을 효과적으로 제어할 수 있다.
메인 평균선 길이 len 및 편차 비율 elpercent,espercent를 사용자 정의할 수 있으며, 다른 시장에 맞는 조정 파라미터를 사용할 수 있으며, 적응력이 강하다.
손실을 막기 위한 제도를 도입하여 손실이 더 커지는 것을 방지할 수 있다.
전략적 아이디어는 간단하고 명확하며, 이해하기 쉬운 구현, 초보자 학습에 적합하다.
동시에 더 많은 일을 할 수 있고, 양방향의 기회를 최대한 활용할 수 있다.
데이터 적합성을 재검토한다. 이동均線 전략은 역사 데이터 적합성이 강하며 실장 효과는 차이가 있을 수 있다. 해결 방법은 복잡한 변동 시장에서 실장 검증하고, 실장 상황에 따라 매개 변수를 조정한다.
스톱포인트가 너무 가까이 있는 위험. 스톱포인트가 메인 평균선과 너무 가까이 설정되면 단기 가격 변동에 의해 스톱포인트가 유발될 수 있다. 스톱포인트 거리를 적절히 늘려서 스톱포인트의 위험을 피할 수 있다.
양자 거래로 인한 자본 압박. 더 많은 코카이드가 동시에 이루어지며, 충분한 자금을 보증금으로 준비해야 한다. 자본 압박을 제어하기 위해 포지션을 적절히 줄일 수 있다.
매개 변수 최적화 위험. 시장 상황에 따라 매개 변수 설정이 크게 달라지기 때문에 매개 변수를 최적화하는 데 시간이 소요됩니다. 기계 학습과 같은 기술을 사용하여 보조 매개 변수 최적화를 할 수 있습니다.
시장의 추세를 판단하는 더 많은 지표를 추가하여 의사결정 효과를 높이는 것을 고려할 수 있습니다. 예를 들어, 수량 지표, 변동 지표 등이 추가됩니다.
이동 평균 길이 len 및 중지 손실 파라미터를 자동으로 최적화하여 시장 변화에 따라 조정할 수 있도록 연구할 수 있다.
트렌드가 뚜렷한 품종에서만 거래할 수 있는 거래 품종 필터를 추가할 수 있다.
스톱을 추적하는 방식으로 변경하여 가격에 따라 실시간으로 스톱을 조정하는 것을 고려할 수 있습니다.
매개 변수를 최적화한 평가 시스템을 구축할 수 있으며, 피드백 결과를 이용하여 최적의 매개 변수 조합을 자동으로 찾아낼 수 있다.
이 전략의 전체적인 아이디어는 명확하고 이해하기 쉽으며, 쌍 이동 평행선을 사용하여 손실을 방지하여 위험을 효과적으로 제어할 수 있다. 이 전략은 매개 변수 조정 가능, 적응성이 강한 장점이 있지만, 재검토 데이터 적합성, 손실 거리 설정과 같은 문제도 주의해야 한다. 추가 최적화를 통해 이 전략은 실장에 쉽게 사용할 수 있는 효과적인 손실 방지 전략이 될 수 있다.
/*backtest
start: 2022-11-08 00:00:00
end: 2023-11-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2019
//@version=4
strategy(title = "Robot WhiteBox StopMA", shorttitle = "Robot WhiteBox StopMA", 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(false, defval = false, title = "Short")
len = input(50)
src = input(ohlc4)
elpercent = input(5.0, minval = 0, maxval = 100, title = "Shift long, %")
espercent = input(-5.0, minval = -100, maxval = 0, title = "Shift short, %")
showlines = input(true, defval = true, title = "Show lines")
showbg = input(true, defval = true, title = "Show background")
//Levels
ma = sma(src, len)
el = ma + ((ma / 100) * elpercent)
es = ma + ((ma / 100) * espercent)
//Lines
colel = showlines ? color.lime : na
colma = showlines ? color.blue : na
coles = showlines ? color.red : na
plot(el, color = colel, offset = 1)
plot(ma, color = colma, offset = 1)
plot(es, color = coles, offset = 1)
//Background
trend = 0
trend := high > el[1] ? 1 : low < es[1] ? -1 : trend[1]
colbg = showbg == false ? na : trend == 1 ? color.lime : trend == -1 ? color.red : na
bgcolor(colbg, transp = 80)
//Trading
if ma > 0
strategy.entry("Long", strategy.long, needlong ? na : 0, stop = el)
strategy.entry("Short", strategy.short, needshort ? na : 0, stop = es)