차킨 오시일레이터 전략은 시장의 자본 흐름을 판단하고 트렌드 변화를 포착하기 위해 차킨 오시일레이터 지표를 사용합니다. 이 전략은 빠른 이동 평균과 느린 이동 평균을 결합하여 지표 곡선을 형성하여 곡선이 트렌드 라인을 넘을 때 구매하고 곡선이 아래를 넘을 때 판매하여 시장 트렌드를 추적합니다.
이 전략은 Chaikin 오시레이터 지표에 기반하고 있으며, 이 지표의 공식은 미흡한 오시레이터 문제를 해결하기 위해 개시 가격 대신 높은 가격과 낮은 가격의 평균을 사용하여 Williams 축적/분배 지표를 개선합니다.
Chaikin 오시레이터 = 축적/분배 지수의 빠른 EMA - 축적/분배 지수의 느린 EMA
축적/분배 지수는 다음과 같이 계산됩니다.
축적/분배 지수 = (폐기 - 개방) / (높은 - 낮은) * 부피
개시 가격은 없으므로 다음과 같이 계산됩니다.
축적/분배 지수 = (연결 - (최고 + 낮은) /2) / (최고 - 낮은) * 부피
이 지표는 Chaikin 오시일레이터로 지표의 빠른 EMA와 느린 EMA 사이의 차이를 사용합니다. 0 이상의 교차는 구매 신호를 나타냅니다. 0 이하의 교차는 판매 신호를 나타냅니다.
구체적인 논리는 다음과 같습니다.
이 전략의 장점은 다음과 같습니다.
이 전략의 위험은 다음과 같습니다.
위험은 매개 변수 최적화, 다른 지표와 결합 등을 통해 관리 될 수 있습니다.
이 전략을 개선 할 수있는 몇 가지 방법:
전체적으로 차킨 오시일레이터 전략은 상대적으로 안정적이고 신뢰할 수 있습니다. 미세한 조정 매개 변수는 수익성과 위험을 균형을 잡을 수 있습니다. 필터와 스톱 로스를 추가하면 안정성을 더욱 향상시킬 수 있습니다. 이 트렌드를 따르는 전략은 맞춤형 최적화로 만족스러운 결과를 얻을 수 있습니다.
/*backtest start: 2023-09-11 00:00:00 end: 2023-10-11 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 18/09/2017 // Indicator plots Money Flow Indicator (Chaikin). This indicator looks // to improve on Larry William's Accumulation Distribution formula that // compared the closing price with the opening price. In the early 1970's, // opening prices for stocks stopped being transmitted by the exchanges. // This made it difficult to calculate Williams' formula. The Chaikin // Oscillator uses the average price of the bar calculated as follows // (High + Low) /2 instead of the Open. // The indicator subtracts a 10 period exponential moving average of the // AccumDist function from a 3 period exponential moving average of the // AccumDist function. // // You can change long to short in the Input Settings // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// strategy(title="Money Flow Indicator (Chaikin Oscillator)", shorttitle="MFI") Fast = input(3, minval=1) Slow = input(10, minval=1) reverse = input(false, title="Trade reverse") hline(0, color=gray, linestyle=hline.style_dashed) lenMax = max(Fast, Slow) lenMin = min(Fast, Slow) xDiv = (high - low) * volume SumMax = sum(iff(xDiv > 0, (close - open) / (high - low) * volume , 0) , lenMax) SumMin = sum(iff(xDiv > 0, (close - open) / (high - low) * volume , 0) , lenMin) emaMax = ema(SumMax, lenMax) emaMin = ema(SumMin, lenMin) nRes = emaMax - emaMin pos = iff(nRes > 0, 1, iff(nRes < 0, -1, nz(pos[1], 0))) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) barcolor(possig == -1 ? red: possig == 1 ? green : blue ) plot(nRes, color=blue, title="RMI")