동일한 동작을 유발하는 조건에서 많은 "또는"(||)을 이스케이프할 수 있습니까? - 페이지 4

 

borilunad :

가장 복잡한 계산은 시장의 다양한 필수 데이터를 확인하고 각 틱에서 포지션을 여는 기능만큼 느려지지 않습니다.

사실, MarketInfo는 테스트에서 최악의 문제 중 하나입니다. 그러한 경우, 나는 보통 가능하면 두 블록으로 작성하며 실제 거래 모드에 대해서만 "실제" 요청을 합니다. 이것은 변경 불가능한(테스터에서) 데이터에 특히 효과적입니다. 예를 들면 다음과 같습니다.

 int spread;

int init()
{
...

   if (IsTesting())
   {
      spread = MarketInfo( Symbol (),MODE_SPREAD);
   }

...
 
}

int start()
{
...

   if (!IsTesting())
   {
      spread = MarketInfo( Symbol (),MODE_SPREAD);
   }

...
}

또한 모든 종류의 RefreshRates()를 if(!IsTesting()) 블록에 보내고 MODE_BID 및 MODE_ASK에 요청(빠른 Bid 및 Ask로 대체) 등을 보낼 수 있습니다.

 
alsu :

사실, MarketInfo는 테스트에서 최악의 문제 중 하나입니다. 그러한 경우, 나는 보통 가능하면 두 블록으로 작성하며 실제 거래 모드에 대해서만 "실제" 요청을 합니다. 이것은 변경 불가능한(테스터에서) 데이터에 특히 효과적입니다. 예를 들면 다음과 같습니다.

또한 모든 종류의 RefreshRates()를 if(!IsTesting()) 블록에 보내고 MODE_BID 및 MODE_ASK에 요청(빠른 Bid 및 Ask로 대체) 등을 보낼 수 있습니다.

제가 초기에 가지고 있는 MarketInfo 기능이 아니라, 조치를 취하는데 필요한 조건에서 규정된 시장 및 오픈 포지션 의 다양한 매개변수를 확인하는 기능을 의미합니다. 또한 MODE_BID 및 MODE_ASK가 필요하지 않습니다. 나는 항상 Bid'om과 Ask'를 사용합니다.
 
pako :

Pako님 정말 감사합니다! 글쎄, 내가 어떻게 추측하지 않았습니까? 너무 간단합니다! 이제 저녁을 먹고 내가 할 수 있는 모든 것을 하고 내 속도를 확인합니다.

그리고 나는 당신이 의미하는 것을 이해하지 못합니다. 이 숫자는 어디에서 왔습니까? 그리고 짧은 변수 이름에 관심이 있다면 긴 이름보다 짧은 이름을 선호합니다. 아니면 또 어떤가요? 예, 방금 내 공식에 clo 앞과 clo 뒤에 두 개의 대괄호를 추가했다는 것을 알았습니다. 이것은 전혀 필요하지 않으며 계산을 위반합니다. 그래도 진심으로 감사드립니다!

<--- 10,444 = 8,087 > 3,908 무슨 언어로?

나는 그것을했고, 그것을 확인했지만 결과는 아직 나를 기쁘게하지 않았고 실제로 실행 시간을 줄이지 않았습니다! 내일 나는 내가 할 수 있는 모든 것을 부풀리려고 노력할 것입니다. 그러면 아마도 약간의 차이가 있을 것입니다.

그러나 어쨌든 중요한 것은 Pako, Alexey, Viktor 및 기타 사용자 덕분에 코드를 작성하는 또 다른 중요한 방법을 얻었으며 이에 대해 매우 감사하다는 것입니다!

 

그런 경우에 저는 이 기능을 사용합니다.

예를 들어:

...
if (Request()) Action;

bool Request()
{
 if (A) return ( true );
 if (B) return ( true );
 if (C) return ( true );
 if (D) return ( true );
 return ( false );
}
 
borilunad :
나는 항상 Bid'om과 Ask'를 사용합니다.

그런 다음 여전히 RefreshRates()))가 필요합니다.
 
icas :

그런 경우에 저는 이 기능을 사용합니다.

예를 들어:

내가 이해하는 바와 같이, 당신은 모든 조건을 충족시킬 수 있는 선택권이 있지만, 나는 한 가지 조건만 충족하면 되며, 더 많은 조건이 충족될 경우(가능성이 희박하지만 매우 다르기 때문에) 이 상황에 이르지 않을 것입니다. 하나의 조건이 작동합니다. 제가 잘못 이해했다면 설명 부탁드립니다! 나는 항상 새로운 것에 만족합니다! 고맙습니다!
 
alsu :

그런 다음 여전히 RefreshRates()))가 필요합니다.
예, 시작 부분에 RefreshRates()가 있습니까, 아니면 충분하지 않습니까?
 
borilunad :
예, 시작 부분에 RefreshRates()가 있습니까, 아니면 충분하지 않습니까?
그것은 모두 계산을 완료하는 데 걸리는 시간에 달려 있습니다. 이 기간 동안 가격이 업데이트된 상황이 있을 수 있으며, 이는 Ask 및 Bid가 관련이 없음을 의미합니다. 따라서 거래 작업 을 수행하기 전에(보다 정확하게는 가격을 계산하기 전에) RefreshRates()를 추가로 호출하는 것이 좋습니다.
 
borilunad :
예, 시작 부분에 RefreshRates()가 있습니까, 아니면 충분하지 않습니까?
Start 함수 실행을 시작할 때 RefreshRates를 사용하는 것은 의미가 없습니다. Ask 및 Bid는 아직 사용되지 않습니다.
 
alsu :
그것은 모두 계산을 완료하는 데 걸리는 시간에 달려 있습니다. 이 기간 동안 가격이 업데이트된 상황이 있을 수 있으며, 이는 Ask 및 Bid가 관련이 없음을 의미합니다. 따라서 거래 작업을 수행하기 전에(보다 정확하게는 가격을 계산하기 전에) RefreshRates()를 추가로 호출하는 것이 좋습니다.

따라서 각 일련의 조건 전에 RefreshRates()가 필요합니까? 그리고 실행하는 함수마다 오류를 체크하는 부분에 RefreshRates()가 있어서 순서를 반복하는 것만으로도 충분하다는 생각이 들었습니다. 그런 다음 나는 더 많은 RefreshRates()를 내려놓고 무슨 일이 일어나는지 보려고 노력할 것입니다! 고맙습니다!

그리고 Pap' Yozh'도 감사합니다!