코딩 도움말 - 페이지 170 1...163164165166167168169170171172173174175176177...786 새 코멘트 fareastol 2013.10.15 21:03 #1691 네... 제가 얼마나 정신이 없었는지 모릅니다. 적절한 시간 조언 덕분에 TB_TotalCount 및 VACount의 수가 정확하고 절대적으로 합리적이 되었습니다. 그러나 VA High/Low를 찾는 목표는 여전히 곤경에 처해 있으며, 내 PC는 코딩의 해당 부분과 함께 다시 충돌합니다. 왜 지금 다시 이해하려고 노력하고 있습니다. Mladen 감사합니다! 너의 충고는 나에게 온통 하얀 밤을 보낸 후 부분적인 미소를 준다 최적화 알고리즘 챔피언십. 유니버설 MA 크로스 EA 빌 윌리엄스와 그의 전략 fareastol 2013.10.16 00:00 #1692 안녕 믈라덴 마침내 나머지 문제를 해결했음을 알리기 위해. 더 개선하기 위해 노력하고 있습니다. 비록 당신이 이 경우에 당신이 할 수 있는 한 거의 도움을 주지 않았지만 나는 그것이 때때로 서서 배우는 사람들을 가르치는 가장 좋은 방법이라는 것을 알게 되었습니다. 진심으로 감사드립니다, Mladen! 앞으로 좋은일만 가득하세요, 파리스톨 Mladen Rakic 2013.10.16 03:29 #1693 zilliq: 안녕 믈라덴 상대와 절대 모멘텀을 이용해 성공 많은 도움을 주셔서 감사합니다. 이제 rsx의 추진력을 부드럽게 해야 합니다. 질리크 Ps: 누군가를 도울 수 있다면: // 닫을 때 상대 모멘텀 ind1= 닫기 닫기[1] // 절대 운동량 ind2=abs(ind1) ind3=wilderAverage[rs](ind1) ind4=wilderAverage[rs](ind2) ind3=(50*(ind3+ind4))/ind4 ind3을 "RSI", 0, 30, 70, 100으로 반환 질리크 이 게시물을 살펴보십시오 : https://www.mql5.com/en/forum/178733/page36 거기에서 스무딩을 수행하는 방법에 대한 예가 있습니다. zilliq 2013.10.16 05:00 #1694 고마워 Mladen, 나는 그것을 볼 것이다 좋은 하루 되세요. 모든 도움과 작업에 감사드립니다. 질리크 zilliq 2013.10.16 05:20 #1695 글쎄, 내가 당신의 지표 rsi smoother 2를 잘 이해했다면, 당신은 ismooth 함수 로 더 와일드한 평균을 변경하기만 하면 됩니다. 그리고 당신은 상대적이고 절대적인 운동량을 "부조화"합니다. 나는 헐 평균으로 동일한 작업을 수행하지만 결과는 내 사진에서 보는 것과 동일하지 않습니다. 이유를 알고 있습니까, 아니면 제가 실수를 하고 있습니까? 감사합니다 그리고 코드 RSI14 및 RSIsmoother 45 // 닫을 때 상대 모멘텀 ind1= 닫기 닫기[1] // 절대 운동량 ind2=abs(ind1) // 헐 평균으로 부드러운 상대 모멘텀 v =(2*weightedAverage[round(rs/2)](ind1))-weightedAverage[rs](ind1) ind3 = weightedAverage[Round(Sqrt(rs))](v) // 헐 평균을 사용한 부드러운 절대 모멘텀 v2 =(2*weightedAverage[round(rs/2)](ind2))-weightedAverage[rs](ind2) ind4 = weightedAverage[Round(Sqrt(rs))](v2) ind5=(50*(ind3+ind4))/ind4 ind5를 "RSI smooth"로 반환 나는 동일한 문제로 (상대 및 절대 운동량) 모두에서 더 거친 평균을 T3 Tillson으로 대체합니다. 파일: cac_40_index_1.png 37 kb cac_40_index_2.png 47 kb Coding help 10포인트 3.mq4 초보자의 모험 Mladen Rakic 2013.10.16 05:59 #1696 그것은 단순히 다른 평활화 방법 을 사용한 결과입니다. 다른 평활화는 다른 결과를 제공합니다 rsi 스레드에 게시된 rsi와 비슷한 결과를 원하면 해당 표시기에 사용된 그런 종류의 평활화를 사용해야 합니다. zilliq 2013.10.16 06:04 #1697 Mladen님 답변 감사합니다. 상대 및 절대 모멘텀의 스무드가 Hull 평균과 T3에서 약간의 과장과 함께 이러한 결과를 제공하는 것이 이상합니다. RSI에 필적하는 부드러운 RSI를 얻기 위해 MT4의 등가 함수 의 스무딩이 어떻게 작동하는지 수학 공식(가능한 경우)으로 설명할 수 있습니까? 그러면 나중에 코딩하겠습니다. 감사합니다 좋은 하루 되세요 질리크 당신의 MT4 코드와 나의 해석: //상대운동량 더블맘 = iMA(NULL,0,1,0,MODE_SMA,가격,i)-iMA(NULL,0,1,0,MODE_SMA,가격,i+1); //절대 모멘텀 이중 모아 = MathAbs(엄마); // "ismooth 함수"로 상대 운동량을 부드럽게 합니다. 더블 tmom = iSmooth(엄마,길이,부드러운 속도,i,0); //"ismooth 함수"로 절대 운동량을 부드럽게 합니다. 이중 tmoa = iSmooth(모아, 길이, 부드러운 속도, i,1); if (tmoa != 0) //그리고 비율 50*(RM+AM)(AM) rsi = MathMax(MathMin((tmom/tmoa+1.0)*50.0,100.00),0.00); 그렇지 않으면 rsi = 50; Coding help 엘리트 지표 :) 코딩하는 방법? Mladen Rakic 2013.10.16 06:28 #1698 질리크 해당 표시기에 소스 코드가 있습니다. 그냥 실시간으로 변환 zilliq 2013.10.16 07:40 #1699 아야 ismooth 함수 를 해석하는 것은 정말 쉽지 않습니다 (MT4는 PRT에 비해 너무 복잡합니다) MT4 코드를 수학 코드로 번역하여 PRT 이후에 코딩하려고 합니다. PRT에서 코딩하기 전에 각 줄 아래에 있는 다른 줄에 대한 내 해석을 확인할 수 있습니까? 믈라덴 감사합니다 질리크 double iSmooth(두 배 가격, 정수 길이, 두 배 속도, 정수 r, 정수 인스턴스 번호=0) { if (ArrayRange(workSmooth,0)!=바) ArrayResize(workSmooth,바); 인스턴스 번호 *= 5; r = 바-r-1; if(r<=2) { workSmooth[r] = 가격; workSmooth[r] = 가격; workSmooth[r] = 가격; 반품(가격); } // // // // // // // // // // _____________________________________________________________________________________ 이중 베타 = 0.45*(길이-1.0)/(0.45*(길이-1.0)+2.0); 베타 = 0.45*(길이-1.0)/(0.45*(길이-1.0)+2.0) _____________________________________________________________________________________ 이중 알파 = MathPow(베타, 속도); 알파 = 베타^속도 _____________________________________________________________________________________ workSmooth[r] = 가격+알파*(workSmooth[r-1]-가격); Filt0 = 가격+알파*(Filt0[1]-가격); _____________________________________________________________________________________ workSmooth[r] = (가격 - workSmooth[r])*(1-알파)+알파*workSmooth[r-1]; Filt1 = (가격 - Filt0 )*(1-알파)+알파*Filt1[1] _____________________________________________________________________________________ workSmooth[r] = workSmooth[r] + workSmooth[r]; Filt2 = Filt0 + Filt1 _____________________________________________________________________________________ workSmooth[r] = (workSmooth[r] - workSmooth[r-1])*MathPow(1.0-알파,2) + MathPow(알파,2)*workSmooth[r-1]; Filt3=Filt2-Filt4[1]*(1-알파)*(1-알파)+알파*알파*Filt3[1] _____________________________________________________________________________________ workSmooth[r] = workSmooth[r] + workSmooth[r-1]; Filt4=Filt3+Filt4[1] _____________________________________________________________________________________ return(workSmooth[r]); 반환 Filt4 Coding help [경고, 주제 닫힘!] 포럼을 비지연 도구 Mladen Rakic 2013.10.16 07:45 #1700 zilliq: 아야 ismooth 함수를 해석하는 것은 정말 쉽지 않습니다 (MT4는 PRT에 비해 너무 복잡합니다) MT4 코드를 수학 코드로 번역하여 PRT 이후에 코딩하려고 합니다. PRT에서 코딩하기 전에 각 줄 아래에 있는 다른 줄에 대한 내 해석을 확인할 수 있습니까? 믈라덴 감사합니다 질리크 double iSmooth(두 배 가격, 정수 길이, 두 배 속도, 정수 r, 정수 인스턴스 번호=0) { if (ArrayRange(workSmooth,0)!=바) ArrayResize(workSmooth,바); 인스턴스 번호 *= 5; r = 바-r-1; if(r<=2) { workSmooth[r] = 가격; workSmooth[r] = 가격; workSmooth[r] = 가격; 반품(가격); } // // // // // // // // // // _____________________________________________________________________________________ 이중 베타 = 0.45*(길이-1.0)/(0.45*(길이-1.0)+2.0); 베타 = 0.45*(길이-1.0)/(0.45*(길이-1.0)+2.0) _____________________________________________________________________________________ 이중 알파 = MathPow(베타, 속도); 알파 = 베타^속도 _____________________________________________________________________________________ workSmooth[r] = 가격+알파*(workSmooth[r-1]-가격); Filt0 = 가격+알파*(Filt0[1]-가격); _____________________________________________________________________________________ workSmooth[r] = (가격 - workSmooth[r])*(1-알파)+알파*workSmooth[r-1]; Filt1 = (가격 - Filt0 )*(1-알파)+알파*Filt1[1] _____________________________________________________________________________________ workSmooth[r] = workSmooth[r] + workSmooth[r]; Filt2 = Filt0 + Filt1 _____________________________________________________________________________________ workSmooth[r] = (workSmooth[r] - workSmooth[r-1])*MathPow(1.0-알파,2) + MathPow(알파,2)*workSmooth[r-1]; Filt3=Filt2-Filt4[1]*(1-알파)*(1-알파)+알파*알파*Filt3[1] _____________________________________________________________________________________ workSmooth[r] = workSmooth[r] + workSmooth[r-1]; Filt4=Filt3+Filt4[1] _____________________________________________________________________________________ return(workSmooth[r]); 반환 Filt4 내가 보기에는 그것이 되어야 하지만 내가 prorealtime으로 작업한 적이 없다는 것을 염두에 두십시오. 1...163164165166167168169170171172173174175176177...786 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
네... 제가 얼마나 정신이 없었는지 모릅니다. 적절한 시간 조언 덕분에 TB_TotalCount 및 VACount의 수가 정확하고 절대적으로 합리적이 되었습니다. 그러나 VA High/Low를 찾는 목표는 여전히 곤경에 처해 있으며, 내 PC는 코딩의 해당 부분과 함께 다시 충돌합니다. 왜 지금 다시 이해하려고 노력하고 있습니다.
Mladen 감사합니다! 너의 충고는 나에게 온통 하얀 밤을 보낸 후 부분적인 미소를 준다
안녕 믈라덴
마침내 나머지 문제를 해결했음을 알리기 위해. 더 개선하기 위해 노력하고 있습니다.
비록 당신이 이 경우에 당신이 할 수 있는 한 거의 도움을 주지 않았지만 나는 그것이 때때로 서서 배우는 사람들을 가르치는 가장 좋은 방법이라는 것을 알게 되었습니다.
진심으로 감사드립니다, Mladen!
앞으로 좋은일만 가득하세요,
파리스톨
안녕 믈라덴
상대와 절대 모멘텀을 이용해 성공
많은 도움을 주셔서 감사합니다. 이제 rsx의 추진력을 부드럽게 해야 합니다.
질리크
Ps: 누군가를 도울 수 있다면:
// 닫을 때 상대 모멘텀
ind1= 닫기 닫기[1]
// 절대 운동량
ind2=abs(ind1)
ind3=wilderAverage[rs](ind1)
ind4=wilderAverage[rs](ind2)
ind3=(50*(ind3+ind4))/ind4
ind3을 "RSI", 0, 30, 70, 100으로 반환질리크
이 게시물을 살펴보십시오 : https://www.mql5.com/en/forum/178733/page36
거기에서 스무딩을 수행하는 방법에 대한 예가 있습니다.
고마워 Mladen, 나는 그것을 볼 것이다
좋은 하루 되세요. 모든 도움과 작업에 감사드립니다.
질리크
글쎄, 내가 당신의 지표 rsi smoother 2를 잘 이해했다면, 당신은 ismooth 함수 로 더 와일드한 평균을 변경하기만 하면 됩니다.
그리고 당신은 상대적이고 절대적인 운동량을 "부조화"합니다.
나는 헐 평균으로 동일한 작업을 수행하지만 결과는 내 사진에서 보는 것과 동일하지 않습니다.
이유를 알고 있습니까, 아니면 제가 실수를 하고 있습니까?
감사합니다
그리고 코드 RSI14 및 RSIsmoother 45
// 닫을 때 상대 모멘텀
ind1= 닫기 닫기[1]
// 절대 운동량
ind2=abs(ind1)
// 헐 평균으로 부드러운 상대 모멘텀
v =(2*weightedAverage[round(rs/2)](ind1))-weightedAverage[rs](ind1)
ind3 = weightedAverage[Round(Sqrt(rs))](v)
// 헐 평균을 사용한 부드러운 절대 모멘텀
v2 =(2*weightedAverage[round(rs/2)](ind2))-weightedAverage[rs](ind2)
ind4 = weightedAverage[Round(Sqrt(rs))](v2)
ind5=(50*(ind3+ind4))/ind4
ind5를 "RSI smooth"로 반환
나는 동일한 문제로 (상대 및 절대 운동량) 모두에서 더 거친 평균을 T3 Tillson으로 대체합니다.
그것은 단순히 다른 평활화 방법 을 사용한 결과입니다. 다른 평활화는 다른 결과를 제공합니다
rsi 스레드에 게시된 rsi와 비슷한 결과를 원하면 해당 표시기에 사용된 그런 종류의 평활화를 사용해야 합니다.
Mladen님 답변 감사합니다.
상대 및 절대 모멘텀의 스무드가 Hull 평균과 T3에서 약간의 과장과 함께 이러한 결과를 제공하는 것이 이상합니다.
RSI에 필적하는 부드러운 RSI를 얻기 위해 MT4의 등가 함수 의 스무딩이 어떻게 작동하는지 수학 공식(가능한 경우)으로 설명할 수 있습니까? 그러면 나중에 코딩하겠습니다.
감사합니다 좋은 하루 되세요
질리크
당신의 MT4 코드와 나의 해석:
//상대운동량
더블맘 = iMA(NULL,0,1,0,MODE_SMA,가격,i)-iMA(NULL,0,1,0,MODE_SMA,가격,i+1);
//절대 모멘텀
이중 모아 = MathAbs(엄마);
// "ismooth 함수"로 상대 운동량을 부드럽게 합니다.
더블 tmom = iSmooth(엄마,길이,부드러운 속도,i,0);
//"ismooth 함수"로 절대 운동량을 부드럽게 합니다.
이중 tmoa = iSmooth(모아, 길이, 부드러운 속도, i,1);
if (tmoa != 0)
//그리고 비율 50*(RM+AM)(AM)
rsi = MathMax(MathMin((tmom/tmoa+1.0)*50.0,100.00),0.00);
그렇지 않으면 rsi = 50;
질리크
해당 표시기에 소스 코드가 있습니다. 그냥 실시간으로 변환
아야 ismooth 함수 를 해석하는 것은 정말 쉽지 않습니다 (MT4는 PRT에 비해 너무 복잡합니다)
MT4 코드를 수학 코드로 번역하여 PRT 이후에 코딩하려고 합니다.
PRT에서 코딩하기 전에 각 줄 아래에 있는 다른 줄에 대한 내 해석을 확인할 수 있습니까?
믈라덴 감사합니다
질리크
double iSmooth(두 배 가격, 정수 길이, 두 배 속도, 정수 r, 정수 인스턴스 번호=0)
{
if (ArrayRange(workSmooth,0)!=바) ArrayResize(workSmooth,바); 인스턴스 번호 *= 5; r = 바-r-1;
if(r<=2) { workSmooth[r] = 가격; workSmooth[r] = 가격; workSmooth[r] = 가격; 반품(가격); }
// //
// //
// //
// //
// //
_____________________________________________________________________________________
이중 베타 = 0.45*(길이-1.0)/(0.45*(길이-1.0)+2.0);
베타 = 0.45*(길이-1.0)/(0.45*(길이-1.0)+2.0)
_____________________________________________________________________________________
이중 알파 = MathPow(베타, 속도);
알파 = 베타^속도
_____________________________________________________________________________________
workSmooth[r] = 가격+알파*(workSmooth[r-1]-가격);
Filt0 = 가격+알파*(Filt0[1]-가격);
_____________________________________________________________________________________
workSmooth[r] = (가격 - workSmooth[r])*(1-알파)+알파*workSmooth[r-1];
Filt1 = (가격 - Filt0 )*(1-알파)+알파*Filt1[1]
_____________________________________________________________________________________
workSmooth[r] = workSmooth[r] + workSmooth[r];
Filt2 = Filt0 + Filt1
_____________________________________________________________________________________
workSmooth[r] = (workSmooth[r] - workSmooth[r-1])*MathPow(1.0-알파,2) + MathPow(알파,2)*workSmooth[r-1];
Filt3=Filt2-Filt4[1]*(1-알파)*(1-알파)+알파*알파*Filt3[1]
_____________________________________________________________________________________
workSmooth[r] = workSmooth[r] + workSmooth[r-1];
Filt4=Filt3+Filt4[1]
_____________________________________________________________________________________
return(workSmooth[r]);
반환 Filt4
아야 ismooth 함수를 해석하는 것은 정말 쉽지 않습니다 (MT4는 PRT에 비해 너무 복잡합니다)
MT4 코드를 수학 코드로 번역하여 PRT 이후에 코딩하려고 합니다.
PRT에서 코딩하기 전에 각 줄 아래에 있는 다른 줄에 대한 내 해석을 확인할 수 있습니까?
믈라덴 감사합니다
질리크
double iSmooth(두 배 가격, 정수 길이, 두 배 속도, 정수 r, 정수 인스턴스 번호=0)
{
if (ArrayRange(workSmooth,0)!=바) ArrayResize(workSmooth,바); 인스턴스 번호 *= 5; r = 바-r-1;
if(r<=2) { workSmooth[r] = 가격; workSmooth[r] = 가격; workSmooth[r] = 가격; 반품(가격); }
// //
// //
// //
// //
// //
_____________________________________________________________________________________
이중 베타 = 0.45*(길이-1.0)/(0.45*(길이-1.0)+2.0);
베타 = 0.45*(길이-1.0)/(0.45*(길이-1.0)+2.0)
_____________________________________________________________________________________
이중 알파 = MathPow(베타, 속도);
알파 = 베타^속도
_____________________________________________________________________________________
workSmooth[r] = 가격+알파*(workSmooth[r-1]-가격);
Filt0 = 가격+알파*(Filt0[1]-가격);
_____________________________________________________________________________________
workSmooth[r] = (가격 - workSmooth[r])*(1-알파)+알파*workSmooth[r-1];
Filt1 = (가격 - Filt0 )*(1-알파)+알파*Filt1[1]
_____________________________________________________________________________________
workSmooth[r] = workSmooth[r] + workSmooth[r];
Filt2 = Filt0 + Filt1
_____________________________________________________________________________________
workSmooth[r] = (workSmooth[r] - workSmooth[r-1])*MathPow(1.0-알파,2) + MathPow(알파,2)*workSmooth[r-1];
Filt3=Filt2-Filt4[1]*(1-알파)*(1-알파)+알파*알파*Filt3[1]
_____________________________________________________________________________________
workSmooth[r] = workSmooth[r] + workSmooth[r-1];
Filt4=Filt3+Filt4[1]
_____________________________________________________________________________________
return(workSmooth[r]);
반환 Filt4내가 보기에는 그것이 되어야 하지만 내가 prorealtime으로 작업한 적이 없다는 것을 염두에 두십시오.