노로
주요 측면은 다음과 같습니다.
가격 채널은 전체 트렌드를 결정합니다. 높은 / 낮은 것을 돌아보고 형성 된 채널은 상승 추세 / 하락 추세를 정의합니다.
RSI는 진입 시점에 대해 과잉 구매/ 과잉 판매를 나타냅니다. RSI 60 이상은 과잉 구매, 40 이하는 과잉 판매 구역입니다.
시체 필터는 최종 신호를 제공합니다. 소음을 피하기 위해 촛불 시체가 한 임계치를 초과하면 거래합니다.
트렌드, RSI 신호 및 보디 필터를 결합한 엔트리에 기반합니다. 상승 신호에 대한 상승 트렌드에 대한 긴 엔트리, 하락 신호에 대한 하락 트렌드에 대한 짧은 엔트리.
선택적인 배경 색상은 트렌드를 명확하게 시각화합니다.
선택적으로 거래할 수 있는 거래 시간 프레임
여러 지표가 일치하여 상대적으로 안정적인 추세를 나타냅니다.
주요 장점은 다음과 같습니다.
가격 채널은 직관적으로 전체 트렌드 방향을 식별합니다.
RSI는 시간 입시를 위해 과잉 구매/ 과잉 판매 수준을 효과적으로 감지합니다.
몸 필터는 신호 품질을 향상시키고 잘못된 신호를 피합니다.
여러 지표로 확인하면 정확도가 높아집니다.
간단한 지표는 곡선 부착 위험을 줄입니다.
사용자 정의 가능한 거래 시간 프레임은 유연성을 추가합니다.
최소한의 매개 변수와 함께 사용하기 쉽습니다.
배경 색상은 시각적 명확성을 제공합니다.
고려해야 할 몇 가지 위험:
가격 채널 트렌드를 잘못 파악하는 위험.
정확하지 않은 RSI 신호 위험.
신체 필터는 유효한 신호를 제거합니다.
트렌드 코리션 중 적립 위험.
잘못된 파라미터 조정으로 인한 최적화 위험.
적립된 모든 할당에서 발생하는 지위 크기 위험
거래가 아닌 자산에 적용되는 경우 기기 선택 위험
거래 시간 프레임 위험이 잘못 구성되면.
몇 가지 개선 가능성:
트레이드당 손실을 제어하기 위해 스톱 로스 전략을 추가합니다.
기기 동작에 따라 매개 변수를 최적화합니다.
트렌드 강도에 기반한 포지션 사이즈링 규칙을 포함합니다.
손실을 억제하기 위해 마감 제한을 적용합니다.
신호 검증을 위해 부피 가격 분석을 추가합니다.
매개 변수 최적화를 위한 기계 학습을 도입합니다.
자산급에 따라 특화된 매개 변수
더 많은 유연성을 위해 거래 시간 프레임 논리를 정제하십시오.
노로
/*backtest start: 2023-08-25 00:00:00 end: 2023-09-24 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy(title = "Noro's TrendMaster Strategy v1.0", shorttitle = "TrendMaster 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") len = input(21, defval = 20, minval = 2, maxval = 200, title = "MA Period") needbg = input(false, defval = false, title = "Need trend Background?") 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") //PriceChannel 1 lasthigh = highest(close, len) lastlow = lowest(close, len) center = (lasthigh + lastlow) / 2 //Trend trend = low > center and low[1] > center[1] ? 1 : high < center and high[1] < center[1] ? -1 : trend[1] //Bars bar = close > open ? 1 : close < open ? -1 : 0 //Fast RSI fastup = rma(max(change(close), 0), 2) fastdown = rma(-min(change(close), 0), 2) rsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown)) //Body filter nbody = abs(close - open) abody = sma(nbody, 10) body = nbody > abody / 2 //Signals up1 = trend == 1 and rsi < 60 and (strategy.position_avg_price > close or strategy.position_size <= 0) and body dn1 = trend == -1 and rsi > 40 and (strategy.position_avg_price < close or strategy.position_size >= 0) and body //Lines plot(center, color = blue, linewidth = 3, transp = 0, title = "MA") //Background col = needbg == false ? na : trend == 1 ? lime : red bgcolor(col, transp = 80) //Trading if up1 strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if dn1 strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if time > timestamp(toyear, tomonth, today, 23, 59) strategy.close_all()