OrderSend() 함수에 버그가 있습니까? - 페이지 4

 
hoz :
글쎄, 네, 내가 운전하고 보는 시각에서 .. 그리고 올바르게 표시되지 않는 것은 무엇입니까? 결국, 시계 또는 H4 데모에서 차량을 롤백하면 몇 년 동안 겨울을 보낼 수 있습니다. :) ..... :) 이 얼마나 주석인지.

글쎄, 내가 어떻게 말할 수 있습니까? 시각화 도우미는 표시되는 것처럼 보이지만 무언가를 놓칠 수 있습니다. 일반적으로 실제로 신뢰할 수는 없습니다. 음, 모든 알고리즘에 대해 정확히 어떤 일이 일어나고 있는지 그림을 그립니다. 더 좋습니다. 데모를 병렬로 보려면 성배 는 하루아침에 탄생하지 않는다...

추신 또한, 나는 테스터의 수수께끼를 푸는 것보다 결국에는 더 빠르지 만 데모에서 주로 H1 아래에 모든 아이디어를 씁니다 ...

 
hoz :

이미 마쳤어. 또한, 나는 마우스에서 들여쓰기 변수를 약간 증가시키고 우리는 갑니다.... 눈으로 보는 것이 모든 것을 이해하는 것이 항상 가능한 것은 아닙니다.

성능 외에도 lastBarTime 변수를 전역 수준으로 제거하면 다른 것에 영향을 미치는지 궁금합니다. 결국 유형은 static 입니다. 즉, 변수는 프로그램 수명 동안 값을 저장합니다...

그리고 또 다른 흥미로운 순간. 여전히 다른 기능에서 마우스를 사용하는 경우 시작 부분에 즉시 선언하여 올바른 작업을 수행한 것입니까? 아니면 리소스 비용 측면에서 각 틱에서 값을 얻는 것이 매우 합리적이지 않습니까?


지역 변수 는 함수 내에서 선언된 변수입니다. 지역 변수의 범위는 이 변수가 선언된 함수의 본문입니다. 지역 변수는 해당 유형에 해당하는 상수 또는 표현식으로 초기화할 수 있습니다.

전역 변수 는 모든 함수 외부에서 선언된 변수입니다. 전역 변수의 범위는 전체 프로그램입니다. 전역 변수는 어떤 수준에서도 지역화되지 않습니다. 전역 변수는 해당 유형에 해당하는 상수로만 초기화할 수 있습니다(표현식은 아님). 전역 변수의 초기화는 특수 기능의 실행 시작 전에 한 번 수행됩니다.

프로그램의 컨트롤이 함수 내부에 있으면 다른 함수에서 선언된 지역 변수의 값을 사용할 수 없습니다. 전역 변수의 값은 모든 특수 및 사용자 정의 함수에서 사용할 수 있습니다.

 
모든 것이 더 쉽습니다. MQL4에서는 정적이 작동하지 않습니다.
 
tara :
모든 것이 더 쉽습니다. MQL4에서는 정적이 작동하지 않습니다.

언제부터?
 
죄송합니다. 전혀 작동하지 않습니다. 처음부터 C부터 :(
 
tara :
죄송합니다. 전혀 작동하지 않습니다. 처음부터 C부터 :(
이것을 확인할 수 있는 다른 프로그래머가 있습니까? 한 표로는 충분하지 않습니다.
 
tara :
모든 것이 더 쉽습니다. MQL4에서는 정적이 작동하지 않습니다.
전문가가 작성한 코드는 몇 개이며 종종 정적입니다. 그리고 당신은 그것이 작동하지 않는다고 말합니다. Komts는 지금 믿습니까? :(
 
hoz :
전문가가 작성한 코드는 몇 개이며 종종 정적입니다. 그리고 당신은 그것이 작동하지 않는다고 말합니다. Komts는 지금 믿습니까? :(
아무도 믿을 수 없다
 
tara :
죄송합니다. 전혀 작동하지 않습니다. 처음부터 C부터 :(

개인적으로, 나는 작동하지 않는 정적을 만난 적이 없습니다.

다음은 차트에서 확인하려는 경우 Expert Advisor의 예입니다.

 //+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
   static int cc= 20 ;
   Print ( "cc = " ,cc);
   cc++;
   
   return ( 0 );
  }
 

정적 작동 100%. 다음은 귀하를 위한 테스트입니다.

int start()
  {
   static int i= 0 ;
   while (i< 3 ) { Print ( "K=" ,test());i++;}
   return ( 0 );
  }
int test()
 {
   static int k= 0 ;
  k++;
   return (k);
 }

결과:

공전

사유: