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

 
paladin80 :
친절한 사람들은 속도 1 또는 2 측면에서 어떤 디자인이 더 나은지 알려줍니다(또는 내 질문이 논의된 링크를 던집니다).

2.

MT4에서 && 작업이 순서대로 확인되는지 정확히 확신할 수 없기 때문에 중단이 false로 설정되어 있습니다.

 
sergeev :

2.

MT4에서 && 작업이 순서대로 확인되는지 정확히 확신할 수 없기 때문에 중단이 false로 설정되어 있습니다.

정보 감사합니다. 코드를 수정하겠습니다.
 
paladin80 :
정보 감사합니다. 코드를 수정하겠습니다.

읽기를 저장하기 위해 일반적으로 다음과 같이 씁니다.

 // --- 2
if (Stochastic1<= 20 ) if (signal<value) if (flag>Big_flag) if (Ask<=price)
{
   RefreshRates ();
   OrderSend (...);
}
 
sergeev :

읽기를 저장하기 위해 일반적으로 다음과 같이 씁니다.


이 힌트에 대한 ATP, 그렇지 않으면 "하나의 따옴표를 건너 뛰고 올바른 위치에 삽입하는 것이 아니라 몇 개의 따옴표를 추가해야합니까?"라고 생각했을 때 약간 우울했습니다. 그런 녹음의 가능성이 저를 다시 살아나게 했습니다.
 
paladin80 :
그런 녹음의 가능성이 저를 다시 살아나게 했습니다.

루프 / 조건에 문이 하나만 있는 경우 따옴표를 생략할 수 있음을 기억하십시오.

가장 중요한 것은 다음과 같은 중첩 조건에 걸리지 않는 것입니다.

 if (cond1)
{
   if (cond2) operator1;
   else operator2;
}

записывать вот так нельзя:

if (cond1)
   if (cond2) operator1;
   else operator2;

так как оператор else непонятно к чему относится
к cond1 или cond2.
 

조언은 분명합니다. || 사용에 금기 사항이 있습니까? (또는) 예를 들어 다음과 같습니다.

 if (signal<value || flag>Big_flag)
{   RefreshRates ();
   OrderSend (...);
}

.

 
sergeev :

루프 / 조건에 문이 하나만 있는 경우 따옴표를 생략할 수 있음을 기억하십시오.

가장 중요한 것은 다음과 같은 중첩 조건에 걸리지 않는 것입니다.

 if (cond1)
{
   if (cond2) operator1;
   else operator2;
}

записывать вот так нельзя:

if (cond1)
   if (cond2) operator1;
   else operator2;

так как оператор else непонятно к чему относится
к cond1 или cond2.

사실, 여기에서 모든 것이 명확해 보입니다. else는 마감된 else가 아닌 가장 가까운 초기 if를 나타냅니다. 아니면 여기에서 뭔가를 이해하지 못하고 있습니까?

그러나 어쨌든 의심스러운 경우 모든 종류의 괄호를 사용하는 것이 좋습니다(중괄호와 원형 모두). 나는 구조가 사소하지 않다면 항상 이것을 하려고 노력한다.

 
paladin80 :

조언은 분명합니다. || 사용에 금기 사항이 있습니까? (또는) 예를 들어 다음과 같습니다.

아니, 좋은 신호 || 더 이상 "연속적으로" 흩어지지 않을 것입니다.

중간 변수를 통해 제외

부울 b1=A1 || 답2; // 여기서 긴 조건을 조각할 수 있습니다.

if (b1) // 여기에서 b1은 다양한 다른 조건과 결합될 수 있습니다.
 
Mathemat :

사실, 여기에서 모든 것이 명확해 보입니다. else는 마감된 else가 아닌 가장 가까운 초기 if를 나타냅니다. 아니면 여기에서 뭔가를 이해하지 못하고 있습니까?

그러나 어쨌든 의심스러운 경우 모든 종류의 괄호를 사용하는 것이 좋습니다(중괄호와 원형 모두). 나는 구조가 사소하지 않다면 항상 이것을 하려고 노력한다.


proger는 쉽게 실수할 수 있습니다.

 if (cond1)  
{  if (cond2) operator1; }
else operator2;

그렇지 않다

 if (cond1)
{
  if (cond2) operator1;
   else operator2;
}

이해하다?

 

물론 이해합니다. 하지만 경험 많은 코더는 그런 실수를 하지 않을 것입니다. 왜냐하면 아직 아무 것도 없더라도 필요한 곳에 중괄호를 넣을 것이기 때문입니다. :)

그리고 (종이인 양) 괄호와 줄을 생략하는 경험이 없는 사람은 물론 실수할 위험이 더 큽니다.

중괄호가 없으면 현대 언어에서 채택하는 구문 분석 규칙에 대해 이야기 한 것입니다.