T3 - 페이지 30

 

예, 2 x ATR을 추가하기만 하면 됩니다.

 
sohocool:
안녕 믈라덴

어댑티브 헐 무빙 애버리지 V2를 할 수 있다고 생각하십니까 ???

소수점 이하 자릿수가 작동하는 것 같습니다.

문안 인사

Hull은 LWMA를 기반으로 하며 LWMA는 엄격하게 막대 기반이기 때문에 EMA 기반의 것만큼 변경이 원활하지 않을 것입니다(예: HULL을 얻기 위해 계산된 3개의 LWMA의 하위 기간은 정수 값이어야 함). 선체의 LWMA를 EMA로 교체하면 시도해 볼 가치가 있을 것입니다(그리고 계산된 하위 기간 의 반올림을 피한다면). 더 이상 HULL이 아닌 것은 사실이지만 아마도 좋은 것이 될 것이며 적응하기에 완벽 할 것입니다.

 
mladen:
Hull은 LWMA를 기반으로 하며 LWMA는 엄격하게 막대 기반이기 때문에 EMA 기반의 것만큼 변경이 원활하지 않습니다(HULL을 얻기 위해 계산된 3개의 LWMA의 하위 기간은 정수 값이어야 함). 선체의 LWMA를 EMA로 교체하면 한 번 시도해 볼 가치가 있을 것입니다(그리고 계산된 하위 기간의 반올림을 피한다면). 더 이상 HULL이 아닌 것은 사실이지만 아마도 좋은 것이 될 것이며 적응하기에 완벽 할 것입니다.

감사합니다. Ema와 함께 하려고 합니다.

 
sohocool:
감사합니다. Ema와 함께 하려고 합니다.

마침표를 정수 값으로 반올림하므로 내장 iMA()를 사용하지 마십시오.

기능 (또는 이와 유사한 것)을 사용하십시오.

//------------------------------------------------------------------

//

//------------------------------------------------------------------

//

//

//

//

//

double workEma[][3];

double iEma(double price, double period, int r, int instanceNo=0)

{

if (ArrayRange(workEma,0)!= Bars) ArrayResize(workEma,Bars); r = Bars-r-1;

//

//

//

//

//

double alpha = 2.0 / (1.0+period);

workEma[r] = workEma[r-1]+alpha*(price-workEma[r-1]);

return(workEma[r]);

}

3가지 다른 계산 사례에서. 매개변수는 단순합니다: 가격, 기간, 인덱스 및 인스턴스 번호

 
mladen:
마침표를 정수 값으로 반올림하므로 내장 iMA()를 사용하지 마십시오.

이 기능(또는 이와 유사한 것)을 사용하십시오.

//------------------------------------------------------------------

//

//------------------------------------------------------------------

//

//

//

//

//

double workEma[][3];

double iEma(double price, double period, int r, int instanceNo=0)

{

if (ArrayRange(workEma,0)!= Bars) ArrayResize(workEma,Bars); r = Bars-r-1;

//

//

//

//

//

double alpha = 2.0 / (1.0+period);

workEma[r] = workEma[r-1]+alpha*(price-workEma[r-1]);

return(workEma[r]);

}

3가지 다른 계산 사례에서. 매개변수는 단순합니다: 가격, 기간, 인덱스 및 인스턴스 번호

여기에 지우고 붙여넣어야 하나요???

이중 iT3(더블 가격, 이중 마침표, 이중 핫, bool clean, int i, int instanceNo=0)

{

if (ArrayRange(workT3,0) !=Bars) ArrayResize(workT3,Bars);

if (ArrayRange(workT3Coeffs,0) < (instanceNo+1)) ArrayResize(workT3Coeffs,instanceNo+1);

if (workT3Coeffs[_period] != 마침표)

{

workT3Coeffs[_period] = 기간;

더블 a = 뜨겁다;

workT3Coeffs[_c1] = -a*a*a;

작업T3Coeffs[_c2] = 3*a*a+3*a*a*a;

workT3Coeffs[_c3] = -6*a*a-3*a-3*a*a*a;

작업T3Coeffs[_c4] = 1+3*a+a*a*a+3*a*a;

만약 (깨끗한)

workT3Coeffs[_alpha] = 2.0/(2.0 + (마침표-1.0)/2.0);

else workT3Coeffs[_alpha] = (MathCos(2*Pi/period)+MathSin(2*Pi/period)-1)/MathCos(2*Pi/period);

}

 
sohocool:
여기에 지우고 붙여넣어야 하나요???

이중 iT3(더블 가격, 이중 마침표, 이중 핫, bool clean, int i, int instanceNo=0)

{

if (ArrayRange(workT3,0) !=Bars) ArrayResize(workT3,Bars);

if (ArrayRange(workT3Coeffs,0) < (instanceNo+1)) ArrayResize(workT3Coeffs,instanceNo+1);

if (workT3Coeffs[_period] != 마침표)

{

workT3Coeffs[_period] = 기간;

더블 a = 뜨겁다;

workT3Coeffs[_c1] = -a*a*a;

작업T3Coeffs[_c2] = 3*a*a+3*a*a*a;

workT3Coeffs[_c3] = -6*a*a-3*a-3*a*a*a;

작업T3Coeffs[_c4] = 1+3*a+a*a*a+3*a*a;

만약 (깨끗한)

workT3Coeffs[_alpha] = 2.0/(2.0 + (마침표-1.0)/2.0);

else workT3Coeffs[_alpha] = (MathCos(2*Pi/period)+MathSin(2*Pi/period)-1)/MathCos(2*Pi/period);

}

소호쿨

가능한 한 버전을 게시했습니다(아직 적응형 버전이 아님): https://www.mql5.com/en/forum/174961/page10

이제 적응형으로 만들어야 합니다(결국 그것은 당신의 아이디어였습니다)

 
sohocool:
안녕 믈라덴

적응 기능은 매우 흥미 롭습니다.

저는 "Swiss Army" Alpha로 적응형 T3를 했습니다.

클린 또는 스위스 아미의 2가지 알파를 선택할 수 있습니다.

문안 인사.

추신: 정상적인 알파 기간을 원하는 경우 깨끗한 알파를 사용할 수 있습니다. 2 x 기간

안녕하세요 여러분,

방금 ATR 채널을 추가했습니다.

 
mladen:
적응을 위해 표준 편차를 사용하는 T3 표시기(T3은 계산 길이가 정수일 필요가 없기 때문에 적응에 매우 좋습니다. 예를 들어 nnn.5 T3를 계산할 수 있습니다. 적응이 되더라도 완벽하게 부드러운 T3 값을 제공합니다. 다른 평균 유형이 적용되는 경우가 아닌 적용됨)

추신: 소스 컴파일에 문제가 있을 수 있는 사람들을 위해 ex4도 첨부합니다. 표시기는 첫 글자부터 마지막 글자까지 내가 쓴 것이지만, 내 빌드는 한동안 컴파일을 거부했습니다. 이제 갑자기 문제 없이 컴파일되므로 다른 사람도 나와 같은 문제를 겪지 않을 것이라고 확신할 수 없습니다. 이 경우 ex4를 다운로드하십시오(빌드 500으로 빌드됨).

추신: "일반" T3 지표와 비교할 때 T3Original을 false로 설정합니다(대부분의 T3 지표는 원래 Tim Tillson 계산이 아닌 Fulks/Matulich 계산을 사용하기 때문에)

친애하는 믈라덴

붙은 지표를 '적응형 T3계산'으로 변환하면 되지 않을까요!

도움을 주셔서 감사합니다.

비밀 코드

파일:
ma_i-ca.mq4  2 kb
 
secretcode:
친애하는 믈라덴

붙은 지표를 '적응형 T3계산'으로 변환하면 되지 않을까요!

도움을 주셔서 감사합니다.

비밀 코드

비밀 코드

여기 당신이 간다 원래 지표와 동일한 기본 매개변수 를 사용합니다(쉽게 비교할 수 있도록 - 예상대로 이 매개변수가 훨씬 빠름).

파일:
 

안녕 믈라덴

가격을 평활화하거나 시장 사이클에 적응하는 등의 아름다운 코딩 방법을 수집하는 라이브러리 파일을 만들 생각을 한 적이 있습니까? 나는 그러한 파일이 여러 면에서 매우 유용할 것이라고 생각합니다. 최소한 많은 지표의 코딩 구조를 더 깨끗하고 명확하게 만드십시오(그들은 이미 매우 깨끗하고 분명합니다. 저는 알고 있습니다. 그러나 항상 더 나은 것을 원하고 더 나은 것을 찾으십시오).

나는 개인적으로 유명한 DynamicZone.dll과 같은 lib 파일을 갖고 싶어합니다. 그들 모두는 적어도 나에게 코딩 세계를 점점 더 흥미롭고 편리하게 만듭니다.