정사각형 또는 직사각형 그리기. 정말 도움이 필요해요...

 

통화 쌍에서 가격이 변할 때 차트에 정사각형이나 직사각형을 그리고 15초 동안 유지하고 제거하고 다음 가격 변동에 나타나는 방법은 무엇입니까?

도와주세요, 제가 오랫동안 고생했습니다. 그냥 그리기 - 쉽지만 가격이 변할 때 - 아무것도 =(.

 

죄송합니다. 직접 코드를 작성하고 디버깅할 시간이 없지만 제 TOR를 처리할 수 있을 것 같습니다. 다음과 같은 지표를 만들어야 합니다.

1) 정적 변수 선언 static double PrevPrice=0.0;

2) 시작시 우리는 구성을 씁니다.

if(PrevPrice!=입찰가)

{

삭제 상자(...); /* 사각형을 제거합니다(아직 있을 경우) */

그리기 상자(...); /* 직사각형 그리기 */

수면(15000); /* 15초 대기 */

삭제 상자(...); /* 사각형 제거 */

PrevPrice=입찰가; /* 새 수표의 새 가격을 기억합니다. */

}

 

삭제박스(...);

그리기 상자(...);



도움말에도 그런 기능이 없었는데 답변 감사합니다.

 

수면 기능 은 표시등에서 작동하지 않습니다.

무한 루프에서 실행되는 스크립트 또는 Expert Advisor가 필요합니다.

 

두 번째 기능인 Expert Advisor에서 이 작업을 수행해야 합니다. 그러한 고문이 있습니다.


 static double mSaveAsk ;
 
int init ()
{
   mSaveAsk = Ask ;
}
 
int start ()
{
   if ( Ask != mSaveAsk )
   {
       PlaySound ( " alert.wav " ) ;
   }
   mSaveAsk = Ask ;
}
 
Chaos666 писал (а) >>

두 번째 기능인 Expert Advisor에서 이 작업을 수행해야 합니다. 그러한 고문이 있습니다.

MQL4 코드를 추가하려면 다음 명령을 사용하여 편집기에서 소스 코드를 추가하십시오.

 
좋은.
 
Chaos666 писал (а) >>

삭제박스(...);

그리기 상자(...);

도움말에서도 그런 기능을 찾지 못했는데 답변 감사합니다.

그리고 당신은 그것을 찾지 못할 것입니다. 이러한 기능은 직접 수행해야 합니다.

 
무슨 말인지 알겠다. 불행히도, 나는 이 표시에 대해 매우 서툴다. 나는 단지 배우는 중이다. 몇 가지 예가 필요하여 도움을 요청했습니다....
 
#property copyright " Copyright © 2008, D500 "
#property link        " http://www.metaquotes.net "
extern int Timer = 15 ;
extern color Coler = OrangeRed ;
 
double PrevPrice ;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init ()
   {
//----
 
//----
   return ( 0 ) ;
   }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit ()
   {
//----
   
//----
   return ( 0 ) ;
   }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start ()
   {
//----
   if ( PrevPrice != Bid )
 
{
 
if ( ObjectFind ( " QUADRO " ) == 0 )    DeleteBox () ; /* удаляем прямоугольник (на случай если он все еще есть) */
 
DrawBox () ; /* рисуем прямоугольник */
 
Sleep ( Timer * 1000 ) ; /* ждем 15 секунд */
 
PrevPrice = Bid ; /* запоминаем новую цену для новой проверки */
 
}
//----
   return ( 0 ) ;
   }
//+------------------------------------------------------------------+
void DrawBox ()
{
     ObjectCreate ( " QUADRO " , OBJ_RECTANGLE , 0 , Time [ 5 ] , Close [ 0 ] - 10 * Point , Time [ 0 ] , Close [ 0 ] + 10 * Point ) ;
     ObjectSet ( " QUADRO " , 6 , Coler ) ;
     return ;
}
//-------------------------------------------------------------------+
void DeleteBox ()
{
       ObjectDelete ( " QUADRO " ) ;
       return ;
}
이 고문은 당신의 본보기입니다. 실험.
 
매우 감사합니다.