이동 평균 - 페이지 105

 
person77:
환상적 - 아주 잘 작동합니다! 정말 감사합니다.

큰 문제가 되지 않는다면 몇 가지 요청:

1. 4 MA가 모두 동기화되는 동안 가격이 후퇴하여 지정된 MA에 닿습니다.

(이 경우 두 번째로 짧은 MA, 빨간색 15 EMA ) 화살표와 경고가 생성되었으면 합니다.

그런 다음 짧은 신호를 찾기 위해 더 작은 1M 시간 프레임으로 변경합니다.

더 작은 1M 시간 프레임 백 테스팅에서 볼 위치(지점 A)를 쉽게 찾을 수 있도록 수평선과 수직선을 삽입합니다.

2. 4ma synch indy에 히스토그램 막대를 표시하기 위해 동기화할 2개 또는 3개의 ma를 찾도록 요청할 수 있습니까? (여기서 하려는 작업은 1m 조건 첨부 파일을 참조하세요.)

사람77

이 지표가 가격 접촉을 보여주도록 설계되거나 예측되지 않은 것 같습니다. 또한 정확히 그런 종류의 일을 하고 있는 좋은 지표가 이미 있다고 확신합니다.

2 및 3 mas 버전: "if (ma1<ma2 && ma2<3" ... 등)와 같은 비교가 표시되는 코드에서 ""를 "="로 바꾼 다음 2 mas를 설정합니다. 3개의 다른 질량 또는 2개의 질량 쌍에 대해 동일한 값으로 표시기에 의해 2개의 질량을 갖는 동일한 값으로

 

믈라덴

제안해 주셔서 감사합니다.

내 코딩은 쓸모가 없습니다!

> 및 <를 =로 변경했지만 컴파일할 때 약간의 오류가 발생했습니다.

다르게 하려면 어떻게 해야 합니까?

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

#재산 저작권 "www.forex-tsd.com"

#속성 링크 "www.forex-tsd.com"

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

#속성 표시기_분리_창

#속성 표시기_버퍼 2

#property indicator_color1 라임그린

#property indicator_color2 다크오렌지

#속성 표시기_너비1 2

#속성 표시기_너비2 2

#속성 표시기_최소 0

#속성 표시기_최대 1

extern int Ma1Period = 5;

extern int Ma1Price = PRICE_CLOSE;

extern int Ma1Method = MODE_EMA;

외부 정수 Ma1Shift = 0;

extern int Ma2Period = 15;

외부 정수 Ma2Price = PRICE_CLOSE;

extern int Ma2Method = MODE_EMA;

외부 정수 Ma2Shift = 0;

extern int Ma3Period = 28;

extern int Ma3Price = PRICE_CLOSE;

extern int Ma3Method = MODE_EMA;

외부 정수 Ma3Shift = 0;

extern int Ma4Period = 45;

extern int Ma4Price = PRICE_CLOSE;

extern int Ma4Method = MODE_EMA;

외부 정수 Ma4Shift = 0;

//

//

//

//

//

이중 히스투[];

이중 histd[];

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

//

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

//

//

//

//

//

정수 초기화()

{

SetIndexBuffer(0, 히스투); SetIndexStyle(0,DRAW_HISTOGRAM);

SetIndexBuffer(1,히스트d); SetIndexStyle(1,DRAW_HISTOGRAM);

리턴(0);

}

int deinit() { 반환(0); }

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

//

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

//

//

//

//

//

정수 시작()

{

정수 counted_bars = IndicatorCounted();

if (counted_bars < 0) return(-1);

if (counted_bars > 0) counted_bars--;

int limit = MathMin(바-카운트된_바,바-1);

//

//

//

//

//

for(int i = 한계; i >=0; i--)

{

이중 ma1 = iMA(NULL,0,Ma1Period,Ma1Shift,Ma1Method,Ma1Price,i);

이중 ma2 = iMA(NULL,0,Ma2Period,Ma2Shift,Ma2Method,Ma2Price,i);

이중 ma3 = iMA(NULL,0,Ma3Period,Ma3Shift,Ma3Method,Ma3Price,i);

이중 ma4 = iMA(NULL,0,Ma4Period,Ma4Shift,Ma4Method,Ma4Price,i);

조직 = EMPTY_VALUE ;

histd = EMPTY_VALUE;

if ( ma1=ma2 && ma2=ma3 && ma3>ma4) histu = 1;

if ( ma1=ma2 && ma2=ma3 && ma3<ma4) histd = 1;

}

반환(0);

}

 

안녕

MA를 사용하는 renko chart 2min은 어떻습니까?

미리 감사합니다

 
person77:
믈라덴

제안해 주셔서 감사합니다.

내 코딩은 쓸모가 없습니다!

> 및 <를 =로 변경했지만 컴파일할 때 약간의 오류가 발생했습니다.

다르게 하려면 어떻게 해야 합니까?

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

#재산 저작권 "www.forex-tsd.com"

#속성 링크 "www.forex-tsd.com"

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

#속성 표시기_분리_창

#속성 표시기_버퍼 2

#property indicator_color1 라임그린

#property indicator_color2 다크오렌지

#속성 표시기_너비1 2

#속성 표시기_너비2 2

#속성 표시기_최소 0

#속성 표시기_최대 1

extern int Ma1Period = 5;

extern int Ma1Price = PRICE_CLOSE;

extern int Ma1Method = MODE_EMA;

외부 정수 Ma1Shift = 0;

extern int Ma2Period = 15;

외부 정수 Ma2Price = PRICE_CLOSE;

extern int Ma2Method = MODE_EMA;

외부 정수 Ma2Shift = 0;

extern int Ma3Period = 28;

extern int Ma3Price = PRICE_CLOSE;

extern int Ma3Method = MODE_EMA;

외부 정수 Ma3Shift = 0;

extern int Ma4Period = 45;

extern int Ma4Price = PRICE_CLOSE;

extern int Ma4Method = MODE_EMA;

외부 정수 Ma4Shift = 0;

//

//

//

//

//

이중 히스투[];

이중 histd[];

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

//

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

//

//

//

//

//

정수 초기화()

{

SetIndexBuffer(0, 히스투); SetIndexStyle(0,DRAW_HISTOGRAM);

SetIndexBuffer(1,히스트d); SetIndexStyle(1,DRAW_HISTOGRAM);

리턴(0);

}

int deinit() { 반환(0); }

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

//

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

//

//

//

//

//

정수 시작()

{

정수 counted_bars = IndicatorCounted();

if (counted_bars < 0) return(-1);

if (counted_bars > 0) counted_bars--;

int limit = MathMin(바-카운트된_바,바-1);

//

//

//

//

//

for(int i = 한계; i >=0; i--)

{

이중 ma1 = iMA(NULL,0,Ma1Period,Ma1Shift,Ma1Method,Ma1Price,i);

이중 ma2 = iMA(NULL,0,Ma2Period,Ma2Shift,Ma2Method,Ma2Price,i);

이중 ma3 = iMA(NULL,0,Ma3Period,Ma3Shift,Ma3Method,Ma3Price,i);

이중 ma4 = iMA(NULL,0,Ma4Period,Ma4Shift,Ma4Method,Ma4Price,i);

조직 = EMPTY_VALUE;

histd = EMPTY_VALUE;

if ( ma1=ma2 && ma2=ma3 && ma3>ma4) histu = 1;

if ( ma1=ma2 && ma2=ma3 && ma3<ma4) histd = 1;

}

리턴(0);

}

사람77

"<"를 ""로 바꿔야 합니다("="가 아니라 ">=").

_____________________

추신: 2개의 MA가 항상 동기화되어 있다는 사실을 잊어버렸습니다.

 

완벽하게 작동합니다!

감사합니다.

 

카우프만 적응 이동 평균

Kaufman 적응 이동 평균(Alexander Geter 작성)

Kaufman 적응 이동 평균(KAMA)은 Perry Kaufman이 작성했으며 그의 책 Smarter Trading(1995)에서 처음 제시되었습니다.

Formulas:

KAMA = KAMA+sc*(가격-KAMA), 여기서

sc = (er*0.6015+0.0645)*(er*0.6015+0.0645),

er = Abs(가격-가격)/Sum1,

Sum1 = (i-Length+1)에서 i까지의 Sum(Abs(가격-가격)).

파일:
kama.mq4  2 kb
 

두 가지 버전의 선형 회귀 (같은 작성자)

 

사전 필터링된 Kaufman AMA

다른 일을 위해 Kaufman AMA(적응 이동 평균)를 준비하고 여기에 매우 단순화된 사용 방법이 있는 한 가지 버전이 있습니다(ama 계산은 이제 기능 이 되었습니다). 필터링당 가격도 가질 수 있습니다(원가를 사용하는 대신 필터링된 가격을 사용할 수 있습니다(필터링을 설정하려면 PriceFilter를 1로 설정).

 

MA28(Alexander Geter 제작)

파일:
ma28.mq4  4 kb
ma28.png  83 kb
 

표시기를 다중 시간 프레임으로 만들 수 있습니까? 감사하다

mladen:
다른 일을 위해 Kaufman AMA(적응 이동 평균)를 준비하고 여기에 매우 단순화된 사용 방법이 있는 한 가지 버전이 있습니다(ama 계산은 이제 기능이 되었습니다). 필터링당 가격도 가질 수 있습니다(원가를 사용하는 대신 필터링된 가격을 사용할 수 있습니다(필터링을 설정하려면 PriceFilter를 1로 설정).