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

 
DanLett :

저것들. 현재 bar[0]이 구축되는 동안 이전 bar[0]가 결정됩니다.


글쎄, 옵션으로 :

 datetime last_time;   // глобальная переменная

...

int start()
{
   if (last_time != Time[ 0 ])
   {
       // Ура, новый бар!
      last_time = Time[ 0 ];       // запоминаем новый бар
       //... ваши расчеты с плюсованием
   }
   
... дальше работаем
 
7777877 :

예, 감사합니다. 도움이 되었습니다... 하지만 ObjectSet(object_name,OBJPROP_TIMEFRAMES,PERIOD_H1) 옵션이 작동하지 않는 이유를 알고 싶습니다. 이것은 언어 자체의 결함입니까?

사실상 PERIOD_H1 과 OBJ_PERIOD_H1은 모두 일부 숫자 값을 문자 그대로 대체한 것입니다.

OBJ_PERIOD_H1 = 0x0010(이 빌드의 경우) = 0001 0000(바이너리)

PERIOD_H1 = 60(이 빌드의 경우) = 0011 1100(바이너리)


교체가 얼마나 쉬운지, 실수로 H4, H1, M30 및 M15의 한 기간 대신 4개만 교체했습니다.


그리고 ObjectSet(object_name,OBJPROP_TIMEFRAMES,0x0010) (당신이 원했던)를 호출하는 대신에, 당신은

ObjectSet(object_name,OBJPROP_TIMEFRAMES,0x3C)

 
datetime last_time;   // глобальная переменная

...

int start()
{
   if (last_time != Time[ 0 ])
   {
       // Ура, новый бар!
      last_time = Time[ 0 ];       // запоминаем новый бар
       if (close[ 1 ]>open[ 1 ]) 
xBost_b=xBost_b+((close[ 1 ]-low[ 1 ])* 10000 );
   }

Time[0]은 무엇이며 1번 플러스에 어떤 영향을 미칠까요?! 나만 이해가 안됐어...

 
DanLett :

Time[0]은 무엇이며 1번 플러스에 어떤 영향을 미칠까요?! 나만 이해가 안됐어...

시간[0]은 가장 최근(현재) 막대 의 여는 시간입니다 . 새로운 막대가 도착하자마자 변경됩니다.

자세한 내용을 보려면 MetaEditor에 시간을 입력하고 F1 키를 누르십시오.

 
ilunga :

시간[0]은 가장 최근(현재) 막대의 여는 시간입니다. 새로운 막대가 도착하자마자 변경됩니다.

자세한 내용을 보려면 MetaEditor에 시간을 입력하고 F1 키를 누르십시오.

지금 읽어볼게요! 매우 감사합니다!
 
DanLett :
지금 읽어볼게요! 매우 감사합니다!

그런 다음 iTime() 을 보는 것을 잊지 마십시오.
 
   datetime last_time;   // глобальная переменная
   int xBost_b;
   int xBost_s;
double hi=High[ 1 ];
double op=Open[ 1 ];
double cl=Close[ 1 ];
double lo=Low[ 1 ];
int Sum_xb;
int Sum_xs;
 
 if (last_time != Time[ 0 ])
   {
       // Ура, новый бар!
      last_time = Time[ 0 ];       // запоминаем новый бар
       if (Close[ 1 ]>Open[ 1 ]) 
xBost_b=(hi-cl)* 10000 ;
Sum_xb=Sum_xb+xBost_b; <---------не плюсует,выдает такое же число как и xBost

       if (Close[ 1 ]<Open[ 1 ])
 xBost_s=(cl-lo)* 10000 ; 
Sum_xs=Sum_xs+xBost_s;    
Comment ( "\n kolvo_b=" ,xBost_b, "\n Sum_xb=" ,Sum_xb, "\n kolvo_s=" ,xBost_s, "\n Sum_xs=" ,Sum_xs);

   }
매번 upvote하는 방법???
 
DanLett :
매번 upvote하는 방법???
전역 변수 는 모든 함수 외부에 있어야 합니다. 거기에도 돈을 보내십시오. 또는 이러한 변수를 정적으로 선언하십시오.
 
DanLett :
매번 upvote하는 방법???
start() 함수에서 last_time을 추출하고 정적 선언
 
합성 막대( https://www.mql5.com/ru/articles/1353 )에서 EA 내부의 기능이 공개 가격에서만 작동하도록 하는 방법은 무엇입니까? 보통의 경우, 현재 bar-type의 여는 시간에 따라 수행됩니다. if (Time[0] == prevtime4) return;
prevtime4=시간[0]; 하지만 신디사이저 바에는 시간이 없습니다. 이론상, 입찰가가 시가인 경우 여기에 쓸 수 있지만 어떻게 해야 하는지 x.