[ARCHIVE] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 3. - 페이지 490

 
splxgf :

나는 보통 LastBarAlert 변수를 만들고 알람이 트리거될 때 그것에 Time[0]을 씁니다.

음, 그렇다면 기본, LastBarAlert!=Time[0]인 경우 경고가 표시됩니다.


고맙습니다. 이것은 진짜 작동한다. 그러나 표시기가 LastBarAlert 변수의 값을 저장하지만 다른 변수의 값은 저장하지 않는 이유는 무엇입니까? 나는 그렇게 했다. 실제로 정확히 동일하지만 어떤 이유로 작동하지 않습니다.

 if (Signal && AllowAlert = true ){
Alert( 'Signal detected' );
AllowAlert = false ;
} 
 
sss2019 :


고맙습니다. 이것은 진짜 작동한다. 그러나 표시기가 LastBarAlert 변수의 값을 저장하지만 다른 변수의 값은 저장하지 않는 이유는 무엇입니까? 나는 그렇게 했다. 실제로 정확히 동일하지만 어떤 이유로 작동하지 않습니다.

코드에서 AllowAlert 변수true 로 초기화된 위치는 어디입니까?

라인에서 이 변수의 신호와 상태를 확인하기 전에...

 if (Signal && AllowAlert = true )

... 그런 다음 플래그를 false 로 추가로 재설정하면 아무 작업도 수행되지 않습니다. 결국 이 확인 전에 다시 true 로 초기화됩니다...

 
sss2019 :


고맙습니다. 이것은 진짜 작동한다. 그러나 표시기가 LastBarAlert 변수의 값을 저장하지만 다른 변수의 값은 저장하지 않는 이유는 무엇입니까? 나는 그렇게 했다. 실제로 정확히 동일하지만 어떤 이유로 작동하지 않습니다.

아마도 문제는 논리에 있을 것입니다... 0과 1의 값을 취하는 변수를 사용하는 경우 해당 값은 각각의 새 막대 에서 재설정되어야 하지만 이는 거의 발생하지 않습니다. 또는 변수가 정적 없이 로컬로 선언되고 해당 값이 호출 간에 보존되지 않습니다. 코드없이 운세에 종사하는 것은 쓸모가 없습니다.
 

Спасибо. Это действительно работает. Но почему индикатор сохраняет значение переменной LastBarAlert, а значение какой нибудь другой переменной не сохраняет. Я делал так. По сути получается точно так же, но почему то не работает.

if (Signal && AllowAlert = true ){
Alert( 'Signal detected' );
AllowAlert = false ;
} 

확인 시점에 AllowAlert를 true로 설정했습니다. 다음과 같아야 합니다(이중 =).

 if (Signal && AllowAlert == true ){
Alert( 'Signal detected' ); 
 AllowAlert = false ;
 }    

그리고 다음과 같이 더 좋습니다.

 if (Signal && AllowAlert){
Alert( 'Signal detected' );
AllowAlert = false ; }   
 
leksiq :

확인 시점에 AllowAlert를 true로 설정했습니다. 다음과 같아야 합니다(이중 =).

그리고 다음과 같이 더 좋습니다.




일반적으로 변수는 정적으로 선언되었고 몇 마디 후에 재설정되었습니다. 조건은 이랬습니다.

 static bool AllowAlert = true ;

if (Time[i] == Time[ 2 ] && AllowAlert == true )
  {
  Alert( "sdfsdf" );
  AllowAlert = false ;
  }

if (Time[i] != Time[ 2 ])
  {
  AllowAlert = true ;
  }
이론적으로 신호는 현재 막대에 한 번 있어야 하지만 모든 틱 에서 작동했습니다.
 
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
bool NewBar(){ static int prevBar;
   if (prevBar!=Time[ 0 ]){
      prevBar =Time[ 0 ];
       return ( true );
   }
   return ( false );
}
//+------------------------------------------------------------------+
여기를 먼저 살펴보십시오. https://www.mql5.com/en/forum/131853 ?
 
FAQ :
여기를 먼저 살펴보십시오: https://www.mql5.com/en/forum/131853 ?

나는 그것을하는 방법이 아니라 내 코드가 작동하지 않는 이유에 더 관심이 있습니다. 더 정확하게는 Expert Advisor에서는 작동하지만 지표에서는 작동하지 않는 이유입니다.
 

아마도 이것은 여기 에서 나에게 제안되었습니다(귀하의 코드가 없는 경우)

여러 경고(이벤트)가 있고 모든 경고(이벤트)에 대해 동일한 통계 변수를 사용합니다.

 

여보세요.

누가 말할 수 있습니까?

고문 작업 범위를 만드는 방법? 설명을하겠습니다.

선을 그어 "buy_down"으로 이름을 바꿉니다.

두 번째 그림을 그리고 "buy_up"으로 이름을 바꿉니다.

그리고 고문이 이 라인들 사이에서만 거래할 수 있도록 합니다 .

감사하다.

 
TESKATLIPOKA :

여보세요.

누가 말할 수 있습니까?

고문 작업 범위를 만드는 방법? 설명을하겠습니다.

선을 그어 "buy_down"으로 이름을 바꿉니다.

두 번째 그림을 그리고 "buy_up"으로 이름을 바꿉니다.

그리고 고문이 이 라인들 사이에서만 거래할 수 있도록 합니다.

감사하다.


현재 위치: https://www.mql5.com/en/job