3. Ask Donchian_Low (대부분의 경우)가 발생하면 어떻게 됩니까? 정적 변수는 더 이상 유효하지 않은 경우에도 여전히 "이전" 상태를 표시합니다(상태를 "상속"하므로 더 이상 상태가 아닐 때도 위 또는 아래에 있음을 알립니다). 그것이 문제의 원인인지 확인하십시오 .
crsnape@btinternet.com: 안녕하세요 mladen님
1. 확인하겠습니다.
2. 네 맞습니다. 저는 십자가에서 벗어나고 싶지 않습니다. 예를 들어 빠른 MA가 일일 차트의 느린 MA보다 높은 경우 단기 차트의 장/단기 필터에 사용하기만 하면 됩니다. H4 차트의 위치. 그래서 나는 이것을 올바르게 코딩했다고 생각합니까?
안녕 믈라덴
설명 감사합니다만 첫 번째 닫힌 막대 값은 무엇을 의미합니까? 첫 번째 닫힌 막대 값입니까 아니면 현재 막대 또는 그 이후입니까? 전류+0 또는 전류+1의 의미는 어떻습니까?
문안 인사
테런스
테런스
MODE_MAIN은 확률적 선의 값을 읽고 있음을 의미합니다. MODE_SIGNAL은 확률적 신호 라인의 값을 읽고 있음을 의미합니다.
SHIFT 현재 : 모든 표시기(사용자 정의 표시기 포함)에 대해 동일합니다. 예를 들어: SHIFT=0은 현재 막대 값을 의미하고 SHIFT=1은 첫 번째 닫힌 막대 값을 의미하는 식입니다......
테런스
현재 막대는 정의상 여전히 닫힌 막대가 아닙니다.
현재 막대 앞의 첫 번째 막대는 첫 번째 닫힌 막대입니다.
안녕 믈라덴
설명 감사합니다만 첫 번째 닫힌 막대 값은 무엇을 의미합니까? 첫 번째 닫힌 막대 값입니까 아니면 현재 막대 또는 그 이후입니까? 전류+0 또는 전류+1의 의미는 어떻습니까?
문안 인사
테런스안녕 믈라덴
그래서 제가 이렇게 말하는 것이 옳습니다.
현재 + 0은 값 0과 동일합니다.
전류+1은 값 1과 동일하며,
전류+2는 값 2와 동일하며,
등등.... SHIFT용?
예:
iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL, 현재 + 1); iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL, 1)과 동일합니다.
내가 그렇게 말하는 것이 옳습니까?
문안 인사
테런스
테런스
현재 막대는 정의상 여전히 닫힌 막대가 아닙니다.
현재 막대 앞의 첫 번째 막대는 첫 번째 닫힌 막대입니다....
테런스
iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL, 0 ); 현재
iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL, 1 ); 첫 번째 닫힘(이전)
...
...
iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL, 막대 -1 ); 차트에서 가장 오래된
추신: 이 게시물에는 바에 대한 추가 정보가 있습니다. https://www.mql5.com/en/forum/173124
안녕 믈라덴
그래서 제가 이렇게 말하는 것이 옳습니다.
현재 + 0은 값 0과 동일합니다.
전류+1은 값 1과 동일하며,
전류+2는 값 2와 동일합니다.
등등 ..... SHIFT?
예:
iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL, 현재 + 1); iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL, 1)과 동일합니다.
내가 그렇게 말하는 것이 옳습니까?
문안 인사
테런스안녕 믈라덴
항상 큰 도움 주셔서 감사합니다!
문안 인사
테런스
테런스
iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL, 0 ); 현재
iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL, 1 ); 첫 번째 닫힘(이전)
...
...
iStochastic(NULL, 0, 3, 3, 3, MODE_SMMA, 0, MODE_SIGNAL, 막대 -1 ); 차트에서 가장 오래된
추신: 이 게시물에는 바에 대한 추가 정보가 있습니다. https://www.mql5.com/en/forum/173124몇 가지 문제
모두들 안녕,
나는 내 코드를 테스트했으며 거의 거기에 있습니다. 몇 가지 질문이 있습니다. 도움이 되셨으면 합니다.
나는 이것을 int init()에 넣었다:
if (막대 < D1FastMAPeriod || 막대 < D1SlowMAPeriod)
{
Alert("오류-일일 차트의 SMA를 계산하는 막대가 충분하지 않습니다.");
리턴(0);
}
SlowMAPeriod 는 200입니다. 2009년 1월 1일부터 백테스트를 할 때 2008년부터 200SMA를 계산하기에 충분한 막대가 있다는 것을 차트에서 명확하게 볼 수 있지만 이 오류가 발생합니다. 제가 여기서 뭔가를 놓치고 있습니까?
2. 나는 H4 차트의 거래를 하되 일별 추세의 방향으로만 합니다. 다음 코드를 사용하여 값을 그립니다.
SlowMACurrent = iMA(Symbol(), PERIOD_D1, D1SlowMAPeriod, 0, MODE_SMA, PRICE_CLOSE, 1);
FastMACurrent = iMA(Symbol(), PERIOD_D1, D1FastMAPeriod, 0, MODE_SMA, PRICE_CLOSE, 1);
그런 다음 긴 위치를 검색할 때 다음을 사용하여 참조합니다.
if (FastMACurrent > SlowMACurrent && ... 등 ... )
내 거래를 제대로 필터링하지 않는 것 같기 때문에 이것이 맞습니까?
3. 또한 가격이 지난 120개 기간의 이전 고점을 초과한 경우(그리고 120개 기간의 저점 위에 머무를 때만) 매수 포지션을 취함으로써 H4 차트의 추세 필터를 사용합니다. 이 코드를 사용합니다.
Donchian_Low = 낮음;
Donchian_High = 높음;
정적 부울 UpTrend = FALSE;
정적 부울 DownTrend = FALSE;
if (질문 > Donchian_High) {UpTrend = TRUE; 하락 추세 = 거짓;}
if (입찰가 < Donchian_Low) {UpTrend = FALSE; 하락 추세 = 참;}
그런 다음 다음 코드를 사용합니다(긴 위치의 경우).
if (FastMACurrent > SlowMACurrent && UpTrend == TRUE && DownTrend == FALSE ... etc... )
그러나 120개 기간의 Donchian 채널에 대해 백테스트된 차트를 확인할 때 연결되지 않기 때문에 작동하지 않는 것 같습니다. 어떤 아이디어?
미리 감사드립니다.
...
1. start() 함수 의 시작 부분에 배치합니다. Bar와 같은 데이터와 관련하여 Init는 신뢰할 수 없습니다.
2. 해당 조건은 FastMACurrent > SlowMACurrent일 때마다 참입니다. 그것이 당신이 원했던 것입니까 아니면 십자가에서 찾고 있습니까?
3. 아마도 2번 항목과 관련이 있을 것입니다. 이렇게 하면 너무 많은 가능성을 다루기 때문에 주문을 입력할 수 있는 조건을 "좁혀야" 합니다.
모두들 안녕,
나는 내 코드를 테스트했으며 거의 거기에 있습니다. 몇 가지 질문이 있습니다. 도움이 되셨으면 합니다.
나는 이것을 int init()에 넣었다:
if (막대 < D1FastMAPeriod || 막대 < D1SlowMAPeriod)
{
Alert("오류-일일 차트의 SMA를 계산하는 막대가 충분하지 않습니다.");
리턴(0);
}
SlowMAPeriod는 200입니다. 2009년 1월 1일부터 백테스트를 할 때 2008년부터 200SMA를 계산하기에 충분한 막대가 있다는 것을 차트에서 명확하게 볼 수 있지만 이 오류가 발생합니다. 제가 여기서 뭔가를 놓치고 있습니까?
2. 나는 H4 차트의 거래를 하되 일별 추세의 방향으로만 합니다. 다음 코드를 사용하여 값을 그립니다.
SlowMACurrent = iMA(Symbol(), PERIOD_D1, D1SlowMAPeriod, 0, MODE_SMA, PRICE_CLOSE, 1);
FastMACurrent = iMA(Symbol(), PERIOD_D1, D1FastMAPeriod, 0, MODE_SMA, PRICE_CLOSE, 1);
그런 다음 긴 위치를 검색할 때 다음을 사용하여 참조합니다.
if (FastMACurrent > SlowMACurrent && ... 등 ... )
내 거래를 제대로 필터링하지 않는 것 같기 때문에 이것이 맞습니까?
3. 또한 가격이 지난 120개 기간의 이전 고점을 초과한 경우(그리고 120개 기간의 저점 위에 머무를 때만) 매수 포지션을 취함으로써 H4 차트의 추세 필터를 사용합니다. 이 코드를 사용합니다.
Donchian_Low = 낮음;
Donchian_High = 높음;
정적 부울 UpTrend = FALSE;
정적 부울 DownTrend = FALSE;
if (질문 > Donchian_High) {UpTrend = TRUE; 하락 추세 = 거짓;}
if (입찰가 < Donchian_Low) {UpTrend = FALSE; 하락 추세 = 참;}
그런 다음 다음 코드를 사용합니다(긴 위치의 경우).
if (FastMACurrent > SlowMACurrent && UpTrend == TRUE && DownTrend == FALSE ... etc... )
그러나 120개 기간의 Donchian 채널에 대해 백테스트된 차트를 확인할 때 연결되지 않기 때문에 작동하지 않는 것 같습니다. 어떤 아이디어?
미리 감사드립니다.안녕하세요 mladen님
1. 확인하겠습니다.
2. 네 맞습니다. 저는 십자가에서 벗어나고 싶지 않습니다. 예를 들어 빠른 MA가 일일 차트의 느린 MA보다 높은 경우 단기 차트의 장/단기 필터에 사용하기만 하면 됩니다. H4 차트의 위치. 그래서 나는 이것을 올바르게 코딩했다고 생각합니까?
3. 무슨 말인지 잘 모르겠지만 init start() 아래에 넣었습니다.
정적 부울 UpTrend = FALSE;
정적 부울 DownTrend = FALSE;
if (질문 > Donchian_High) {UpTrend = TRUE; 하락 추세 = 거짓;}
if (입찰가 < Donchian_Low) {UpTrend = FALSE; 하락 추세 = 참;}
전역 변수로 만들려면 맨 처음에 정적 bool 변수를 넣어야 합니까? 이것이 원인이 될 수 있습니까?
...
3. Ask Donchian_Low (대부분의 경우)가 발생하면 어떻게 됩니까? 정적 변수는 더 이상 유효하지 않은 경우에도 여전히 "이전" 상태를 표시합니다(상태를 "상속"하므로 더 이상 상태가 아닐 때도 위 또는 아래에 있음을 알립니다). 그것이 문제의 원인인지 확인하십시오 .
안녕하세요 mladen님
1. 확인하겠습니다.
2. 네 맞습니다. 저는 십자가에서 벗어나고 싶지 않습니다. 예를 들어 빠른 MA가 일일 차트의 느린 MA보다 높은 경우 단기 차트의 장/단기 필터에 사용하기만 하면 됩니다. H4 차트의 위치. 그래서 나는 이것을 올바르게 코딩했다고 생각합니까?
3. 무슨 말인지 잘 모르겠지만 init start() 아래에 넣었습니다.
정적 부울 UpTrend = FALSE;
정적 부울 DownTrend = FALSE;
if (질문 > Donchian_High) {UpTrend = TRUE; 하락 추세 = 거짓;}
if (입찰가 < Donchian_Low) {UpTrend = FALSE; 하락 추세 = 참;}
전역 변수로 만들려면 맨 처음에 정적 bool 변수를 넣어야 합니까? 이것이 원인이 될 수 있습니까?좋은 지적. 그것에 대해 살펴보겠습니다.
함수 에 대한 질문, 함수 내에서 함수를 호출할 수 있습니까? 예를 들어 이 기능이 있습니다.
문자열 GetWinLossPreviousShort(int LastOpenTicket, 문자열 WinLossPreviousShort)
{
만약 (... 등
나중에 나는 그것을 다음과 같이 부른다.
이중 GetLotsLong(int LowRisk, int HighRisk, 이중 SLDistanceLong, 문자열 GetWinLossPreviousShort)