icustom 지그재그

 
icustom 명령으로 지그재그 표시기의 방향을 결정하려고 합니다.

이것은 내가 지금까지 가지고있는 것입니다 :

지그재그 높음=iCustom(NULL,0,"지그재그",MODE_HIGH,0);
ZigZagLow=iCustom(NULL,0,"지그재그",MODE_LOW,0);

선은 차트에 그려지지만 프로그램을 실행할 때 ZigZagHigh와 ZigZagLow는 모두 0과 같습니다.




icustom 기능으로 지그재그 표시기의 추세를 어떻게 결정합니까?


감사해요
 
당신이 무엇을 하려고 하든 이것은 아마도 그것을 얻는 방법이 아닐 것입니다.
'커스텀 지표, 전문가, 전략 테스팅' 을 참고하세요 -- iCustom 사용법을 설명했는데...

표시기를 변경하고 해당 데이터를 가져오려면 두 개의 추가 버퍼를 만들어야 한다고 생각합니다.
낮은 값은 예를 들어 LOWbuff[]입니다.
높은 값은 HIGHbuff[]입니다.

이제 새로운 고가(내부 표시기)가 있는 경우 이 값이 바로 지금 저장된 값과 다른지 확인합니다. 그렇다면 새 값이 있는 것입니다...
예를 들어 최대 1.2815 ZigZag
바1
바2
바3
...
barx 새 값은 1.2755로 제공됩니다.

당신은 HIGHBUFF[1.2815,1.2815,....,1.2815,1.2755,1.2755...와 같은 것입니다. ]

그런 다음 Icustom(NULL,0,"ZigZag",3,0)을 사용합니다. --> 그리고 짜잔! 당신은 당신의 번호를 가지고

내 말을 이해할 수 있기를...

졸레로
 
zolero :
당신이 무엇을 하려고 하든 이것은 아마도 그것을 얻는 방법이 아닐 것입니다.
'커스텀 지표, 전문가, 전략 테스팅' 을 참고하세요 -- iCustom 사용법을 설명했는데...

표시기를 변경하고 해당 데이터를 가져오려면 두 개의 추가 버퍼를 만들어야 한다고 생각합니다.
낮은 값은 예를 들어 LOWbuff[]입니다.
높은 값은 HIGHbuff[]입니다.

이제 새로운 고가(내부 표시기)가 있는 경우 이 값이 바로 지금 저장된 값과 다른지 확인합니다. 그렇다면 새 값이 있는 것입니다...
예를 들어 최대 1.2815 ZigZag
바1
바2
바3
...
barx 새 값은 1.2755로 제공됩니다.

당신은 HIGHBUFF[1.2815,1.2815,....,1.2815,1.2755,1.2755...와 같은 것입니다. ]

그런 다음 Icustom(NULL,0,"ZigZag",3,0)을 사용합니다. --> 그리고 짜잔! 당신은 당신의 번호를 가지고

내 말을 이해할 수 있기를...

졸레로


아니, 사실 이해가 되지 않는다.


내가 원하는 것은 지그재그 표시기가 가리키는 방향(위 또는 아래)을 EA에 알리는 것입니다. 어떻게 하면 좋을까요?
 
내가 원하는 것은 지그재그 표시기가 가리키는 방향(위 또는 아래)을 EA에 알리는 것입니다. 어떻게 하면 좋을까요?
아마도 당신은 마지막 두 값이 알고 싶어할 것입니다(지그재그에 항상 값이 있는 것은 아니므로). 따라서 표시기의 마지막 두 값을 읽어야 합니다.

  int n , i ;
  double zag , zig ;
i = 0 ;
while ( n < 2 )
{
   if ( zig > 0 ) zag = zig ;
   zig = iCustom ( NULL , 0 , " ZigZag " , 0 , i ) ;
   if ( zig > 0 ) n += 1 ;
   i ++;
}
이제 두 개의 숫자 zig -- 마지막 값과 zag -- 그 이전 값이 있습니다.
if(zag>zig) 표시가 아래로 표시됩니다.
if(zig>zag) 표시가 나타납니다.

졸레로
 
zolero :
내가 원하는 것은 지그재그 표시기가 가리키는 방향(위 또는 아래)을 EA에 알리는 것입니다. 어떻게 하면 좋을까요?
아마도 당신은 마지막 두 값이 알고 싶어할 것입니다(지그재그에 항상 값이 있는 것은 아니므로). 따라서 표시기의 마지막 두 값을 읽어야 합니다.

  int n , i ;
  double zag , zig ;
i = 0 ;
while ( n < 2 )
{
   if ( zig > 0 ) zag = zig ;
   zig = iCustom ( NULL , 0 , " ZigZag " , 0 , i ) ;
   if ( zig > 0 ) n += 1 ;
   i ++;
}
이제 두 개의 숫자 zig -- 마지막 값과 zag -- 그 이전 값이 있습니다.
if(zag>zig) 표시가 아래로 표시됩니다.
if(zig>zag) 표시가 나타납니다.

졸레로

감사합니다. 알겠습니다. 매력처럼 작동합니다.
 
c0d3 :
졸레로 :
내가 원하는 것은 지그재그 표시기가 가리키는 방향(위 또는 아래)을 EA에 알리는 것입니다. 어떻게 하면 좋을까요?
아마도 당신은 마지막 두 값이 알고 싶어할 것입니다(지그재그에 항상 값이 있는 것은 아니므로). 따라서 표시기의 마지막 두 값을 읽어야 합니다.

  int n , i ;
  double zag , zig ;
i = 0 ;
while ( n < 2 )
{
   if ( zig > 0 ) zag = zig ;
   zig = iCustom ( NULL , 0 , " ZigZag " , 0 , i ) ;
   if ( zig > 0 ) n += 1 ;
   i ++;
}
이제 두 개의 숫자 zig -- 마지막 값과 zag -- 그 이전 값이 있습니다.
if(zag>zig) 표시가 아래로 표시됩니다.
if(zig>zag) 표시가 나타납니다.

졸레로

감사합니다. 알겠습니다. 매력처럼 작동합니다.





그것을 테스트 한 후,



if(zag<zig) 표시가 아래로 표시됩니다
if(zig<zag) 표시가 나타납니다


i 생각해보니 (zag>zig), (zig>zag)

 
c0d3 :
i 생각해보니 (zag>zig), (zig>zag)

나는 이미 차트의 마지막 줄을 찾고 있었다. 이것은 마지막 줄이 아래로 [또는 위]를 보고 있다는 것을 의미합니다. 그것은 바로 지금 상승[또는 하락] 움직임이 예상된다는 것을 의미해야 합니다. 그러나 상향 또는 하향 신호로 받아들이는 데에는 약간의 문제가 있습니다. 지그재그는 스스로 다시 그릴 수 [그리고 종종] 할 수 있습니다. 즉, 두 지점 사이의 선이 남쪽(1.2900에서 1.2850으로)을 표시하는 경우 가격이 상승한다는 의미는 아닙니다. 그것은 아마도 올라갈 것이지만 약간의 움직임 후에 새로운 라인이 다운될 가능성이 큽니다(1.2900에서 1.2820으로). 내 요점은 차트에 선이 있다고 해서 이 방향으로의 이동이 끝났다는 의미는 아니라는 것입니다.
 
  
정수 n, 나는; 더블 재그, 지그;
나는 = 0;
동안(n<2)
{
if(지그>0) zag=지그;
zig=iCustom(NULL, 0, "지그재그", 0, i);
if(지그>0) n+=1;
나는 ++;
}
 

&nbint n, i; 더블 재그, 지그; 나는 = 0; while(n<2) { if(zig>0) zag=zig; zig=iCustom(NULL, 0, "지그재그", 0, i); if(지그>0) n+=1; 나는 ++; }sp;int n, i; 더블 재그, 지그; 나는 = 0; while(n<2) { if(zig>0) zag=zig; zig=iCustom(NULL, 0, "지그재그", 0, i); if(지그>0) n+=1; 나는 ++; }

 
잘못된 신호가 무엇을 의미하는지 보여주기 위해 약간의 지그재그 코드를 수정했습니다. 그들이 말했듯이: 한 장의 사진이 1000단어 이상을 말할 수 있습니다....


빨간 선은 원래 지그재그로 아래에서 위로 그리고 가장 좋은 순간에 다시 돌아갑니다. 적어도 이 정도는 같습니다. 그러나 ea를 코딩하는 경우 노란색 선에 가까운 ea get의 신호입니다. 내가 정말 빠른 해킹을 했기 때문에 더 나빠질 수 있다...
코드는 다음 줄이 그려질 때까지 위 또는 아래 선을 다시 그리므로 빨간색 선이 나타날 때까지 노란색 선을 단계별로 변경(최대 및 최소값 삭제)합니다...