이 전략은 기술 지표에 기초하여 단기 트렌드를 식별하고 열기 가격 이하로 N 개의 연속 바가 닫히는 것을 감지하면 짧은 지위를 취합니다. 그것은 Intraday 거래 전략입니다.
이 전략은 nCounter 변수를 사용하여 닫기 아래 열리는 연속 바의 수를 계산합니다. 닫기 가격이 열기 가격보다 낮을 때, nCounter는 1로 증가합니다. 닫기 가격이 열기 가격보다 높을 때, nCounter는 0으로 재설정됩니다. nCounter가 입력 매개 변수 nLength에 도달하면 N 연속 바가 열기 가격 이하로 닫히고 신호 C2가 1이됩니다.
신호에 따라 포지션이 없으면 짧은 오더가 전송됩니다. 이미 포지션에 있다면 포지션을 유지하십시오. 포지션을 열면 포스프라이스는 입상 가격을 기록합니다. 영업 수익 및 스톱 손실은 입시 가격에 따라 설정됩니다. 가격이 영업 수익 포인트 (입시 + 입력 취업 수익) 에 도달하면 포지션을 닫고 재설정합니다. 가격이 스톱 손실 포인트 (입시 - 입력 스톱 로스) 에 도달하면 포지션을 닫고 재설정합니다.
이 전략의 주요 장점:
이 전략의 주요 위험은:
이 전략은 다음과 같은 측면에서 개선될 수 있습니다.
추세 필터를 추가하여 옆 시장의 단기 수정에 대해 잘못 판단하지 않도록하십시오. 예를 들어 전체 추세를 결정하기 위해 이동 평균과 결합하십시오.
부피 확인을 추가합니다. 부피 상승은 트렌드 반전을 더 잘 확인할 수 있습니다.
수익을 취하고 손실을 멈추는 것을 최적화하십시오. 예를 들어, 더 지능적인 출구를 만들기 위해 후속 스톱 손실, 퍼센트 스톱 손실을 사용하십시오.
실시간 시장 변화에 따라 nLength와 같은 매개 변수를 동적으로 조정하기 위해 기계 학습 모델을 활용합니다.
이 전략은 폐쇄 가격과 개방 가격 사이의 관계를 기반으로 단기 트렌드를 식별합니다. 오픈 가격 이하로 닫는 N 개의 연속 바를 감지하면 거래 신호가 생성됩니다. 전략은 직관적이고 사용자 정의 가능하며 효과적인 리스크 관리로 장착됩니다. 그러나 특정 수준의 잘못된 신호가 있습니다. 최적화를 위해 추가 필터를 결합하는 것이 좋습니다. 매개 변수 조정, 리스크 관리 및 모델 향상으로 이것은 단기 거래에 매우 실용적인 도구가 될 수 있습니다.
/*backtest start: 2023-12-18 00:00:00 end: 2023-12-25 00:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 05/02/2020 // Evaluates for n number of consecutive lower closes. Returns a value // of 1 when the condition is true or 0 when false. // // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// strategy(title="N Bars Down", shorttitle="NBD Backtest", overlay = false) nLength = input(4, minval=1) input_takeprofit = input(20, title="Take Profit pip", step=0.01) input_stoploss = input(10, title="Stop Loss pip", step=0.01) nCounter = 0 nCounter := iff(close[1] <= open[1], nz(nCounter[1],0)+1, iff(close[1] > open[1], 0, nCounter)) C2 = iff(nCounter >= nLength, 1, 0) posprice = 0.0 pos = 0 barcolor(nz(pos[1], 0) == -1 ? color.red: nz(pos[1], 0) == 1 ? color.green : color.blue ) posprice := iff(C2== 1, close, nz(posprice[1], 0)) pos := iff(posprice > 0, -1, 0) if (pos == 0) strategy.close_all() if (pos == -1) strategy.entry("Short", strategy.short) posprice := iff(low <= posprice - input_takeprofit and posprice > 0, 0 , nz(posprice, 0)) posprice := iff(high >= posprice + input_stoploss and posprice > 0, 0 , nz(posprice, 0)) plot(C2, title='NBD', color=color.red)