[ARCHIVE] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 5. - 페이지 202

 
hoz :


음, 우선 필요한 곳에 대괄호를 삽입하는 데 익숙해지십시오. 그런 것:

이 초 또는 심지어 1분에도 틱이 없을 수 있으므로 초가 없고 Minute() < 5이고 여는 것을 제한하는 것이 좋습니다: if( OrdersTotal < 1) 또는 필요한 만큼!
 

표준 이동 평균 표시기의 코드를 보고 있습니다.

나는 기능에 도착했다 :

 //+------------------------------------------------------------------+
//| Exponential Moving Average                                       |
//+------------------------------------------------------------------+
void ema()
  {
   double pr= 2.0 /(MA_Period+ 1 );
   int     pos= Bars - 2 ;
   if (ExtCountedBars> 2 ) pos= Bars -ExtCountedBars- 1 ;
//---- main calculation loop
   while (pos>= 0 )
     {
       if (pos== Bars - 2 ) ExtMapBuffer[pos+ 1 ]=Close[pos+ 1 ];
      ExtMapBuffer[pos]=Close[pos]*pr+ExtMapBuffer[pos+ 1 ]*( 1 -pr);
           pos--;
     }
  }

pr 변수는 단지 불도저에서 가져온 계수입니까? 왜 정확히 2.0 /(MA_Period+1) 입니까?

그러면 2개의 막대가 계산되지 않은 경우에만 계산이 발생하는 것을 알 수 있습니다. 다시, 논리는 어디에 있습니까?

물론 여기:

ExtMapBuffer[pos]=Close[pos]*pr+ExtMapBuffer[pos+ 1 ]*( 1 -pr);

마지막 2개 종가의 합계에 배당률을 곱한 값입니다. 왜 그런 겁니까? 여기에 논리가 무엇입니까? 마지막 가격에 pr 을 곱하고 끝에서 두 번째 가격에 (1-pr) 을 곱했습니다.

그것은 무엇을 제공합니까? 기계를 만드는 원리를 철저히 이해하고 싶고,

 
hoz :

표준 이동 평균 표시기의 코드를 보고 있습니다.

나는 기능에 도착했다 :

pr 변수는 단지 불도저에서 가져온 계수입니까? 왜 정확히 2.0 /(MA_Period+1) 입니까?

그러면 2개의 막대가 계산되지 않은 경우에만 계산이 발생하는 것을 알 수 있습니다. 다시, 논리는 어디에 있습니까?

물론 여기:

마지막 2개 종가의 합계에 배당률을 곱한 값입니다. 왜 그런 겁니까? 여기에 논리가 무엇입니까? 마지막 가격에 pr 을 곱하고 끝에서 두 번째 가격에 (1-pr) 을 곱했습니다.

그것은 무엇을 제공합니까? 기계를 만드는 원리를 철저히 이해하고 싶고,

Victor, pr 에 숫자 값을 대입하여 실험하십시오. MA 기간 = 19인 경우 2.0 /(MA_Period+1) = 0.1 및 (1-pr) = 0.9라고 가정해 보겠습니다. 여기에서 춤을!
 
borilunad :
Victor, pr 에 숫자 값을 대입하여 실험합니다. MA 기간 = 19인 경우 2.0 /(MA_Period+1) = 0.1 및 (1-pr) = 0.9라고 가정해 보겠습니다. 여기에서 춤을!

보리스, 그래서 종이 한 장에 완충재 두어 개를 그렸습니다. 뭔가 이상하게 나옵니다. 그러나 나는 이런 식으로 자동차가 과거로 밀리는 것을 알아차렸습니다. 저것들. 현재 종가가 이면 더 낮은 값을 가집니다. 가격이 지속적으로 상승하는 경우입니다. 그리고 반대 방향이면 다른 방향으로 더 빠르게 움직입니다. 여기에는 방법이 있고 논리가 있습니다.
[삭제]  
hoz :

보리스, 그래서 종이 한 장에 완충재 두어 개를 그렸습니다. 뭔가 이상하게 나옵니다. 그러나 나는 이런 식으로 자동차가 과거에 대해 압박을 받는다는 것을 알아차렸습니다. 저것들. 현재 종가보다 낮은 가치를 가지고 있습니다. 가격이 지속적으로 상승하는 경우입니다. 그리고 반대 방향이면 다른 방향으로 더 빠르게 움직입니다. 여기에는 방법이 있고 논리가 있습니다.

마지막 2개 종가 의 합....오류 - 종가를 평균값에 더합니다.
[삭제]  
YOUNGA :

마지막 2개 종가의 합계 값.... 올바르지 않음 - 종가가 평균 값에 추가됨
그러나 일반적으로 인터넷에서 지수 평활을 찾는 것이 정상입니다 - 설명
 
YOUNGA :

마지막 2개 종가의 합계 값.... 올바르지 않음 - 종가가 평균 값에 추가됨


그래, 그게 내 말이었다. 그러나 그것은 정확히 마지막 값 사이의 pr 분포입니다. 마지막 종가 와 평균값 즉. 마지막으로 받은 버퍼가 완전히 깨끗하지 않습니다.

 
YOUNGA :


이제 EURJPY와 USDJPY의 각 쌍에 대해 하나의 로트를 열면 많은 EURUSD를 얻을 수 있고 유로달러 가격의 1포인트 변동에 대해 합성 "유로달러"( EURJPY / USDJPY ) 상관 관계가 있으므로


문제는 EURJPY와 USDJPY의 한 로트가 동등한 위치가 아니라는 것입니다. 따라서 다음과 같은 일이 발생합니다(다른 방향으로 문을 연 것 같죠?): 100,000 EUR - 100,000 USD = 100,000 USD * (EUR / USD -1). 즉, 달러로 표시된 거래의 결과는 EURUSD 쌍에서 1을 뺀 값에 정비례합니다.
 
YOUNGA :
그러나 일반적으로 인터넷에서 지수 평활을 찾는 것이 정상입니다 - 설명

그건 그렇고, 그렇습니다. 업데이트 주셔서 감사합니다 :) 최근에 완전히 혼란스러워했습니다. " 지수 평활화"에 대한 설명을 읽고 이해하기 시작했습니다.
 
hoz :

그것은 무엇을 제공합니까? 기계를 만드는 원리를 철저히 이해하고 싶고,


완전히 다음과 같이(우리는 재귀 방정식을 명시적 방정식으로 확장합니다):

EMA(i) = C(i)*pr + EMA(i+1)* (1-pr) = C(i)*pr + (1-pr)* (C(i+1)*pr + EMA( i+2)*(1-pr)) = C(i)*pr + C(i+1)*pr*(1-pr) + EMA(i+2)*(1-pr)^2 = C (i)*pr + C (i+1)*pr* (1-pr) + (C (i+2)*pr + EMA (i+3)* (1-pr))*(1-pr) ^2 =

= C(i)*pr + C(i+1)*pr* (1-pr) + C(i+2)*pr*(1-pr)^2 + EMA(i+3)* (1- pr) pr)^3 = ... 반복, 반복... = 합 {k = i에서 무한까지; C(k)*pr* (1-pr)^ (k-1)}

즉, 계수가 분모(1-pr)<1인 기하급수 즉, 감소하는 계열입니다. 학교 대수학 과정에서 우리는 그러한 진행이 감소하는 지수라는 것을 압니다. 사실 MA라는 이름이 있는 곳.

이 특정 공식을 선택한 이유는 무엇입니까? 세부 사항에 대해 설명하지 않고 이 공식을 선택하면 핸드셰이크 종료 시 입력 견적의 평균 그룹 지연이 같은 기간의 SMA와 동일하다고 말할 것입니다. 즉, 동일한 기간 매개변수 를 사용하는 EMA 및 SMA가 거의 동일한 지연을 제공하도록 선택했습니다. (그러나 대략적으로만! - SMA는 선형 위상 필터이지만 EMA는 아닙니다)