커뮤니티
혹시 예스트레이더의 버그 아닌가요?
2006-05-05 10:02:14
979
글번호 9947
간단한 지표식을 만들었습니다.
의도한 대로 지표는 표현이 잘 됨니다.
그런데 예스트레이더 차트에 적용을 시켜서 돌려보다가, 봉간격을 조절하거나, 차트의 크기를 조절해보면 지표의 위치가 맞지않는 현상이 발생합니다.
이런 현상이 저한테만 발생하는건가요? 아니면 예스트레이더의 버그인가요?
버그가 아니라면 문제점을 해결하는 방법을 알려주셨으면 합니다.
정상상태의 화면과 비정상적인 화면을 첨부해서 올림니다.
다음은 제가 만든 지표의 수식을 수정없이 그대로 올려드리니 검토해주기 바람니다.
=========================== 이하 수식 ===========================
Input: Period(5);
Var : LowIndex(0),HighIndex(0),
Lowvalue(0),highValue(0),
LowMROIndex(0),HighMROIndex(0),
emV(0),
BarCount(240)
;
// 이평선을 평활화 시킨다 -> 곡선을 부드럽게...
emV = ma(C,Period);
emV = ma(emV,3);
emV = ma(emV,3);
if emV > emV[1] and emV[1] < emV[2] then // 이평선이 상향 반전시 = 저점확인.
{
LowIndex = NthLowestBar(1,L,Period * 2 + 2 );//(기간의2배 +2 )개의 봉중에 저가가 작은 봉의 위치.
}
else
{
LowMROIndex = MRO(emV > emV[1] and emV[1] < emV[2],BarCount,1 ); //이동평균선의 저점을 찾는다.
LowIndex = NthLowestBar(1,L,LowMROIndex + Period * 2 + 2);
}
if emV < emV[1] and emV[1] > emV[2] then // 이동평균선이 하향반전시 = 고점확인.
{
HighIndex = nthHighestBar(1,H,Period * 2 + 2); // (기간의2배 +2 )개의 봉중에 고가가 큰 봉의 위치.
}
else
{
HighMROIndex = MRO(emV < emV[1] and emV[1] > emV[2],BarCount,1);
HighIndex = nthHighestBar(1,H,HighMROIndex + Period * 2 + 2);
}
if HighIndex >=0 then highValue = H[HighIndex];
else highValue = -1;
if LowIndex >= 0 then Lowvalue = L[LowIndex];
else Lowvalue = -1;
Plot1(dayOpen(), "시가");
Plot2(emV, "평활이평선"); // 평활선을 표시.
if highValue >= 0 then Plot3(highValue, "전고점"); // 전고점 표시.
if Lowvalue >= 0 then Plot4(Lowvalue, "전저점"); // 전저점 표시.
- 1. 10089_1_정상화면.JPG (0.12 MB)
- 2. 비정상화면.jpg (0.12 MB)
답변 2
예스스탁 예스스탁 답변
2006-05-08 16:36:22
안녕하세요
예스스탁입니다.
테스트 결과 문의하신 문제점을 발견하지 못했습니다.
지표속성창에서 Y축을 가격으로 설정한 후 적용해 보시고
계속 문제 발생하면 전화주시기 바랍니다.
즐거운 하루되세요
> 낭만매매 님이 쓴 글입니다.
> 제목 : 혹시 예스트레이더의 버그 아닌가요?
> 간단한 지표식을 만들었습니다.
의도한 대로 지표는 표현이 잘 됨니다.
그런데 예스트레이더 차트에 적용을 시켜서 돌려보다가, 봉간격을 조절하거나, 차트의 크기를 조절해보면 지표의 위치가 맞지않는 현상이 발생합니다.
이런 현상이 저한테만 발생하는건가요? 아니면 예스트레이더의 버그인가요?
버그가 아니라면 문제점을 해결하는 방법을 알려주셨으면 합니다.
정상상태의 화면과 비정상적인 화면을 첨부해서 올림니다.
다음은 제가 만든 지표의 수식을 수정없이 그대로 올려드리니 검토해주기 바람니다.
=========================== 이하 수식 ===========================
Input: Period(5);
Var : LowIndex(0),HighIndex(0),
Lowvalue(0),highValue(0),
LowMROIndex(0),HighMROIndex(0),
emV(0),
BarCount(240)
;
// 이평선을 평활화 시킨다 -> 곡선을 부드럽게...
emV = ma(C,Period);
emV = ma(emV,3);
emV = ma(emV,3);
if emV > emV[1] and emV[1] < emV[2] then // 이평선이 상향 반전시 = 저점확인.
{
LowIndex = NthLowestBar(1,L,Period * 2 + 2 );//(기간의2배 +2 )개의 봉중에 저가가 작은 봉의 위치.
}
else
{
LowMROIndex = MRO(emV > emV[1] and emV[1] < emV[2],BarCount,1 ); //이동평균선의 저점을 찾는다.
LowIndex = NthLowestBar(1,L,LowMROIndex + Period * 2 + 2);
}
if emV < emV[1] and emV[1] > emV[2] then // 이동평균선이 하향반전시 = 고점확인.
{
HighIndex = nthHighestBar(1,H,Period * 2 + 2); // (기간의2배 +2 )개의 봉중에 고가가 큰 봉의 위치.
}
else
{
HighMROIndex = MRO(emV < emV[1] and emV[1] > emV[2],BarCount,1);
HighIndex = nthHighestBar(1,H,HighMROIndex + Period * 2 + 2);
}
if HighIndex >=0 then highValue = H[HighIndex];
else highValue = -1;
if LowIndex >= 0 then Lowvalue = L[LowIndex];
else Lowvalue = -1;
Plot1(dayOpen(), "시가");
Plot2(emV, "평활이평선"); // 평활선을 표시.
if highValue >= 0 then Plot3(highValue, "전고점"); // 전고점 표시.
if Lowvalue >= 0 then Plot4(Lowvalue, "전저점"); // 전저점 표시.
낭만매매
2006-05-08 17:23:52
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 혹시 예스트레이더의 버그 아닌가요?
> 안녕하세요
예스스탁입니다.
테스트 결과 문의하신 문제점을 발견하지 못했습니다.
지표속성창에서 Y축을 가격으로 설정한 후 적용해 보시고
계속 문제 발생하면 전화주시기 바랍니다.
즐거운 하루되세요
> 낭만매매 님이 쓴 글입니다.
> 제목 : 혹시 예스트레이더의 버그 아닌가요?
> 간단한 지표식을 만들었습니다.
의도한 대로 지표는 표현이 잘 됨니다.
그런데 예스트레이더 차트에 적용을 시켜서 돌려보다가, 봉간격을 조절하거나, 차트의 크기를 조절해보면 지표의 위치가 맞지않는 현상이 발생합니다.
이런 현상이 저한테만 발생하는건가요? 아니면 예스트레이더의 버그인가요?
버그가 아니라면 문제점을 해결하는 방법을 알려주셨으면 합니다.
정상상태의 화면과 비정상적인 화면을 첨부해서 올림니다.
다음은 제가 만든 지표의 수식을 수정없이 그대로 올려드리니 검토해주기 바람니다.
=========================== 이하 수식 ===========================
Input: Period(5);
Var : LowIndex(0),HighIndex(0),
Lowvalue(0),highValue(0),
LowMROIndex(0),HighMROIndex(0),
emV(0),
BarCount(240)
;
// 이평선을 평활화 시킨다 -> 곡선을 부드럽게...
emV = ma(C,Period);
emV = ma(emV,3);
emV = ma(emV,3);
if emV > emV[1] and emV[1] < emV[2] then // 이평선이 상향 반전시 = 저점확인.
{
LowIndex = NthLowestBar(1,L,Period * 2 + 2 );//(기간의2배 +2 )개의 봉중에 저가가 작은 봉의 위치.
}
else
{
LowMROIndex = MRO(emV > emV[1] and emV[1] < emV[2],BarCount,1 ); //이동평균선의 저점을 찾는다.
LowIndex = NthLowestBar(1,L,LowMROIndex + Period * 2 + 2);
}
if emV < emV[1] and emV[1] > emV[2] then // 이동평균선이 하향반전시 = 고점확인.
{
HighIndex = nthHighestBar(1,H,Period * 2 + 2); // (기간의2배 +2 )개의 봉중에 고가가 큰 봉의 위치.
}
else
{
HighMROIndex = MRO(emV < emV[1] and emV[1] > emV[2],BarCount,1);
HighIndex = nthHighestBar(1,H,HighMROIndex + Period * 2 + 2);
}
if HighIndex >=0 then highValue = H[HighIndex];
else highValue = -1;
if LowIndex >= 0 then Lowvalue = L[LowIndex];
else Lowvalue = -1;
Plot1(dayOpen(), "시가");
Plot2(emV, "평활이평선"); // 평활선을 표시.
if highValue >= 0 then Plot3(highValue, "전고점"); // 전고점 표시.
if Lowvalue >= 0 then Plot4(Lowvalue, "전저점"); // 전저점 표시.
다음글
이전글