인비디아온어레이 - MetaTrader 5용 라이브러리
CVidyaOnArray 클래스는 인디케이터 버퍼를 사용하여 가변 인덱스 동적 평균 (VIDYA) 인디케이터의 값을 계산하도록 설계되었습니다.
애플리케이션:
인디케이터의 OnInit() 함수에서 매개 변수를 사용하여 Init() 메서드를 호출합니다:
- int aCMOPeriod - CMO 오실레이터의 주기;
- int aMAPeriod - 인디케이터의 주기.
인디케이터의 OnCalculate() 함수에서는 다음 매개 변수를 사용하여 Solve() 메서드가 호출됩니다:
- const int aRatesTotal - OnCalculate() 함수의 매개변수에서 rates_total 변수;
- const int aPrevCalc - OnCalculate() 함수의 매개변수에서 prev_calculated 변수;
- double & aData[] - 인디케이터 계산을 위한 데이터가 담긴 버퍼;
- double & aVIDYA[] - 인디케이터의 계산된 값.
추가 메서드
- int BarsRequired() - 인디케이터 계산을 위한 최소 바 개수를 반환합니다;
- string Name() - 인디케이터 이름이 포함된 문자열을 반환합니다;
Test_VidyaOnArray.mq5 파일은 CVidyaOnArray 클래스 사용 예제가 포함된 인디케이터입니다. IncVidyaOnArray 파일은 터미널 데이터 폴더의 MQL5\Include\IncOnArray 폴더에 위치해야 합니다(IncOnArray 폴더를 생성해야 함).
기술 지표 변수 지수 동적 평균 (VIDYA)은 투샤르 찬데가 개발한 것으로, 동적으로 변화하는 평균 주기로 지수 이동 평균(EMA) 을 계산하는 독창적인 방법입니다. 평균 주기는 시장 변동성에 따라 달라지며, 변동성을 측정하기 위해 Chande 모멘텀 오실레이터(CMO)가 선택되었습니다. 이 오실레이터는 특정 기간(CMO 기간) 동안 양수 증가분의 합과 음수 증가분의 합 사이의 비율을 측정합니다. CMO 값은 평활화 계수 EMA에 대한 계수로 사용됩니다. 따라서 VIDYA 표시기에는 CMO 오실레이터 기간과 지수 이동 평균 평활화 기간(EMA 기간)의 두 가지 설정 매개 변수가 있습니다.

MetaQuotes Ltd에서 러시아어로 번역함.
원본 코드: https://www.mql5.com/ru/code/636