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

 
Integer :


int bt=((TimeCurrent()-5*60)/3600)*3600;

bt의 값은 매시간 5분마다 변경됩니다. 마지막에 3600을 곱할 수 없습니다. 신기원의 시작 부분부터 막대 번호가 있을 것입니다. 이것은 새 막대를 결정하기에 충분합니다.

이해하지 못했습니다. 가능한 경우 전체 코드.
 
gince :


도와주신 모든 분들께 감사드립니다.

질문은 이것이었습니다.

< NewBar(sy, TF)라는 함수가 있습니다. 그녀는 새로운 바가 열렸는지 알아보려고 합니다. 5분 지연된 새 막대 모양에 대한 시간별 차트의 신호를 받아야 합니다. 즉, 0.05, 1.05, 2.05, ......., 10.05, 11.05 등의 신호를 받고 싶습니다. >

질문을 설명합니다. 이 함수는 매시간 true를 반환해야 하지만 지연 시간은 5분입니다. 즉, 막대 1.05의 형성이 끝나고 막대 2.05가 나타나면 후자의 모양과 함께 함수가 true를 반환합니다. 함수는 1.10, 2.10 등에서 막대 모양으로 true를 반환합니다.

그림에서 노란색 선은 다음 막대에 참이 있음을 나타냅니다.

나는 당신의 제안에 따라 그것을 시도했지만 작동하지 않습니다.


유형이 올바르지 않다는 것이 즉시 눈에 들어왔습니다.

 static int   LastBar = 0 ; 
datetime     curbar = iTime ( Symbol (), 60 , 0 ) + 300 ; 

그런 다음 그것들을 비교하고 값을 할당하십시오 ... int to datetime

 

그가 급히 쓴 흐름. 의미를 파악할 수 있으며 모든 것이 올바른 방향으로 진행되고 있습니다.

 bool IsTrueBar ()
{
     static datetime LastTrueBar = 0 ;
     datetime OOT, CurBar, ShiftFromOOT;
//----    
    OOT = iTime ( Symbol (), PERIOD_H1 , 0 );   // Время открытия часовик
    CurBar = OOT + ShiftFromOOT;             // Время открытия со сдвигом
    
     if (LastTrueBar != CurBar)
    {
        LastTrueBar = CurBar;
         return ( true );
    }
     else return ( false );
}
 

왜 창을 부수고 있습니까 ... 매 5분마다 TRUE가 반환되고 1분 동안 유지됩니다.

 bool NewBar(){
 if (Minute()== 5 ) return ( true );
 else return ( false );
}
 
Integer :


int bt=((TimeCurrent()-5*60)/3600)*3600;

bt의 값은 매시간 5분마다 변경됩니다. 마지막에 3600을 곱할 수 없습니다. 신기원의 시작 부분부터 막대 번호가 있을 것입니다. 이것은 새 막대를 결정하기에 충분합니다.


놓쳤다. 끝에 3600을 곱하면 수정 5 * 60을 다시 추가하십시오.

 
Sepulca :

왜 창을 부수고 있습니까 ... 매 5분마다 TRUE가 반환되고 1분 동안 유지됩니다.


결국, 그리고 실제로 우리는 똑똑한 표정으로 여기에 쌓였습니다 ...
 
Integer :


놓쳤다. 끝에 3600을 곱하면 수정 5 * 60을 다시 추가하십시오.


어떻게 든 모든 것이 포장되어 읽을 수 없습니다. 나는 요점을 얻었지만.
 
hoz :


유형이 올바르지 않다는 것이 즉시 눈에 들어왔습니다.

그런 다음 그것들을 비교하고 값을 할당하십시오 ... int to datetime

intdatetime 은 같은 유형입니다.
 
Sepulca :

왜 창을 부수고 있습니까 ... 여기에서 매 5분마다 TRUE를 반환하고 1분 동안 유지합니다.

이 1분 동안 고문은 그를 위해 최대 40개의 주문을 엽니다.
 
Roger :
이 1분 동안 고문은 그를 위해 최대 40개의 주문을 엽니다.


따라서 주문 수를 제어하거나 함수에 대한 첫 번째 호출만 제어해야 합니다.