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

 

안녕하세요.

NewBar(sy, TF)와 같은 기능이 있습니다. 그녀는 새로운 바가 열렸는지 확인하려고 합니다. 5분 지연된 새 막대 모양에 대한 시간별 차트의 신호를 받아야 합니다. 즉, 0.05, 1.05, 2.05, ......., 10.05, 11.05 등에서 신호를 받고 싶습니다. 안녕하세요.


그것을 하는 방법? 어떻게 든 기능 자체를 변경할 수 있습니까?

 
hoz :

글쎄요 #property 라이브러리를 제거했는데 경고가 없었고 시작 기능도 없었습니다 ..

무엇에 대한 경고입니까?
 
Vinin :

무엇에 대한 경고입니까?


어때요 ... 여기 :

세르게예프 :
누락 된 시작에 대한 경고를보고 싶지 않은 경우 필요합니다.

 
gince :

안녕하세요.

NewBar(sy, TF)와 같은 기능이 있습니다. 그녀는 새로운 바가 열렸는지 알아보려고 합니다. 5분 지연된 새 막대 모양에 대한 시간별 차트의 신호를 받아야 합니다. 즉, 0.05, 1.05, 2.05, ......., 10.05, 11.05 등에서 신호를 받고 싶습니다. 안녕하세요.


그것을 하는 방법? 어떻게 든 기능 자체를 변경할 수 있습니까?


당신은 전역적으로 선언합니다:

 datetime = bdt_lastBarTime;

초기화에서:

bdt_lastBarTime = 0 ;

시작:

 if (g_lastBarTime == Time[ 0 ])         // На текущем баре все необходимые действия..
       return ( 0 );                     // ..уже были выполнены

// если ...
//.. бар новый...
//.. делаем то..
//.. что нужно выполнить на очередном..
//.. новом баре

g_lastBarTime = Time[ 0 ];               // На текущем баре все необходимые действия..
                                       // .. успешно выполнены

시간[ 0 ] 대신; iTime()을 표시하여 현재 막대가 아니라 다른 시간대 의 새 막대 를 얻을 수 있습니다.

 
hoz :


당신은 전역적으로 선언합니다:

초기화에서:

시작:

시간[ 0 ] 대신; iTime()을 표시하여 현재 막대가 아니라 다른 시간대의 새 막대를 얻을 수 있습니다.


여기에만 문제가 있습니다. 변수 이름이 일치하지 않습니다. 에이에이에이. 부주의인가 습관인가?
 
Vinin :

여기에만 문제가 있습니다. 변수 이름이 일치하지 않습니다. 에이에이에이. 부주의인가 습관인가?

이것은 부주의입니다. 수정하겠습니다.

당신은 전역적으로 선언합니다:

 datetime = bdt_lastBarTime;

초기화에서:

bdt_lastBarTime = 0 ;

시작:

 if (bdt_lastBarTime == Time[ 0 ])         // На текущем баре все необходимые действия..
       return ( 0 );                     // ..уже были выполнены

// если ...
//.. бар новый...
//.. делаем то..
//.. что нужно выполнить на очередном..
//.. новом баре

bdt_lastBarTime = Time[ 0 ];               // На текущем баре все необходимые действия..
                                       // .. успешно выполнены

시간[ 0 ] 대신; iTime()을 표시하여 현재 막대가 아니라 다른 시간대 의 새 막대 를 얻을 수 있습니다.

 

특히 이 작업에만 사용됩니다.

 bool NewBar05()
{
static bool newbar;
if (Minute()== 5 && !newbar) 
   {
   newbar= true ;
   return true ;
   } 
if (Minute()> 5 && newbar)  newbar= false ;
   return    false ;
}
    
 
xxxKillxxx :

동지, 다시 한 번 실례합니다. 그런데 문제가 생겼습니다. 문을 닫고 구문을 관찰하여 필요한 블록을 추출할 수 있었습니다(사실 저는 프로그래밍에서 붐붐이 전혀 아닙니다). 오류 및 경고 하지만 어드바이저가 출시되었을 때 거래는 아직 종료되지 않았습니다. 문제는 내가 고문의 코드를 게시할 수 없지만 문제를 해결하는 데 매우 필요하다는 것입니다. 그것이 당신을 힘들게 하지 않는다면, 당신의 소중한 시간을 다시 저에게 보내십시오. 해결을 위해 어떤 옵션이 있을 수 있는지 저에게 설명해 주십시오 문제는 중요하다면 어드바이저가 외환 생성기 4에서 생성되었다고 말할 수 밖에 없습니다.

이유를 설명하는 것이 어렵지 않다면 부탁드립니다.(tyk-myk 방법을 사용하여 손가락을 사용하는 것이 좋습니다. 그렇지 않으면 이 방법으로만 프로그래밍할 것입니다.) 미리 감사합니다.


글쎄, 내 코드 또는 이미 귀하의 고문 코드 섹션은 0.1% 이상에서 지정된 이익을 마감합니다. 외환 생성기 4에서 자산을 잔액보다 높게 만들기 위해 무언가를 할 수 있었습니까?
 
Roger :

특히 이 작업에만 사용됩니다.


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

질문은 이것이었습니다.

< 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를 반환합니다.

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

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

 bool isNewBar5 ()
{

     static int    LastBar = 0 ; 
     datetime       curbar = iTime ( Symbol (), 60 , 0 ) + 300 ; 
     int                 h = Hour();
     if (LastBar != curbar && h == h + 1 && Minute() == 5 )
    {
        LastBar = curbar;
         return ( true );
    }
     else
    { return ( false );}
}
 
gince :

안녕하세요.

NewBar(sy, TF)와 같은 기능이 있습니다. 그녀는 새로운 바가 열렸는지 알아보려고 합니다. 5분 지연된 새 막대 모양에 대한 시간별 차트의 신호를 받아야 합니다. 즉, 0.05, 1.05, 2.05, ......., 10.05, 11.05 등에서 신호를 받고 싶습니다. 안녕하세요.


그것을 하는 방법? 어떻게 든 기능 자체를 변경할 수 있습니까?


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

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