
이 전략은 극한 분포를 사용하여 Chande 동력 흔들림 지표의 극한 값을 탐지하여 비트코인과 암호화폐의 1분 시간 프레임 내에서 거래하는 것을 목표로합니다. 그러나 매개 변수는 모든 거래 쌍에 적용될 수 있도록 조정할 수 있습니다.
데 동력 지표를 오랫동안 연구한 후, 나는 정형 분포의 백분율 수준을 활용하여 시장에 진출하는 전략을 만들기로 결정했다. 이것은 1 분 시간 프레임 내에서 연속적으로 며칠 동안의 아름다운 수익을 창출할 수 있으며, 최종 목표는 전략의 더 강력한 버전이 로봇에서 작동하고 수익을 창출하는 것입니다. 이 전략은 엄격하게 정의되어 있으며 더 많은 거래를 위해 파라미터를 완화 할 수 있으므로 더 높은 샘플 수와 더 나은 샤프 비율을 얻을 수 있습니다.
이 전략은 Chande의 값이 지난 몇 백 개의 Chande 값에 따라 계산된 극단적인 백분위 안에 있는지 확인하고, 만약 그렇다면, 포지션을 개설한다.
스톱 로즈와 스톱 스은 아직 이 전략에 통합되어 있지 않지만, 손실을 최소화하고 잠재적인 수익을 확대하기 위해 추가되는 기능이 될 것입니다.
모든 유동적인 암호화폐 거래 쌍은 낮은 타임라인에서 좋은 결과를 가져옵니다.
우리는 또한 무료 15분과 1시간의 전략도 가지고 있습니다.
이 전략은 먼저 Chande 동력 흔들림 지표를 계산합니다. 이 지표는 하루의 종결 가격과 전날의 종결 가격의 변화를 기반으로 계산합니다. 구체적으로, 그것은 상승의 변화의 합과 하락의 변화의 합의 비율을 계산하여 가격 변화의 동력을 측정합니다.
이 전략은 다음으로 과거 일정 주기 (설정된 425주기) 의 Chande 값을 기록하고, 다른 백분위치 레벨을 계산한다. 현재 Chande 값이 기본 설정의 극단적인 백분위치 (설정된 1%의 구매, 99%의 판매) 에 도달했을 때, 장/단지 포지션을 개시하는 신호를 유발한다. 평평한 포지션은 Chande 값이 정상 수준의 백분위치에 도달했을 때 (설정된 97.5%와 2.5%) 신호를 유발한다.
이 방법으로, 전략은 Chande 값의 극단적 인 돌파구를 포착하여 급격한 추세를 포착 할 수 있습니다. 또한, Chande 값이 극단적인 상태를 장기간 유지 할 때 반복적으로 포지션을 열 수 있는 위험을 피할 수 있습니다.
리스크 관리는 스톱 로즈 스톱을 설정하고, 트렌드 지표 필터링 가짜 신호와 함께 극단적 인 변수를 적절하게 풀어 주어야합니다. 또한, 최적화 변수는 과도한 최적화를 피하는 것이 좋습니다.
이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.
단위 손실의 위험을 통제하기 위해 합리적인 스톱 스탠드를 설정하여 스톱 스탠드 규칙을 추가하십시오.
최적화 매개 변수, 장기 단기 매개 변수 조합을 조정하여 다른 시장 환경에 적합하다. 단계적 최적화 알고리즘에 추가하여 최적의 매개 변수를 찾을 수 있다.
필터링 조건을 추가하여 MA와 같은 트렌드 지표와 결합하여 불리한 트렌드의 가짜 신호를 필터링하여 전략의 안정성을 향상시킵니다.
다중 시간 프레임의 조합으로, 높은 시간 프레임에서 트렌드 방향을 결정하고, 낮은 시간 프레임에서 상장한다.
다양한 거래 품종의 매개 변수 강도를 테스트하고, 더 많은 품종에 적응하도록 조정한다.
기계 학습 알고리즘을 도입하여 AI를 사용하여 매개 변수 및 필터 조건을 최적화하여 동적으로 조정하십시오.
이 전략은 전체적으로 Chande 동력 지표의 극한 값을 사용하여 트렌드 트레이드를 포착하는 전략 아이디어입니다. Straightforward의 전략 논리와 효율적인 운영 방식은 급격한 트렌드를 빠르게 포착하는 데 적합합니다. 동시에, 위험을 통제하는 데 주의를 기울이고, 과도한 최적화를 피하고, 다양한 시장 환경에 적응하기 위해 다방면으로 최적화해야합니다.
/*backtest
start: 2023-10-13 00:00:00
end: 2023-11-12 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Chande Minute Swinger", overlay=true)
//Chande
length = input(9, minval=1)
src = close
momm = change(src)
f1(m) => m >= 0.0 ? m : 0.0
f2(m) => m >= 0.0 ? 0.0 : -m
m1 = f1(momm)
m2 = f2(momm)
sm1 = sum(m1, length)
sm2 = sum(m2, length)
percent(nom, div) => 100 * nom / div
chandeMO = percent(sm1-sm2, sm1+sm2)
//Parameters to change
lengthLookback = 425 //425 golden number
buyPercentile = 1
sellPercentile = 99
linePercentileLow = 2.5
linePercentileHigh = 97.5
buy = percentile_nearest_rank(chandeMO, lengthLookback, buyPercentile)
exitBuy= percentile_nearest_rank(chandeMO, lengthLookback, linePercentileHigh)
sell = percentile_nearest_rank(chandeMO, lengthLookback, sellPercentile)
exitSell = percentile_nearest_rank(chandeMO, lengthLookback, linePercentileLow)
chandeMA = sma(chandeMO, 9) //sma for potential other strategies implementing cross / trend
//Entry conditions
closeLongCondition = chandeMO > exitBuy ? true : false
closeShortCondition = chandeMO < exitSell ? true : false
longCondition = chandeMO < buy
shortCondition = chandeMO > sell
if (longCondition)
strategy.entry("long", strategy.long)
if (shortCondition)
strategy.entry("short", strategy.short)
//Introducing the closes and a stoploss will minimise loss and bring up the sharpe ratio
//Current settings are enabled for maximum potential but big risk
//strategy.close("long", when=(closeLongCondition == true))
//strategy.close("short", when=(closeShortCondition == true))