다중 기간 표시기 - 페이지 1206

 
greenpar :

다시 한 번 도움을 주셔서 감사합니다. 제안된 대로 변경 사항을 적용했습니다(아래 첨부 파일 및 코드 참조). 컴파일할 때 여전히 수많은 오류가 발생합니다(첨부된 컴파일 오류 이미지 참조). 아래 코드에서 강조 표시된 줄과 관련이 있는 것 같습니다.

이 지표 파일에 다른 기간, 통화 쌍 및 기타 지표(예: ADX)를 통합하려고 합니다.

더 많은 도움을 주시면 감사하겠습니다.


1. 줄 끝에 ;이(가) 빠졌습니다.

문자열 통화쌍 [] = {"AUDCAD", "AUDNZD", "AUDJPY", "AUDUSD"};

2. 다음 행이 누락되었습니다.

반환 (rate_total);
}

3. 배열 차원을 잘못 배치했습니다. 다음과 같이 수정되어 글로벌 영역으로 이동되었습니다.

날짜 시간 alert_bar [3] [3];
날짜 시간 촛불 시간 [3] [3];

파일:
 
Naguisa Unada :

1. 줄 끝에 ;이(가) 빠졌습니다.

문자열 통화쌍 [] = {"AUDCAD", "AUDNZD", "AUDJPY", "AUDUSD"};

2. 다음 행이 누락되었습니다.

반환(rate_total);
}

3. 배열 차원을 잘못 배치했습니다. 다음과 같이 수정되어 글로벌 영역으로 이동되었습니다.

날짜 시간 alert_bar [3] [3];
날짜 시간 촛불 시간 [3] [3];


다시 한 번 진심으로 감사드립니다. 이제 나열된 모든 기간 및 통화 쌍 에 대해 경고합니다.

그러나 더 이상 막대당 한 번 경고하지 않고 최소 캔들 포인트 크기를 초과하는 모든 캔들 포인트 증가에 대해 경고합니다. 이전 메시지에 첨부한 'Sample.mq4'의 78, 84, 90행은 촛불당 한 번만 경고하도록 보장하지 않습니다. '[]' 내의 값을 변경하려고 시도했지만 분명히 문제가 해결되지 않았습니다. 어떻게 해결합니까?

언제나처럼 추가 지원을 해주시면 감사하겠습니다. 고맙습니다.

 
greenpar :

그러나 더 이상 막대당 한 번 경고하지 않고 최소 캔들 포인트 크기를 초과하는 모든 캔들 포인트 증가에 대해 경고합니다. 이전 메시지에 첨부한 'Sample.mq4'의 78, 84, 90행은 촛불당 한 번만 경고하도록 보장하지 않습니다. '[]' 내의 값을 변경하려고 시도했지만 분명히 문제가 해결되지 않았습니다. 어떻게 해결합니까?

당연히 그렇지. "OnInit"에 다음 줄을 작성해야 합니다.

 //ArrayResize(candleTime, CPNO); 
 //ArrayResize(alert_bar,  CPNO); 
 //ArrayInitialize(alert_bar, 0); 
int OnInit ()
{
         //--- indicator buffers mapping 
        TFNO = ArraySize (timeFrame);
        CPNO = ArraySize (currencyPairs);
        
         ArrayResize (candleTime, CPNO);
         ArrayResize (alert_bar,  CPNO);
         ArrayInitialize (alert_bar, 0 );
        
         if ( StringLen ( Symbol ()) > 6 )
        {
                sufix = StringSubstr ( Symbol (), 6 , 0 );
                 for ( int i = 0 ; i < CPNO; i++)
                        currencyPairs[i] += sufix;
        }
         //--- 
         return ( INIT_SUCCEEDED );
}

[ ] 안의 숫자는 위의 "ArrayResize"로 조정됩니다. 통화쌍 의 수가 증가하더라도 여기에서 자동으로 조정되지만 다른 기간을 추가하려면 프로그램을 직접 수정해야 합니다. MQL4의 사양이기 때문입니다.

 
Naguisa Unada :

당연히 그렇지. "OnInit"에 다음 줄을 작성해야 합니다.

[ ] 안의 숫자는 위의 "ArrayResize"로 조정됩니다. 통화쌍 의 수가 증가하더라도 여기에서 자동으로 조정되지만 다른 기간을 추가하려면 프로그램을 직접 수정해야 합니다. MQL4의 사양이기 때문입니다.


다시 한번 감사드립니다. 에 코드를 추가했습니다.

경고는 차트에서 표시기를 삭제하고, 다시 컴파일하고, MT를 종료한 후에도 최소 캔들 포인트 크기를 초과하는 모든 캔들 포인트 증가에 대해 여전히 경고하고 있습니다. 이 문제를 어떻게 고칠 수 있습니까?

언제나처럼 추가 지원을 해주시면 감사하겠습니다. 고맙습니다.

 
greenpar :

경고는 차트에서 표시기를 삭제하고, 다시 컴파일하고, MT를 종료한 후에도 최소 캔들 포인트 크기를 초과하는 모든 캔들 포인트 증가에 대해 여전히 경고하고 있습니다. 이 문제를 어떻게 고칠 수 있습니까?

내 PC에서는 문제 없이 정상적으로 작동합니다. 뭔가 잘못된 것 같은데 뭐가 잘못된건지 모르겠네요.

 
Naguisa Unada :

내 PC에서는 문제 없이 정상적으로 작동합니다. 뭔가 잘못된 것 같은데 뭐가 잘못된건지 모르겠네요.


MT4 빌드 1090을 실행 중입니다. 문제가 무엇인지 잘 모르겠습니다. 다른 사람이 도와줄 수 있습니까?

고맙습니다

 

누군가 이 표시기를 수정할 수 있습니까? 스토치가 서로 교차할 때 화살표가 두 번째 양초에 표시되지만 화살표가 스토치가 서로 교차할 때마다 즉시 현재 양초에 표시되어야 합니다.


감사합니다

 
fxprogramer :

누군가 이 표시기를 수정할 수 있습니까? 스토치가 서로 교차할 때 화살표가 두 번째 양초에 표시되지만 화살표가 스토치가 서로 교차할 때마다 즉시 현재 양초에 표시되어야 합니다.

 //for(i=1; i<=limit; i++) 
   for (i= 0 ; i<=limit; i++) 

이것은 정말 쉽습니다. 77행에서 i = 1을 i = 0으로 수정합니다.


 
Naguisa Unada :

작동합니다. 훌륭합니다. 도움을 주셔서 대단히 감사합니다.

 

누군가 빨간색 또는 녹색 블록이 0선 위 또는 아래에 표시될 때마다 차트에 화살표를 표시하도록 만들 수 있습니까? 이제 그림에서 볼 수 있듯이 빨간색 또는 녹색 영역에서 올 때 첫 번째 블록에만 화살표가 표시되지만 저는 필요합니다. 그것은 보여주고 다른 모든 시간은 사라지고 다시 나타날 때 그림에서 볼 수 있듯이 빨간색 또는 녹색 영역에 머물렀습니다.

https://www.mql5.com/en/charts/7337652/eurusd-m1-tickmill-ltd

감사합니다

Chart EURUSD, M1, 2017.07.13 10:09 UTC, Tickmill Ltd, MetaTrader 4, Real
Chart EURUSD, M1, 2017.07.13 10:09 UTC, Tickmill Ltd, MetaTrader 4, Real
  • www.mql5.com
Symbol: EURUSD. Periodicity: M1. Broker: Tickmill Ltd. Trading Platform: MetaTrader 4. Trading Mode: Real. Date: 2017.07.13 10:09 UTC.
파일: