보다 간소화된 코드에 대해 Nicholi에게 감사드립니다. 몇 가지 실험을 한 후, 나는 ask_diff를 float로 선언하면 정확한 자릿수와 차이가 발생하지만 유형 변환으로 인한 데이터 손실 가능성에 대한 컴파일 오류가 발생한다는 것을 발견했습니다. 내 차이점이 매우 작은 부정확성을 갖거나 컴파일 경고가 표시되는 것 중에서 선택해야 하는 것 같습니다. 후자가 거래 결정에 더 낫지 만 다른 사람이 ask_diff에서 소수점 이하 다섯 자리까지 얻을 수있는 솔루션을 가지고 있습니까?
rdone : 더욱 간소화된 코드를 제공해 주신 Nicholi에게 감사드립니다. 몇 가지 실험을 한 후, 나는 ask_diff를 float로 선언하면 정확한 자릿수와 차이가 발생하지만 유형 변환으로 인한 데이터 손실 가능성에 대한 컴파일 오류가 발생한다는 것을 발견했습니다. 내 차이점이 매우 작은 부정확성을 갖거나 컴파일 경고가 표시되는 것 중에서 선택해야 하는 것 같습니다. 후자가 거래 결정에 더 낫지 만 다른 사람이 ask_diff에서 소수점 이하 다섯 자리까지 얻을 수있는 솔루션을 가지고 있습니까?
귀하의 ask_diff는 int 유형이어야 하며 대신 다음과 같아야 합니다.
int diff = int ( round ((current.ask - last.ask) / _Point ));
종종 발생하는 것처럼 코드는 내가 원하는 것이 아니라 원래 해야 하는 일을 하고 있었습니다. 로직은 항상 tick_prev를 채워야 하지만 첫 번째 틱에서는 그렇지 않습니다. 첫 번째 틱에 tick_prev를 채울 필요가 없는 논리에 관심이 있지만 그렇지 않으면 작동합니다.
rdone : 종종 발생하는 것처럼 코드는 내가 원하는 것이 아니라 원래 해야 하는 일을 하고 있었습니다. 로직은 항상 tick_prev를 채워야 하지만 첫 번째 틱에서는 그렇지 않습니다. 첫 번째 틱에 tick_prev를 채울 필요가 없는 논리에 관심이 있지만 그렇지 않으면 작동합니다.
rdone : 종종 발생하는 것처럼 코드는 내가 원하는 것이 아니라 원래 해야 하는 일을 하고 있었습니다. 로직은 항상 tick_prev를 채워야 하지만 첫 번째 틱에서는 그렇지 않습니다. 첫 번째 틱에 tick_prev를 채울 필요가 없는 논리에 관심이 있지만 그렇지 않으면 작동합니다.
double은 거의 같지 않으므로 포인트 차이를 double로 저장하고 싶지 않습니다. 정수 값으로 저장하려고 합니다. 예를 들어 (1.00001 - 1.00000) / 0.00001 = 1포인트. 따라서 두 개의 틱만 비교하는 경우 코드를 더 간결하게 만들고 MqlTick 의 하위 클래스를 만들고 포인트 diff에 대해 int 속성을 추가할 수 있습니다.
더욱 간소화된 코드를 제공해 주신 Nicholi에게 감사드립니다. 몇 가지 실험을 한 후, 나는 ask_diff를 float로 선언하면 정확한 자릿수와 차이가 발생하지만 유형 변환으로 인한 데이터 손실 가능성에 대한 컴파일 오류가 발생한다는 것을 발견했습니다. 내 차이점이 매우 작은 부정확성을 갖거나 컴파일 경고가 표시되는 것 중에서 선택해야 하는 것 같습니다. 후자가 거래 결정에 더 낫지 만 다른 사람이 ask_diff에서 소수점 이하 다섯 자리까지 얻을 수있는 솔루션을 가지고 있습니까?
귀하의 ask_diff는 int 유형이어야 하며 대신 다음과 같아야 합니다.
방금 NormalizeDouble 및 DoubleToString을 발견했습니다. 야, 이런 날은 처음이야...
종종 발생하는 것처럼 코드는 내가 원하는 것이 아니라 원래 해야 하는 일을 하고 있었습니다. 로직은 항상 tick_prev를 채워야 하지만 첫 번째 틱에서는 그렇지 않습니다. 첫 번째 틱에 tick_prev를 채울 필요가 없는 논리에 관심이 있지만 그렇지 않으면 작동합니다.
종종 발생하는 것처럼 코드는 내가 원하는 것이 아니라 원래 해야 하는 일을 하고 있었습니다. 로직은 항상 tick_prev를 채워야 하지만 첫 번째 틱에서는 그렇지 않습니다. 첫 번째 틱에 tick_prev를 채울 필요가 없는 논리에 관심이 있지만 그렇지 않으면 작동합니다.
이것은 내가 달성하고자 하는 코딩 수준입니다. 에른스트 감사합니다!
double은 거의 같지 않으므로 포인트 차이를 double로 저장하고 싶지 않습니다. 정수 값으로 저장하려고 합니다. 예를 들어 (1.00001 - 1.00000) / 0.00001 = 1포인트. 따라서 두 개의 틱만 비교하는 경우 코드를 더 간결하게 만들고 MqlTick 의 하위 클래스를 만들고 포인트 diff에 대해 int 속성을 추가할 수 있습니다.