Friday 16 March 2018

이동 평균 필터 속도


Arduino 보드의 주요 응용 프로그램 중 하나는 센서 데이터를 읽고 로깅하는 것입니다. 예를 들어, 매일 초마다 압력을 모니터링합니다. 높은 샘플 속도로 인해 종종 그래프에 스파이크가 발생하기 때문에 측정 값의 평균을 원합니다. 우리가 자주 필요로하는 것은 시간이 지나치게 정적이 아닙니다. 실행 평균입니다. 이는 특정 기간의 평균이며 경향 분석을 할 때 매우 유용합니다. 실행 평균의 가장 간단한 형태는 이전 실행 평균을 기반으로 작성된 코드로 수행 할 수 있습니다. 부동 소수점 연산을 사용하고 싶습니다 - 이것은 메모리를 차지하고 속도를 줄이기 때문에 정수 영역에서 완전히 똑같이 할 수 있습니다. 샘플 코드에서 256으로 나눈 값은 시프트 오른쪽 8입니다. 100 이것은 디바이더로서의 2의 모든 힘에 해당하며 하나는 가중치의 합이 2의 거듭 제곱과 같은 경우에만 처리해야합니다. 물론 부호없는 long을 사용하여 중간 오버 플로우가 발생하지 않도록주의해야합니다. 마지막 10 개의 측정 결과와 관련하여 더 정확한 실행 평균이 필요합니다. 배열 또는 링크 된 목록이 필요합니다. 이 배열은 순환 버퍼로 작동하며 모든 새 측정에서 가장 오래된 것을 제거합니다. 실행 평균은 다음과 같이 계산됩니다. 배열의 요소 수로 나눈 모든 요소의 합계 실행 평균 코드는 this와 같습니다. 이 코드의 반환 값은 모든 값을 보유 할 배열이 상당히 커질 수 있다는 것입니다. 초당 하나의 측정 값이 있고 1 분당 평균 실행 평균을 원한다면 시간당 평균 60 개가 3600의 배열을 필요로합니다. Arduino에서는 2K의 RAM 만 있으므로이 방법으로는 수행 할 수 없었습니다. 그러나 2 단계 평균을 구축하면 접근 할 수 있습니다 아주 잘 면책 조항 모든 측정에 대한 가짜 코드. 새 내부 정적 배열이 모든 runningAverage 함수에 필요하므로 class. RunningAverage 라이브러리로 구현해야 비명을 지르고 있습니다. runningAverage 라이브러리는 클래스를 만듭니다. 위의 함수는 스케치에서 여러 번 사용할 수 있습니다. add 함수와 avg 함수를 좀 더 유연하게 분리합니다. 예를 들어 추가하지 않고 평균을 여러 번 호출 할 수 있습니다. 클래스의 모든 인스턴스는 이 배열을 사용하여 메모리 사용량을 늘릴 수 있습니다. 클래스의 인터페이스는 가능한 한 작게 유지됩니다. 버전 0과 함께 유의하십시오. 2 메소드의 이름은 모두 더 설명하기 쉽습니다. 사용 무작위 생성기는 센서를 모방하는 데 사용됩니다. 설정에서 myRA가 지워 지므로 새 데이터를 추가 할 수 있습니다. 루프에서 먼저 임의의 숫자가 생성되고 myRA에 추가 될 float로 변환됩니다. 그런 다음 runningAverage가 다음에 인쇄됩니다. 직렬 포트 하나는 LCD에 표시하거나 이더넷 등으로 보낼 수 있습니다. 300 개의 항목이 추가되면 myRA가 다시 시작됩니다. 라이브러리를 사용하려면 RunningAverage라는 이름으로 SKETCHBOOKPATH 라이브러리에 폴더를 만들고 h 및 거기 Opt 샘플을 배치하기 위해 샘플 하위 디렉토리를 ionally로 만듭니다 .2011-01-30 초기 버전 .011-02-28 h file.2011-02-28의 기본 소멸자가 누락되었습니다. trimValue Yuval Naveh가 발견 된 trimValue를 추가했습니다. web.2012-11-21 refactored.2012-12-30 게시를 위해 리팩토링 된 fillValue를 추가했습니다 .2014-07-03 메모리 보호 코드 추가 - 내부 배열을 할당 할 수없는 경우 크기가 0이됩니다. 여기에 설명 된 문제를 해결하는 것입니다. 광범위하게 테스트합니다. Template 클래스. 실행 평균 h. RunningAverage. Mover 평균. 이동 평균. 이동 평균은 현재 추세의 방향을 측정하는 데 사용됩니다. 이 자습서에서 MA로 일반적으로 쓰는 모든 유형의 이동 평균은 다음과 같은 수학적 결과입니다. 과거 데이터 포인트의 수를 평균하여 계산됩니다. 일단 결정되면, 거래자가 내재하는 일상적인 가격 변동에 집중하기보다 매끄러운 데이터를 볼 수 있도록 결과 평균을 차트에 그립니다. 모든 이동식 금융 시장. 간단한 이동 평균 SMA로 알려진 이동 평균의 가장 간단한 형식은 주어진 값 집합의 산술 평균을 취하여 계산됩니다. 예를 들어, 기본 10 일 이동 평균을 계산하려면 지난 10 일간 종가를 곱한 다음 결과를 10으로 나눕니다. 그림 1에서 지난 10 일간의 가격 합계 110을 일일 수로 나눠 10 일 평균에 도달했습니다. 대신 50 일 평균을 보려면 동일한 유형의 계산이 이루어 지지만 과거 50 일 동안의 가격이 포함됩니다. 11 이하의 결과 평균은 거래자에게 다음과 같은 아이디어를 제공하기 위해 지난 10 개의 데이터 요소를 고려합니다. 과거 10 일 동안 자산 가격이 책정 된 것입니다. 아마도 기술 거래자가이 도구를 이동 평균이 아니라 일반 평균이라고 부르는 이유가 궁금 할 것입니다. 새로운 값을 사용할 수있게되면 가장 오래된 데이터 지점이 세트 및 새 데이터 포인트 따라서 데이터 세트는 새로운 데이터가 사용 가능할 때 지속적으로 고려해야합니다. 이 계산 방법은 현재 정보 만 고려되도록합니다 (그림 2). 새 값인 5가 추가되면 이전 10 개의 데이터 포인트를 나타내는 빨간색 상자가 오른쪽으로 이동하고 15의 마지막 값이 계산에서 제외됩니다. 5의 비교적 작은 값이 15의 높은 값을 대체하기 때문에이 값의 평균을 볼 수 있습니다. 데이터 세트 감소, 11에서 10.이 경우 이동 평균은 어떻게 보입니까 MA의 값이 계산되면 차트에 그려지고 연결되어 움직이는 평균선을 만듭니다 이러한 커브 선 기술 거래자의 차트에서 흔히 볼 수 있지만 나중에 사용 방법이 크게 달라질 수 있습니다. 그림 3에서 볼 수 있듯이, 사용 된 기간 수를 조정하여 차트에 둘 이상의 이동 평균을 추가 할 수 있습니다 ~ 안에 계산이 커브 라인은 혼란스럽게 보일 수도 있지만, 시간이 지남에 따라 익숙해집니다. 빨간색 라인은 지난 50 일 동안의 평균 가격이며 파란색 라인은 지난 100 년 동안의 평균 가격입니다 이제 이동 평균이 무엇인지 알면, 다른 유형의 이동 평균을 소개하고 앞서 언급 한 단순 이동 평균과 다른 점을 조사 할 것입니다. 단순 이동 평균은 거래자들 사이에서 매우 인기가 있지만 모든 기술 지표와 마찬가지로 비판도 있습니다 많은 사람들은 데이터 계열의 각 지점이 시퀀스에서 발생하는 위치에 관계없이 동일하게 가중치를 부여하기 때문에 SMA의 유용성은 제한적이라고 주장합니다. 비평가는 가장 최근의 데이터가 이전 데이터보다 중요하며 최종 결과에 더 큰 영향을 미쳐야 함이 비판에 대한 응답으로 거래자는 최근 데이터에 더 많은 가중치를 부여하기 시작하여 새로운 평균의 다양한 유형의 발명, 지수 이동 평균 EMA가 가장 인기가 있습니다. 추가 정보는 가중 평균 이동 평균과 SMA와 EMA의 차이점을 참조하십시오. 지수 이동 평균 지수 이동 평균은 다음과 같습니다. 새로운 정보에보다 민감하게 반응하기 위해 최근 가격에 더 많은 가중치를주는 이동 평균 유형 EMA를 계산하기위한 다소 복잡한 방정식을 학습하는 것은 거의 모든 차트 작성 패키지가 계산을 수행하기 때문에 많은 거래자에게는 불필요 할 수 있습니다. 수학 괴짜 거기, 여기에 EMA 방정식입니다. 수식을 사용하여 EMA의 첫 번째 지점을 계산할 때 이전 EMA로 사용할 수있는 값이 없음을 알 수 있습니다. 이 작은 문제는 간단한 이동 평균으로 계산하고 위의 공식으로 계속 진행합니다. 실제 사례를 포함하는 샘플 스프레드 시트를 제공했습니다. 간단한 이동 평균과 지수 이동 평균을 계산하는 방법. EMA와 SMA의 차이점 이제 SMA와 EMA가 계산되는 방법을 더 잘 이해하게되었으므로이 평균이 어떻게 다른지 살펴 보겠습니다. EMA를 계산할 때 최근 데이터 요소에 중점을 두어 가중 평균을 취하는 것을 볼 수 있습니다. 그림 5에서 각 평균에 사용 된 기간 수는 동일하지만 EMA가 더 많은 응답을합니다 변화하는 가격으로 신속하게 가격이 상승 할 때 EMA가 더 높은 가치를 지니고 있으며 가격이 하락할 때 SMA보다 빠르다는 것을 주목하십시오. 이 응답은 많은 거래자가 SMA를 통해 EMA를 사용하는 것을 선호하는 주된 이유입니다. 다른 날 평균 이동 평균은 완전히 사용자 정의 할 수있는 지표입니다. 즉 평균을 생성 할 때 원하는 시간 프레임을 자유롭게 선택할 수 있습니다. 이동 평균에 사용되는 가장 일반적인 기간은 15, 2 0, 30, 50, 100 및 200 일 평균을 생성하는 데 사용되는 시간 간격이 짧을수록 변경 가격이 더 민감합니다. 시간 간격이 길수록 민감도가 낮아 지거나 평활 해지며 평균값이됩니다. 이동 평균을 설정할 때 사용할 적절한 시간대가 아닙니다. 어느 것이 가장 효과적인지 알아내는 가장 좋은 방법은 전략에 맞는 것을 찾을 때까지 여러 다른 기간을 실험하는 것입니다. 이동 평균 - MA. BREAKING DOWN Moving Average - MA. SMA 예를 들어, 15 일 동안 다음 종가가되는 증권을 고려하십시오. 주 1 5 일 20, 22, 24, 25, 23. 주 2 5 일 26, 28, 26, 29, 27 . 주 3 5 일 28 일, 30 일, 27 일, 29 일, 28 일. 첫 10 일 동안의 10 일간의 마감일 평균 가격은 첫 번째 데이터 포인트가됩니다. 다음 데이터 포인트는 가장 빠른 가격을 떨어 뜨리고, 11 일째에 평균치를 취하는 등 아래에 나와 있습니다. 이전에 언급했듯이, MA는 과거 가격을 기반으로하기 때문에 현재 가격 행동을 지연시킵니다. MA 시간주기가 길면 지연 시간이 길어집니다. 따라서 200 일 MA에는 지난 200 일 간의 가격이 포함되어 있기 때문에 20 일 MA보다 지연 정도가 훨씬 큽니다. 사용할 MA의 길이는 단기 트레이딩에 사용되는 짧은 MA와 장기 투자자에게 더 적합한 장기 MA를 가진 거래 목적 200 일 MA는 투자자와 트레이더가 널리 퍼져 있으며이 이동 평균의 위와 아래의 휴식은 중요한 거래로 간주됩니다 또한 MA는 중요한 거래 신호를 스스로 전달하거나 2 개의 평균이 교차 할 때 상승하는 MA는 보안이 상승 추세에있는 반면 하락하는 MA는 하락 추세에 있음을 나타냅니다. 마찬가지로 상승 곡선은 완만 한 크로스 오버로 확인됩니다 단기 MA가 장기 MA보다 높을 때 발생하는 하강 모멘텀은 단기 MA가 장기 MA보다 낮을 때 발생하는 약한 크로스 오버로 확인됩니다.

No comments:

Post a Comment