사이클에서 교차점을 찾고 있습니다. 그리고 제로 바에서 역사 속으로. 따라서 IntersectionXX() 함수는 막대 번호를 반환합니다.
이 모든 것이 무엇입니까?
바 번호, 예. 그러나 나는 막대의 수 를 알아야 합니다. 역사의 뒷편에 있는 이 막대에서 0번째 막대까지. 간단히 말해서 MA에서 막대가 분리되는 각도가 필요합니다. 그러나 그것은 계산할 수 없기 때문에 나에게 보이는 것처럼 (세로로 가격, 가로로 서로 일정 거리에 배치 된 막대는 호환되지 않는 값입니다). 한 번 포럼에는 계수를 도입하자는 제안이 있었습니다. 즉, 가격 차이를 막대 수로 나눈 값입니다. 그 생각은 나에게 건전한 것 같다. 생기를 불어넣고 싶지만 찻주전자 자체이기 때문에 스스로 무엇인가를 찾고 시행착오를 겪으며 시도한다.
바 번호, 예. 그러나 나는 막대의 수 를 알아야 합니다. 역사의 뒷편에 있는 이 막대에서 0번째 막대까지. 간단히 말해서 MA에서 막대가 분리되는 각도가 필요합니다. 그러나 그것은 계산할 수 없기 때문에 나에게 보이는 것처럼 (세로로 가격, 가로로 서로 일정 거리에 배치 된 막대는 호환되지 않는 값입니다). 한 번 포럼에는 계수를 도입하자는 제안이 있었습니다. 즉, 가격 차이를 막대 수로 나눈 값입니다. 그 생각은 나에게 건전한 것 같다. 생기를 불어넣고 싶지만 찻주전자 자체이기 때문에 스스로 무엇인가를 찾고 시행착오를 겪으며 시도한다.
겉보기에 간단한 문제를 풀지 못하는 것 같습니다. 차트 어딘가에 MA의 크로스오버가 있었습니다. 교차로 후에 막대를 찾습니다. 이 막대에서 현재 막대까지 의 막대 수를 계산하는 방법은 무엇입니까?
겉보기에 간단한 문제를 풀지 못하는 것 같습니다. 차트 어딘가에 MA의 크로스오버가 있었습니다. 교차로 후에 막대를 찾습니다. 이 막대에서 현재 막대까지 의 막대 수를 계산하는 방법은 무엇입니까?
작동하는 것 같습니다(적어도 주석은 화면에 올바른 것을 표시합니다). " 막대 수 " 덕분에 해결책을 찾은 것 같습니다. 필요한 막대의 날짜 시간을 결정하기 위해 iTime 함수를 사용했습니다. 개요는 다음과 같습니다.
무효 OnTick()
{
int nBarsUp, nBarsDn;
datetime date_dn = iTime(NULL, 0, IntersectionDN());
datetime date_up = iTime(NULL, 0, IntersectionUp());
datetime date_1 = iTime(NULL, 0, 1);
nBarsUp = Bars(Symbol(), 0, date_up, date_1);
nBarsDn = Bars(Symbol(), 0, date_dn, date_1);
Comment("긴 막대의 수: " + nBarsUp + "\n"+
"짧은 마디 수: " + nBarsDn);
}
//+----------------------------------------------- --------------------+
int IntersectionDN()
{
for(int i = 0; i < 36; i++)
{
if(iMA(Symbol(), 0, 5, 0, MODE_EMA, PRICE_CLOSE, i) > iMA(Symbol(), 0, 21, 0, MODE_EMA, PRICE_CLOSE, i)
&& iMA(Symbol(), 0, 5, 0, MODE_EMA, PRICE_CLOSE, i-1) < iMA(Symbol(), 0, 21, 0, MODE_EMA, PRICE_CLOSE, i-1))
리턴(i-1);
}
리턴(-1);
}
int IntersectionUp()
{
for(int i = 0; i < 36; i++)
{
if(iMA(Symbol(), 0, 5, 0, MODE_EMA, PRICE_CLOSE, i) < iMA(Symbol(), 0, 21, 0, MODE_EMA, PRICE_CLOSE, i)
&& iMA(Symbol(), 0, 5, 0, MODE_EMA, PRICE_CLOSE, i-1) > iMA(Symbol(), 0, 21, 0, MODE_EMA, PRICE_CLOSE, i-1))
리턴(i-1);
}
리턴(-1);
}
작동하는 것 같습니다(적어도 주석은 화면에 올바른 것을 표시합니다). " 막대 수 " 덕분에 해결책을 찾은 것 같습니다. 필요한 막대의 날짜 시간을 결정하기 위해 iTime 함수를 사용했습니다. 개요는 다음과 같습니다.
사이클에서 교차점을 찾고 있습니다. 그리고 제로 바에서 역사 속으로. 따라서 IntersectionXX() 함수는 막대 번호를 반환합니다.
이 모든 것이 무엇입니까?
사이클에서 교차점을 찾고 있습니다. 그리고 제로 바에서 역사 속으로. 따라서 IntersectionXX() 함수는 막대 번호를 반환합니다.
이 모든 것이 무엇입니까?
바 번호, 예. 그러나 나는 막대의 수 를 알아야 합니다. 역사의 뒷편에 있는 이 막대에서 0번째 막대까지. 간단히 말해서 MA에서 막대가 분리되는 각도가 필요합니다. 그러나 그것은 계산할 수 없기 때문에 나에게 보이는 것처럼 (세로로 가격, 가로로 서로 일정 거리에 배치 된 막대는 호환되지 않는 값입니다). 한 번 포럼에는 계수를 도입하자는 제안이 있었습니다. 즉, 가격 차이를 막대 수로 나눈 값입니다. 그 생각은 나에게 건전한 것 같다. 생기를 불어넣고 싶지만 찻주전자 자체이기 때문에 스스로 무엇인가를 찾고 시행착오를 겪으며 시도한다.
추신: MQL4 언어로 된 코드를 텍스트에 삽입하는 방법은 무엇입니까?아무도 그런 문제에 대처하는 방법을 알려주지 않습니까?
TF를 변경한 후 패널이 휨
바 번호, 예. 그러나 나는 막대의 수 를 알아야 합니다. 역사의 뒷편에 있는 이 막대에서 0번째 막대까지. 간단히 말해서 MA에서 막대가 분리되는 각도가 필요합니다. 그러나 그것은 계산할 수 없기 때문에 나에게 보이는 것처럼 (세로로 가격, 가로로 서로 일정 거리에 배치 된 막대는 호환되지 않는 값입니다). 한 번 포럼에는 계수를 도입하자는 제안이 있었습니다. 즉, 가격 차이를 막대 수로 나눈 값입니다. 그 생각은 나에게 건전한 것 같다. 생기를 불어넣고 싶지만 찻주전자 자체이기 때문에 스스로 무엇인가를 찾고 시행착오를 겪으며 시도한다.
추신: MQL4 언어로 된 코드를 텍스트에 삽입하는 방법은 무엇입니까?안녕하세요! 두 개의 빼기 s x 숫자 q와 w가 잘못 비교되어 같을 때 if 연산자는 하나가 다른 것보다 더 큰 것으로 간주합니다. 오류가 무엇입니까? q = -0.0002이고 w도 -0.0002인 경우 res12=false인 경우 이유는 무엇입니까?
안녕하세요! 두 개의 빼기 s x 숫자 q와 w가 잘못 비교되어 같을 때 if 연산자는 하나가 다른 것보다 더 큰 것으로 간주합니다. 오류가 무엇입니까? q = -0.0002이고 w도 -0.0002이면 res12=false입니다. 그 이유는 무엇입니까?
안녕하세요! 두 개의 빼기 s x 숫자 q와 w가 잘못 비교되어 같을 때 if 연산자는 하나가 다른 것보다 더 큰 것으로 간주합니다. 오류가 무엇입니까? q = -0.0002이고 w도 -0.0002인 경우 res12=false인 경우 이유는 무엇입니까?
모든 것을 정규화해야 할 필요가있는 것 같습니다. 정규화 없이는 이중으로 서로 비교할 수없는 것 같습니다.
NormalizeDouble(q<=w)인 경우모든 것을 정규화해야 할 필요가있는 것 같습니다. 정규화 없이는 이중으로 서로 비교할 수없는 것 같습니다.
감사합니다. 작동했습니다. q와 w만 따로 정규화했습니다!