포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 160

 
Zolotai :

예, 여기에는 코드가 없습니다. 나는 단지 적당한 조건이 필요하다. 문제는 현재 막대의 시간을 알 수 있는지 여부입니다. 바 시간을 어떻게 알 수 있습니까?
시간[]iTime() .
 
Zolotai :

예, 여기에는 코드가 없습니다. 나는 단지 적당한 조건이 필요하다. 문제는 현재 막대의 시간을 알 수 있는지 여부입니다. 바 시간을 어떻게 알 수 있습니까?
시간[desired_bar_index]; "desired_bar_index" 번호로 바의 여는 시간을 반환합니다. iTime()은 다른 기호 및 시간 프레임에 사용할 수 있습니다.
 

그러한 지표에서 고문의 신호를 얻는 방법

 #property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Blue
#define  SH_BUY   1
#define  SH_SELL  - 1
extern int      AllBars= 0 ;
extern int      Otstup= 30 ;
extern double   Per= 9 ;
int             SH,NB,i,UD;
double          R,SHMax,SHMin;
double          BufD[];
double          BufU[];

int init()
{
   if ( Bars <AllBars+Per || AllBars== 0 ) NB= Bars -Per; else NB=AllBars;
   IndicatorBuffers( 2 );
   IndicatorShortName( "SHI_SilverTrendSig" );
   SetIndexStyle( 0 , DRAW_ARROW , 0 , 1 );
   SetIndexStyle( 1 , DRAW_ARROW , 0 , 1 );
   SetIndexArrow( 0 , 159 );
   SetIndexArrow( 1 , 159 );
   SetIndexBuffer ( 0 ,BufU);
   SetIndexBuffer ( 1 ,BufD);
   SetIndexDrawBegin( 0 , Bars -NB);
   SetIndexDrawBegin( 1 , Bars -NB);
   ArrayInitialize (BufD, 0.0 );
   ArrayInitialize (BufU, 0.0 );
   return ( 0 );
}
int start()
{
   int CB=IndicatorCounted();
   if (CB< 0 ) return (- 1 ); else if (NB> Bars -CB) NB= Bars -CB;
   for (SH= 1 ;SH<NB;SH++)
   {
       for (R= 0 ,i=SH;i<SH+ 10 ;i++) {R+=( 10 +SH-i)*(High[i]-Low[i]);}      R/= 55 ;

      SHMax = High[Highest( NULL , 0 ,MODE_HIGH,Per,SH)];
      SHMin = Low[Lowest( NULL , 0 ,MODE_LOW,Per,SH)];
       if (Close[SH]<SHMin+(SHMax-SHMin)*Otstup/ 100 && UD!=SH_SELL) { BufU[SH]=Low[SH]-R* 0.5 ; UD=SH_SELL; }
       if (Close[SH]>SHMax-(SHMax-SHMin)*Otstup/ 100 && UD!=SH_BUY) { BufD[SH]=High[SH]+R* 0.5 ; UD=SH_BUY; }
   }
   return ( 0 );
}

iCustom을 통해 시도했지만 선과 막대의 수를 지정할 때 값 2147483647을 씁니다...

 
VOLDEMAR :

그러한 지표에서 고문의 신호를 얻는 방법

iCustom을 통해 시도했지만 선과 막대의 수를 지정할 때 값 2147483647을 씁니다...

이 값은 EMPTY_VALUE 입니다. 기본적으로 신호가 없으면 표시기 버퍼에 있습니다. 버퍼를 반복하고 비어 있지 않은 값을 잡습니다.
 

다음과 같이 버퍼를 확인하십시오.

 if (Bufer0> 0 ) {               // в double Bufer0 через iCustom() ранее получено значение буфера индикатора 0
   if (Bufer0!= EMPTY_VALUE ) {
       // поймали значение в буфере
      }
   }
 
artmedia70 :

다음과 같이 버퍼를 확인하십시오.


알겠습니다. 하지만 버퍼에 수백 개의 값이 있을 수 있습니다. 마지막 값을 찾는 방법과 마지막 매수 또는 매도 신호 가 무엇인지 확인하는 방법은 무엇입니까?
 
감사합니다
 
VOLDEMAR :

알겠습니다. 하지만 버퍼에 수백 개의 값이 있을 수 있습니다. 마지막 값을 찾는 방법과 마지막 매수 또는 매도 신호가 무엇인지 확인하는 방법은 무엇입니까?

나는 코드를 컴파일하지 않았고 MT에서 보지 않았지만 BufD는 첫 번째 파란색 버퍼이고 BufU는 0 빨간색 버퍼입니다. 화면에 파란색과 빨간색 점으로 무엇을 표시합니까? 어떤 색이 거기에 무엇을 나타내는지 살펴보십시오. 그리고 버퍼에서 그들을 잡으십시오 - 제로 버퍼에서 빨간색, 첫 번째 버퍼에서 파란색.

음... 그리고 값은 첫 번째 막대에서 잡아야 합니다. 아마도 다시 그리는지 여부를 보지 못했을 것입니다. 또는 값을 찾을 때까지 영점 막대에서 주기가 필요할 수 있습니다. 그것은 모두 그가 신호를 보내는 방법에 달려 있습니다 ...

 
안녕하세요 여러분, 왜 MT4에서 한 명 이상의 어드바이저를 설정할 수 없는지 말하지 마십시오. 전략을 테스트할 때 모두가 음수 값을 제공합니다! 무엇이 문제가 될 수 있습니까?
 
serjlarkin :
안녕하세요 여러분, 왜 MT4에서 한 명 이상의 어드바이저를 설정할 수 없는지 말하지 마십시오. 전략 을 테스트할 때 모두가 음수 값을 제공합니다 ! 무엇이 문제가 될 수 있습니까?
무엇의 부정적인 의미?