double 유형의 두 변수를 비교할 때 결과가 잘못된 경우가 있습니다. 이것은 아마도 변수 중 하나가 다른 것보다 약간 더 많거나 적을 수 있기 때문일 수 있습니다(예: 소수점 이하 10자리). NormalizeDouble 함수를 사용하면 대부분의 경우 도움이 되지 않습니다. 어떤 사람들은 한 변수를 다른 변수에서 빼라고 제안하지만, 하나의 변수를 다른 변수에서 빼서 if(a>=b) 문을 구성하는 가장 좋은 방법은 무엇입니까? 아니면 다른 방법이 있을까요?
나는 오래 전에 나 자신이 관찰한 한 가지 문제를 기억했습니다(그 이후로 무언가가 바뀌었을 수도 있습니다. 나는 모릅니다).
안녕하세요! 반복하겠습니다. 내 EA에서 MACDAK을 추세 필터로 사용합니다. EA가 McDuck의 특정 막대에서만 신호 분석을 시작하도록 강제할 수 있으며 추세가 변경되면 모든 것이 다시 수행됩니까? 예를 들어, 추세 시작의 MACD>0, 우리는 0보다 큰 McDuck의 15번째 막대 이후에만 신호 분석을 시작합니다.
안녕하세요! 반복하겠습니다. 내 EA에서 MACDAK을 추세 필터로 사용합니다. EA가 McDuck의 특정 막대에서만 신호 분석을 시작하도록 강제할 수 있으며 추세가 변경되면 모든 것이 다시 수행됩니까? 예를 들어, 추세 시작의 MACD>0, 우리는 0보다 큰 McDuck의 15번째 막대 이후에만 신호 분석을 시작합니다.
감사하다!
뭐가 문제 야? MACD가 0과 교차할 때 막대(시간)를 기억하고 각각의 새로운 막대에 대해 얼마나 멀리 떨어져 있는지 비교하십시오. Delta>15 => 앞으로.
내가 어드바이저를 썼는데, 전략의 조건에 따라 바(h1) 가격의 시가 대비 바의 시가에 시간당 1개의 주문을 해야 합니다. 성형봉에서 테스트 하면 다 괜찮지만 모든 타이머(실제 트레이딩 뿐만 아니라)에서 테스트 하면 항상 가격이 변할 때마다 하나씩 주문을 하게 됩니다!!!(이걸 어떻게 제어해요!? MT4를 작성하고 터미널도 MT4 그러한 작업을 위한 몇 가지 기능이 있다고 말해주세요. 가급적이면 예를 들어주세요. 미리 감사드립니다!)
내가 어드바이저를 썼는데, 전략의 조건에 따라 바(h1) 가격의 시가 대비 바의 시가에 시간당 1개의 주문을 해야 합니다. 성형봉에서 테스트 하면 다 괜찮지만 모든 타이머(실제 트레이딩도 마찬가지)로 테스트 하면 가격이 변할 때마다 항상 주문을 하나씩 내립니다!!!( 어떻게 제어할까요!? MT4를 작성하고 터미널도 MT4 그러한 작업을 위한 몇 가지 기능이 있다고 말해주세요. 가급적이면 예를 들어주세요. 미리 감사드립니다!)
.. "All Ticks" 방식으로 테스트할 때..
맨 처음에 전역 변수가 설정됩니다( start() 전에):
datetime TimeHandle = 0 ;
start() {
i = 0; // Для Советников
if (TimeHandle!=Time[i]) {
TimeHandle = Time[i];
. . .
}
}
나는 가격을 비교할 때 항상 약간의 +/-epsilon=Point*0.01을 사용합니다.
1,000,000을 곱하면 아무 일도 일어나지 않습니다. 나를 믿어.
왜 문제가 발생하는지 잘 모르겠습니다. <- bug?
문서에서:
저것들. 소수점 이하 자릿수는 최대 8이고 질문은 10을 언급했습니다. 아마도 이것이 사실일 것입니다.
double 유형의 두 변수를 비교할 때 결과가 잘못된 경우가 있습니다. 이것은 아마도 변수 중 하나가 다른 것보다 약간 더 많거나 적을 수 있기 때문일 수 있습니다(예: 소수점 이하 10자리). NormalizeDouble 함수를 사용하면 대부분의 경우 도움이 되지 않습니다. 어떤 사람들은 한 변수를 다른 변수에서 빼라고 제안하지만, 하나의 변수를 다른 변수에서 빼서 if(a>=b) 문을 구성하는 가장 좋은 방법은 무엇입니까? 아니면 다른 방법이 있을까요?
나는 오래 전에 나 자신이 관찰한 한 가지 문제를 기억했습니다(그 이후로 무언가가 바뀌었을 수도 있습니다. 나는 모릅니다).
a=5 및 c=4.0
MQ의 관점에서 볼 때 이 특별한 경우에는 a>c가 전혀 필요하지 않습니다.
이는 a=5.0 및 c=4.0 또는 a=5 및 c=4 인 경우 true입니다.
안녕하세요!
두 개의 숫자 1.4451과 1.4429가 있다고 가정해 보겠습니다.
이 숫자에서 마지막 숫자 1.445[1] 및 1.442[9]를 가져오는 방법은 무엇입니까?
안녕하세요!
두 개의 숫자 1.4451과 1.4429가 있다고 가정해 보겠습니다.
이 숫자에서 마지막 숫자 1.445[1] 및 1.442[9]를 가져오는 방법은 무엇입니까?
x = (10000 * y) % 10
그러나 숫자로 칠할 수 있으므로 바보를 위해 ...
미리 감사드립니다!!!
안녕하세요! 반복하겠습니다. 내 EA에서 MACDAK을 추세 필터로 사용합니다. EA가 McDuck의 특정 막대에서만 신호 분석을 시작하도록 강제할 수 있으며 추세가 변경되면 모든 것이 다시 수행됩니까? 예를 들어, 추세 시작의 MACD>0, 우리는 0보다 큰 McDuck의 15번째 막대 이후에만 신호 분석을 시작합니다.
감사하다!
그러나 숫자로 칠할 수 있으므로 바보를 위해 ...
미리 감사드립니다!!!
1.MQL4 참조(MetaEditor)-->언어 기본-->연산 및 표현식-->산술 연산
2.자습서 --> https://book.mql4.com/en/basics/expressions
안녕하세요! 반복하겠습니다. 내 EA에서 MACDAK을 추세 필터로 사용합니다. EA가 McDuck의 특정 막대에서만 신호 분석을 시작하도록 강제할 수 있으며 추세가 변경되면 모든 것이 다시 수행됩니까? 예를 들어, 추세 시작의 MACD>0, 우리는 0보다 큰 McDuck의 15번째 막대 이후에만 신호 분석을 시작합니다.
감사하다!
뭐가 문제 야? MACD가 0과 교차할 때 막대(시간)를 기억하고 각각의 새로운 막대에 대해 얼마나 멀리 떨어져 있는지 비교하십시오. Delta>15 => 앞으로.
무슨 일이야!?
무슨 일이야!?
.. "All Ticks" 방식으로 테스트할 때..
맨 처음에 전역 변수가 설정됩니다( start() 전에):