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

 
Vitaly Muzichenko :

관심을 가져주셔서 감사합니다.

표시기의 일반적인 견해는 이것이고 iEnvelopesOnArrayiBandsOnArray 없이 수행하는 방법을 절대 이해하지 못했습니다.


왜 그들 없이? 음, 버퍼 데이터를 기반으로 계산하십시오. 그러나 계산은 포기하려는 계산과 동일한 계산을 반복해야 합니다.

 
Artyom Trishkin :

왜 그들 없이? 음, 버퍼 데이터를 기반으로 계산하십시오. 그러나 계산은 포기하려는 계산과 동일한 계산을 반복해야 합니다.

아무도 거부하지 않지만 mql4에서와 같이 임의의 배열이 아닌 핸들만 허용합니다.

 
Alexey Viktorov :

아무도 거부하지 않지만 mql4에서와 같이 임의의 배열이 아닌 핸들만 허용합니다.

알았습니다. 주제를 망쳤습니다. 나는 네 번째 질문에 대해 생각했다.
 
Artyom Trishkin :
알았습니다. 주제를 망쳤습니다. 나는 네 번째 질문에 대해 생각했다.

질문은 5로 옮기는 것에 관한 것이고 목표는 지금 4에서와 같이 비슷한 디스플레이를 얻는 것입니다.

다음은 보다 완전한 코드입니다. 기호는 차트의 버튼을 눌러 표시기로 대체됩니다. 즉, 초기화가 충분하지 않습니다.

   for ( int i= 0 ; i<limit; i++) {
    Last[i] = Symbol1_Vol*Vol1* iClose (Symbol1_Name, 0 , iBarShift (Symbol1_Name, 0 , Time [i])) - 
              Symbol2_Vol*Vol2* iClose (Symbol2_Name, 0 , iBarShift (Symbol2_Name, 0 , Time [i]));
  }

 for ( int i=0; i<limit; i++) {
     if (ButtonSt) { // кнопка выбора, отображать Bands, или Envelopes
     MA[i]= iMAOnArray (Last, 0 ,Env_Period, 0 , MODE_SMA ,i);
     LineUp[i]= iEnvelopesOnArray (Last, 0 ,Env_Period, MODE_SMA , 0 ,Env_Dev, MODE_UPPER ,i);
     LineDn[i]= iEnvelopesOnArray (Last, 0 ,Env_Period, MODE_SMA , 0 ,Env_Dev, MODE_LOWER ,i);
    } else {
     MA[i]= iMAOnArray (Last, 0 ,BB_Period, 0 , MODE_SMA ,i);
     LineUp[i]= iBandsOnArray (Last, 0 ,BB_Period,BB_Dev, 0 , MODE_UPPER ,i);
     LineDn[i]= iBandsOnArray (Last, 0 ,BB_Period,BB_Dev, 0 , MODE_LOWER ,i);
    }
  }

어떻게 5로 변환합니까? 아니면 기능이 부족하여 불가능합니까?

 
Vitaly Muzichenko :

질문은 5로 옮기는 것에 관한 것이고 목표는 지금 4에서와 같이 비슷한 디스플레이를 얻는 것입니다.

다음은 보다 완전한 코드입니다. 기호는 차트의 버튼을 눌러 표시기로 대체됩니다. 즉, 초기화가 충분하지 않습니다.

어떻게 5로 변환합니까? 아니면 기능이 부족하여 불가능합니까?

그래서 아무도 인터넷에서 핸들을 받도록 강요하지 않습니다 ...

 
Alexey Viktorov :

그래서 아무도 인터넷에서 핸들을 받도록 강요하지 않습니다 ...

상관없어)

iEnvelopesOnArray iBandsOnArray 를 대체하는 방법을 알 수 없습니다. 이는 상위 5개 항목에 포함되지 않고 어디서부터 시작해야 할지 모르겠습니다. MT5에서 완전히 동일한 디스플레이를 얻어야 합니다.

 
Vitaly Muzichenko :

상관없어)

iEnvelopesOnArray iBandsOnArray 를 대체하는 방법을 알 수 없습니다. 이는 상위 5개 항목에 포함되지 않고 어디서부터 시작해야 할지 모르겠습니다. MT5에서 완전히 동일한 디스플레이를 얻어야 합니다.

당신이 쓰여진 것을 무시한 것이 처음이 아니기 때문에

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

초보자의 질문 MQL5 MT5 MetaTrader 5

알렉세이 빅토 로프 , 2017.09.21 20:06

포함 루트에 MovingAverages.mqh가 있지만 BB를 찾지 않았습니다. 아마 없을 것입니다. 그러나 가장 좋은 방법은 데이터 소스 표시기의 핸들을 가격으로 iMA 기능에 넣는 것입니다.

매끄러운 iMA만 있는 예가 있습니다.

 int haMa8, haFastMa, haMa21, haSlowMa;

int OnInit ()
 {
   haMa8   = iMA ( _Symbol , PERIOD_CURRENT , perFastMa, 0 , metodFastMa, priceFastMa);
   haFastMa = iMA ( _Symbol , PERIOD_CURRENT , perFastMa, 0 , metodFastMa, haMa8 );
   
   haMa21 = iMA ( _Symbol , PERIOD_CURRENT , perSlowMa, 0 , metodSlowMa, priceSlowMa);
   haSlowMa = iMA ( _Symbol , PERIOD_CURRENT , perSlowMa, 0 , metodSlowMa, haMa21 );

//Продолжение догадаешься

마찬가지로 VV.

소스가 사용자 지정 지표 인 경우 다음을 수행해야 합니다.

  • 따로 만드세요.
  • 새 지표를 만듭니다.
  • 첫 번째 항목을 리소스로 첨부합니다.
  • 그런 다음 핸들을 받은 후 iMA 및 기타 기능에 넣습니다.

이것들은 동결입니다 ...


 
Alexey Viktorov :

당신이 쓰여진 것을 무시한 것이 처음이 아니기 때문에

포함 루트에 MovingAverages.mqh가 있지만 BB를 찾지 않았습니다. 아마 없을 것입니다.
있습니다: \MQL5\Include\Indicators\Trend.mqh
 
Artyom Trishkin :
있습니다: \MQL5\Include\Indicators\Trend.mqh

감사합니다. 이제 찾았습니다.

iTEMA를 커스텀 인디케이터 에 적용해야 해서 거기까지 볼 생각은 없었는데... 위에서 설명한 대로 해보니 모든 것이 완벽하게 작동합니다.

 

함수를 만들 수 있도록 도와주세요.

현재 시간 프레임과 계산된 시간 프레임이 있습니다. 측정이 막대 단위인 경우 함수는 두 시간 프레임의 차이를 어떤 조합으로든 반환해야 합니다.

예상 TF 열 다섯 열 다섯 열 다섯 60 60 60 240 240 240
현재 TF 열 다섯 5 하나 열 다섯 5 하나 60 열 다섯 5
Nbar의 차이 하나 열 다섯 4 12 60 4 열여섯 48

올바르게 구현하는 방법은 무엇입니까?

사유: