Очень много индикаторов используют для рассчета своих значений так называемый "период". Обычно это количество баров которое учавствует в расчете очередного значения. Возьмем например RSI. Если очень грубо - этот индикатор показывает отношение длинны "пробега" цены вверх по отношению к аналогичной длине пробега цены вниз. При очень маленьких периодах получается жуткая болтанка, при очень длинных - нечто слабопульсирующее около нуля. Однако рынок не всегда равномерен. Точнее всегда не равномерен. После выхода новостей смены торговых сессий да еще на коротких таймах, чтобы поймать все движения период нужно выбирать не очень большой. С другой стороны во время длинного "затяжного" тренда (или флэта) этот период вполне разумно увеличить чтобы отслеживать тенденцию самого тренда, а не колебаний внутри его канала.
Кто нибудь пробовал строить индикаторы которые сами адаптируют длину периода под меняющиеся условия? Вот, например "здесь", когда какойто другой индикатор (или какието вычисления внутри текущего индикатора) в таком то диапазоне мы пропорционально сокращаем длинну перода для этого бара, а при таких то условиях (уже на другом баре) - наоборот увеличиваем.
Если да - то какие получались результаты? да и вообще - есть ли здравое зерно в этой идее (автоподстройки длинны периода)?
기준 고조파와의 상관관계를 통해 이를 시도했는데,
그러나 때때로 기간이 급격히 점프한 다음 원래 기간으로 돌아가 전체 그림을 망칠 때가 있습니다.
게다가 이 방법은 실시간으로 계속 사용할 수 있는 경우 매우 길며 테스터 및 최적화 중에 완전합니다.
글쎄, 일반적으로 주제는 유망합니다.
Очень много индикаторов используют для рассчета своих значений так называемый "период". Обычно это количество баров которое учавствует в расчете очередного значения. Возьмем например RSI. Если очень грубо - этот индикатор показывает отношение длинны "пробега" цены вверх по отношению к аналогичной длине пробега цены вниз. При очень маленьких периодах получается жуткая болтанка, при очень длинных - нечто слабопульсирующее около нуля. Однако рынок не всегда равномерен. Точнее всегда не равномерен. После выхода новостей смены торговых сессий да еще на коротких таймах, чтобы поймать все движения период нужно выбирать не очень большой. С другой стороны во время длинного "затяжного" тренда (или флэта) этот период вполне разумно увеличить чтобы отслеживать тенденцию самого тренда, а не колебаний внутри его канала.
Кто нибудь пробовал строить индикаторы которые сами адаптируют длину периода под меняющиеся условия? Вот, например "здесь", когда какойто другой индикатор (или какието вычисления внутри текущего индикатора) в таком то диапазоне мы пропорционально сокращаем длинну перода для этого бара, а при таких то условиях (уже на другом баре) - наоборот увеличиваем.
Если да - то какие получались результаты? да и вообще - есть ли здравое зерно в этой идее (автоподстройки длинны периода)?
예, 시도했습니다. 여러 번 그리고 다른 방식으로. 결과는 확실히 향상되었지만(표준 응용 프로그램의 경우) 여전히 동일하지 않습니다. 썼다 - 문어에 대한 연미복을 입어보고 있습니다. tk. BP는 일련의 펄스가 아니라 고려됩니다. 예를 들어 다음은 매우 간단한 방법입니다(데이터베이스에 이미 배치된 방법 제외): 막대의 범위가 지정된 임계값보다 작으면 표시기 기간이 1만큼 증가합니다. 즉, 샘플의 길이는 ktr 단위의 세그먼트 길이와 같습니다. 중요한(임계값보다 큰 범위) 막대가 있습니다. 물론 조건은 (물론 논리적으로) 가장 다양합니다.
이것은 예를 들어 RSI가 샘플에 대한 이 기본 선택에 따라 표시되는 방식입니다. 범위가 2pp 이상인 막대가 선택됩니다. (기간은 필요한 최소값에 도달할 때까지 증가합니다. 기간은 위에서부터 14에서 33까지의 설정된 매개변수에 의해 제한됩니다(파란색 - 일반 RSI, 빨간색 - 임계값 포함). 아래 창은 기간이 어떻게 변경되었는지 보여줍니다.
0 번째 창을 보지 마십시오. 칠면조를 지우지 않았습니다. 그는 그것과 아무 관련이 없습니다. // ))) 계수를 통한 주기별 적응도 사용되지만. EMA
네. 그러나 - 나는 반복합니다 - 이것은 아무것도 아닌 것보다 낫지 만 ...)))
그건 그렇고, 누군가가 알지 못했다면 예를 들어 소위가 있습니다. DMI(Dynamic Momentum Index), 여기서 RSI 기간도 변경되지만 RMS에 따라 다릅니다. Williams and Chand에서 설명을 볼 수 있습니다.
===
그리고 내가 설명한 간단한 접근 방식은 샘플 길이가 있는 모든 곳에 적용될 수 있습니다. 더 복잡한 것이 필요한 경우 특수 제어 표시기인 MsterSlave가 있습니다(데이터베이스 참조).
============
그리고 여기에서 기간 길이의 상한선은 실질적으로 무제한입니다. 저것들. RSI 기간은 2pp 이상의 범위에서 14개의 막대에 도달할 때까지 증가합니다. 보시다시피, 일반적으로 주어진 악기와 TF에 100개의 막대가 있으면 충분합니다. 즉, 기간은 100개 막대를 초과하지 않습니다.

그러나 하나의 불확실성을 다른 불확실성으로 대체 하면 분명히 질적 결과를 얻지 못할 것입니다. 팬케이크, 거의 철학, 모든 과학의 어머니로 밝혀졌습니다.
응답해 주신 모든 분들께 감사드립니다 - 소화하려고 \ 생각\ 뭔가를 생각해 보겠습니다.
기간 적응 지표는 이미 시스템의 일부와 거래 아이디어를 해당 코드로 전송한 것입니다. 저것들. 타이밍은 지표에 의존하지 않고 거래 아이디어에 의존하며 지표는 단지 가격 변화입니다.
TA는 시장에서 객관적으로 진행 중인 프로세스를 식별하고 아직 끝나지 않은 동안 사용할 수 있도록 하려고 합니다. 저것들. 프로세스는 초기 단계이며 차트의 이벤트는 현재 개발 단계를 적시에 식별할 수 있는 기회입니다. 이 tz에서. 적응성을 위해서는 기간의 값이 아니라 새로운 기준점을 계산해야 합니다. 저것들. 특정 이벤트 TA(고장, 충동 등)가 있습니다. - 카운트다운이 시작되는 새로운 순간이 있습니다. 사실 이것은 새로운 기준점입니다. 표시기는 기준점에서 현재 시간의 오프셋과 동일한 기간으로 적응형 창에서 계산됩니다. 새 기준점이 식별되면 이 기준점에서 기간이 계산됩니다. 비록 m.b. 유용한 옵션은 새로운 TA 이벤트가 발생할 때 표시기 기간이 기본 값이 되는 경우입니다. 이는 실제로 이 이벤트 자체의 형성 가격을 캡처하는 것을 의미합니다. 또는 표시기 기간을 계산하려면 인접한 TA 이벤트 사이의 시간을 사용합니다.
나는 전문가들의 대화에 끼어들어 내 요리법을 기고하기로 했다. 지난 몇 년 동안 저는 적응적으로 변화하는 매개변수를 사용하여 거의 모든 지표를 만들어 왔습니다. 프리미티브 솔루션은 시장에서 통하지 않고, 오래전부터 이런 결론을 내렸고, 완전 적응형 시스템을 만든다는 아이디어를 오랫동안 키워왔지만 아직 손이 닿지 않고, 지표에서 별도의 적응 조각을 만들고 있습니다. 예를 들어 마지막 표시기의 일부를 제공할 수 있습니다. 일반적으로 표시기는 여러 기능 블록으로 구성되며 각 블록은 고유한 대상 신호를 생성하며 총 24개의 신호가 있으며 채널을 형성하는 블록은 하나만 제공합니다. 나는 아직 변경 시간 및 도구에 대한 자동 조정을 수행하지 않았으므로 각 옵션에 대해 매개 변수의 개별 조정을 수행해야 합니다.
//===================================================================================================================================== extern int PIB= 33 ; extern int PIS= 37 ; extern double PMB= 3.98 ; extern double PMS= 3.98 ; //==================================================================================================================================== //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { PPB= NormalizeDouble (PIB* Point , Digits ); PPS= NormalizeDouble (PIS* Point , Digits ); PMB= NormalizeDouble (PMB* Point , Digits ); PMS= NormalizeDouble (PMS* Point , Digits ); }전문가 시작 기능:
PR= NormalizeDouble ((High[ 1 ]-Low[ 1 ])+(High[ 2 ]-Low[ 2 ])+(High[ 3 ]-Low[ 3 ])+(High[ 4 ]-Low[ 4 ])+(High[ 5 ]-Low[ 5 ])+(High[ 6 ]-Low[ 6 ])+(High[ 7 ]-Low[ 7 ]), Digits ); PRB= NormalizeDouble (PMB/PR, Digits ); PRS= NormalizeDouble (PMS/PR, Digits ); BTH[ 0 ]=High[ 0 ]-PR/ 17 -PRB/ 2 ; if (( MathAbs (BTH[ 0 ]-BTH[ 1 ])<=PPB)) BTH[ 0 ]=BTH[ 1 ]; BTC[ 0 ]=Close[ 0 ]-PR/ 10 ; if (( MathAbs (BTC[ 0 ]-BTC[ 1 ])<=PPB)) BTC[ 0 ]=BTC[ 1 ]; BTC[ 0 ]= 0.4 *BTC[ 0 ]+ 0.6 *BTC[ 1 ]; BTL[ 0 ]=Low[ 0 ]-PR/ 17 +PRB/ 2 ; if (( MathAbs (BTL[ 0 ]-BTL[ 1 ])<=PPB)) BTL[ 0 ]=BTL[ 1 ]; STH[ 0 ]=High[ 0 ]+PR/ 17 -PRS/ 2 ; if (( MathAbs (STH[ 0 ]-STH[ 1 ])<=PPS)) STH[ 0 ]=STH[ 1 ]; STC[ 0 ]=Close[ 0 ]+PR/ 10 ; if (( MathAbs (STC[ 0 ]-STC[ 1 ])<=PPS)) STC[ 0 ]=STC[ 1 ]; STC[ 0 ]= 0.4 *STC[ 0 ]+ 0.6 *STC[ 1 ]; STL[ 0 ]=Low[ 0 ]+PR/ 17 +PRS/ 2 ; if (( MathAbs (STL[ 0 ]-STL[ 1 ])<=PPS)) STL[ 0 ]=STL[ 1 ];보시다시피 채널 매개변수는 마지막 몇 개 막대의 평균 동적 표시기에 따라 적응적으로 조정됩니다.
결과는 다음 그림입니다.

VTH - 파란색, BTC - 노란색, BTL - 분홍색, STH - 파란색, STC - 빨간색, STL - 보라색;
물론 이것은 또한 단순화 된 접근 방식입니다. 시장의 변화하는 단계에보다 정확하게 적응하려면 더 복잡한 솔루션이 필요하지만 그럼에도 불구하고이 옵션은 지표의 특성을 크게 향상시킵니다.
기간의 길이를 변화하는 조건에 적응시키는 지표를 구축하려고 시도한 사람이 있습니까? 여기, 예를 들어 "여기"가 그러한 범위에 있는 다른 표시기(또는 현재 표시기 내부의 일부 계산)가 있을 때 이 막대의 기간 길이를 비례적으로 단축하고 이와 같은 조건에서(이미 다른 막대에서 ) 반대로 증가시킵니다.
그렇다면 결과는 무엇이었습니까? 그리고 일반적으로 - 이 아이디어에 건전한 입자가 있습니까(주기 길이의 자동 조정)?