학습 논리 - 페이지 9

 

네 :) 제가 조금 과장했습니다.

다음은 또 다른 예입니다. MQL에서는 제대로 작동하지 않을 수 있지만 C++에서는 작동합니다.

 for ( int i = OrdersTotal (); i--;)
{
   if (! OrderSelect (i - 1 , SELECT_BY_POS)) continue ;

   //...
}
 
Mathemat :

여전히 판매 중?

그저 그래. 내부에 논리적 피연산자가 있는데 제가 잘못 읽었습니다. 사실이 밝혀지면

- 그래서, 그렇지?

그럼, 넌센스 제곱. 코드를 읽을 수 없습니다 :)


코드는 꽤 읽을 수 있습니다. 그럴만한 이유가 있습니다.
 

의미(모든 판매 주문 )를 해독하지 않으려면 주문 유형의 식별자를 설명하는 것이 더 현명합니다. 더 길지만 훨씬 더 명확해집니다.

간결함의 관점에서 볼 때 - 예, 이것은 솔루션이지만 너무 신뢰할 수는 없습니다. 개발자 회사는 이러한 상수의 숫자 값이 절대 변경되지 않을 것이라고 보증하지 않습니다.

 
Mathemat :

의미(모든 판매 주문)를 해독하지 않으려면 주문 유형의 식별자를 설명하는 것이 더 합리적입니다. 더 길지만 훨씬 더 명확해집니다.

간결함의 관점에서 볼 때 - 예, 이것은 솔루션이지만 너무 신뢰할 수는 없습니다. 개발자 회사는 이러한 상수의 숫자 값이 절대 변경되지 않을 것이라고 보장하지 않습니다.


이것이 전체 문제입니다. 갑자기 작동을 멈추는 우아한 코드를 만들 수 있습니다.
 
TheXpert :

다음은 또 다른 예입니다. MQL에서는 제대로 작동하지 않을 수 있지만 C++에서는 작동합니다.

 for ( int i = OrdersTotal (); i--;)
{
   if (! OrderSelect (i - 1 , SELECT_BY_POS)) continue ;

   //...
}
테스트는 해보지 않았지만 직접 작성하지는 않습니다.
 
TheXpert :

네 :) 제가 조금 과장했습니다.

다음은 또 다른 예입니다. MQL에서는 제대로 작동하지 않을 수 있지만 C++에서는 작동합니다.


이것은 더 이상 최적화가 아니라 변태 ... 죄송합니다 정교 ...

세 번째 변수를 사용하지 않고 두 숫자 변수 간에 값을 교환하는 방법에 대한 좋은 문제가 기억났습니다. ))

 
Vinin :
갑자기 작동을 멈추는 우아한 코드를 만들 수 있습니다.

이것이 요점입니다. 이 코드는 우아하지 않습니다. 이것은 더 좋을 것입니다:

 bool IsActiveType( int orderType)
{
   return (type == OP_BUY || type == OP_SELL);
}

bool IsAnySellType( int orderType)
{
   return (type == OP_SELL || type == OP_SELLLIMIT || type == OP_SELLSTOP);
}

{
   if (IsActiveType(OrderType()))
   {
       //...
   }

   if (IsAnySellType(OrderType()))
   {
       //...
   }
}

denis_orlov :

이것은 더 이상 최적화가 아니라 변태 ... 죄송합니다 정교 ...

세 번째 변수를 사용하지 않고 두 숫자 변수 간에 값을 교환하는 방법에 대한 좋은 문제가 기억났습니다. ))

네 :) 그렇군요.
 
TheXpert :

이것이 요점입니다. 이 코드는 우아하지 않습니다. 이것은 더 좋을 것입니다 :

네, 바로 그것입니다. 한 줄에 본문이 있는 기능을 취소한 사람은 아무도 없었습니다. 정말 유용합니다.
 
TheXpert :

이것이 요점입니다. 이 코드는 우아하지 않습니다. 이것은 더 좋을 것입니다 :


좋아요. 좋아 보인다
 
TheXpert :

이것이 요점입니다. 이 코드는 우아하지 않습니다. 이것은 더 좋을 것입니다 :



기능 매개변수를 제거하기만 하면 더 우아해집니다. 매개변수가 설정되지 않은 경우 주문의 OrderType()에서 결정하고 설정되어 있으면 매개변수별로 결정합니다.

나는 여기서 당신과 함께 지루합니다 :)