초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 343

 
barabashkakvn :

계산 코드 변경

즉, 13 또는 12 또는 다른 숫자 - "기간" 매개변수여야 합니다. 평균 기간

만세!

감사합니다. 그러나 이 매개변수가 원래 지표에 없는 이유는 무엇입니까? 그것은 기본적으로 거기에 있습니다 또는 뭔가, 당신은 몰라?

음, 즉, 평균화를 위한 막대 수만 설정하면 됩니다. 실제로 소스 코드에서는 이 매개변수만 수식으로 대체됩니다.

그리고 마지막 버전에는 이미 두 개의 매개변수가 있었습니다. 평균을 낼 막대 수와 SmoothFactor를 계산할 막대 수입니다.

 
Alvin1976 :

만세!

감사합니다. 이 매개변수가 원래 지표에 없는 이유는 무엇입니까? 그것은 기본적으로 거기에 있습니다 또는 뭔가, 당신은 몰라?

음, 즉, 평균화를 위한 막대 수만 설정하면 됩니다. 실제로 소스 코드에서는 이 매개변수만 수식으로 대체됩니다.

그리고 마지막 버전에는 이미 두 개의 매개변수가 있었습니다. 평균을 낼 막대 수와 SmoothFactor를 계산할 막대 수입니다.

모든 것이 배송에 포함됩니다. 표시기 코드 "***\MQL5\Indicators\Examples\Custom Moving Average.mq5" 참조
 
barabashkakvn :
모든 것이 배송에 포함됩니다. 표시기 코드 "***\MQL5\Indicators\Examples\Custom Moving Average.mq5" 참조

그래서 나는 거기에서 모든 것을 가져갔습니다 :-). 나만 이해가 안가는거 같은데...

어쨌든 어떤 이유로 계산 된 EMA 값은 원래 값과 수렴하지 않습니다.

어딘가에 이 표시기가 함수로 변환되어 있지 않을까요?

 
Alvin1976 :

그래서 나는 거기에서 모든 것을 가져갔습니다 :-). 나만 이해가 안가는거 같은데...

어쨌든 어떤 이유로 계산 된 EMA 값은 원래 값과 수렴하지 않습니다.

어딘가에 이 표시기가 함수로 변환되어 있지 않을까요?

아니면 Expert Advisor의 OnInit()에서 스무딩 유형이 다른 두 개의 iMA 표시기 핸들 을 만든 다음 이 표시기의 값을 얻는 것이 더 나을까요?

 
barabashkakvn :

아니면 Expert Advisor의 OnInit()에서 스무딩 유형이 다른 두 개의 iMA 표시기 핸들 을 만든 다음 이 표시기의 값을 얻는 것이 더 나을까요?

이미 시도했습니다. MQL5에서는 핸들로 일종의 넌센스를 제공합니다. 여기 예가 있습니다.

따라서 첫 번째 막대의 출력에서 막대가 이미 형성되었지만 변수 값을 얻습니다! MQL4에서는 모든 것이 잘 작동하지만 여기서는 끔찍합니다.

     MAvarage1[ns] = INVALID_HANDLE ;                         //-----------------------------------
   for ( int i= 0 ;i< 10 ;i++) //10 попыток создать индикатор
      {
       MAvarage1[ns]= iMA (Symbols[ns],DopTF2,MAper1[ns], 0 ,MAmet2, PRICE_CLOSE );
       if (MAvarage1[ns] == INVALID_HANDLE ) Sleep ( 1000 );
      }
               //Проверим handle 
   if (MAvarage1[ns] == INVALID_HANDLE ) 
   {
     Print ( "Ошибка при создании MAvarage1! (№" , GetLastError (), ")" );
     return ;
   } 

  Recount= false ;
   if ( CopyBuffer (MAvarage1[ns], 0 , 0 , 2 ,MA1)< 1 ) Recount= true ;
   if (Recount){
   Print ( "Ошибка при копировании из индикатора ! (№" , GetLastError (), ")" );
   return ;   
  }
  Print("MA1[1]=",MA1[1]);
 
Alvin1976 :

이미 시도했습니다. MQL5에서는 핸들로 일종의 넌센스를 제공합니다. 여기 예가 있습니다.

따라서 첫 번째 막대의 출력에서 막대가 이미 형성되었지만 변수 값을 얻습니다! MQL4에서는 모든 것이 잘 작동하지만 여기서는 끔찍합니다.

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

초보자의 질문

바라바쉬카크vn , 2015.02.08 07:25

아니면 Expert Advisor의 OnInit()에서 스무딩 유형이 다른 두 개의 iMA 표시기 핸들 을 만든 다음 이 표시기의 값을 얻는 것이 더 나을까요?


 

나는 이미 코드를 MQL5로 이식하는 데 어려움을 겪었습니다. 기본적으로 문제는 지표에 있습니다. 스토캐스틱은 일반적으로 일종의 "왼쪽"을 얻습니다.

값을 직접 계산하기로 결정했습니다.

최적화 속도와 다중 통화 모드에서 작업을 테스트하기 위해서만 MQL5가 필요합니다. 모든 것 !

그는 다른 어떤 것에도 소용이 없습니다. 그리고 저는 단 한 곳의 거래 센터도 이 "기적"으로 바뀌지 않기를 진심으로 바랍니다.

Aaa 변수 값을 알아 냈습니다! CopyBuffer 는 칠면조의 순서를 반대로 하는 것으로 밝혀졌습니다!

왜 그런 짓을 했을까요???

 

Alvin1976 :

... Aaa 변수 값을 알아 냈습니다! CopyBuffer는 칠면조의 순서를 반대로 하는 것으로 밝혀졌습니다!

왜 그런 짓을 했을까요???

필요하지 않은 것에 대한 표시기를 요청하지 않으려면 ... 당신이 신문 가판대에 왔다고 상상해보십시오. 그리고 지난 3일 동안의 신문이 필요합니다. 그리고 그들은 우리가 당신의 신문을 팔 것이라고 말하지만, 지난 20일 동안만... 당신은 그것을 필요로 합니까? :-)
 
denkir :
필요하지 않은 것에 대한 표시기를 요청하지 않으려면 ... 당신이 신문 가판대에 왔다고 상상해보십시오. 그리고 지난 3일 동안의 신문이 필요합니다. 그리고 그들은 우리가 당신의 신문을 팔 것이라고 말하지만, 지난 20일 동안만... 당신은 그것을 필요로 합니까? :-)

글쎄요, MQL4에서도 너무 많은 것을 요구할 필요가 없었습니다. 수량에 관한 것이 아니라 주문에 관한 것입니다.

논리는 어디에 있습니까? 모든 사람은 배열의 0 요소가 현재 막대라는 사실에 이미 익숙합니다. 왜 뭔가를 변경????

Z.Y. ArraySetAsSeries 를 통해 치료합니다 .

탬버린으로 춤을....

 
Alvin1976 :

글쎄요, MQL4에서도 너무 많은 것을 요구할 필요가 없었습니다. 수량에 관한 것이 아니라 주문에 관한 것입니다.

논리는 어디에 있습니까? 모든 사람은 배열의 0 요소가 현재 막대라는 사실에 이미 익숙합니다. 왜 뭔가를 변경????

Z.Y. ArraySetAsSeries 를 통해 치료합니다 .

탬버린으로 춤을....

이것은 탬버린과 함께하는 춤이 아니라 익숙해져야 할 혁신입니다. 그리고 어떤 경우에는 이러한 혁신이 문제 해결을 크게 촉진합니다. 예에 대해 묻지 마십시오. 논의하지 않을 것입니다.
사유: