커뮤니티
안녕하세요
2017-04-19 00:16:20
184
글번호 108931
아래 고점저점 처리 식에서 고점 과 저점을 결정짖는 자리가 어디입니까?
주석좀 부탁드립니다.
배열 대로 진행해서 여기가 저점이다 고점이다를 인식해서 그값을 가지개 되는
부분(확정되어지는) 확정되어서 그때의 주가를 가지게 되는부분
Input:length(50);
Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),T(0),
Text1(0),처리구분("");
Array:고점[10,2](0),저점[10,2](0); //가격,위치
처리구분 = "";
If Highest(H,length) == H and lastHiVal <> H and
Lowest(L,length) == L and lastLoVal <> L Then
{
If 저점[1,1] > L Then 처리구분 = "저점처리";
If 고점[1,1] < H Then 처리구분 = "고점처리";
}
Else If Highest(H,length) == H and lastHiVal <> H Then
처리구분 = "고점처리";
Else If Lowest(L,length) == L and lastLoVal <> L Then
처리구분 = "저점처리";
If 처리구분 == "고점처리" Then
{
lastHiVal = H;
If 고점[1,2] < 저점[1,2] Then
{
For j = 10 DownTo 2
{
고점[j,1] = 고점[j-1,1];
고점[j,2] = 고점[j-1,2];
}
}
If 고점[1,2] < 저점[1,2] or 고점[1,1] < H Then
{
고점[1,1] = H;
고점[1,2] = Index;
sBar = Index - 저점[1,2];
eBar = 0;
If TL_GetBeginDate(TL1) == sDate[sBar] and
TL_GetBeginTime(TL1) == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],
sDate[eBar],sTime[eBar],고점[1,1]);
}
}
If 처리구분 == "저점처리" Then
{
lastLoVal = L;
If 저점[1,2] < 고점[1,2] then
{
For j = 10 DownTo 2
{
저점[j,1] = 저점[j-1,1];
저점[j,2] = 저점[j-1,2];
}
}
If 저점[1,2] < 고점[1,2] or 저점[1,1] > L then
{
저점[1,1] = L;
저점[1,2] = Index;
sBar = Index - 고점[1,2];
eBar = 0;
If TL_GetBeginDate(TL1) == sDate[sBar] and
TL_GetBeginTime(TL1) == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],
sDate[eBar],sTime[eBar],저점[1,1]);
}
}
TL_SetSize(TL1,2);
TL_SetColor(TL1,red);
답변 1
예스스탁 예스스탁 답변
2017-04-19 17:43:20
안녕하세요
예스스탁입니다.
수식 초반에 처리구분에 대한 내용이 있습니다.
length개봉 최고가 최저가를 발생을 기준으로 판단합니다.
#처리구분 초기값은 공란
처리구분 = "";
#현재봉 고가가 length기간 최고가이고 lastHiVal에 저장된 값과 다르고
#현재봉 저가도 length기간 최저가이면 lastLoVal에 저장된 값과 다르면
#즉 동시발생한 봉이면
If Highest(H,length) == H and lastHiVal <> H and
Lowest(L,length) == L and lastLoVal <> L Then
{
#저가가 최근저점보다 작으면 처리구분은 저점처리
If 저점[1,1] > L Then 처리구분 = "저점처리";
#고가가 최근고점보다 작으면 처리구분은 고점처리
If 고점[1,1] < H Then 처리구분 = "고점처리";
}
#고점단독 발생이면 처리구문은 고점처리
Else If Highest(H,length) == H and lastHiVal <> H Then
처리구분 = "고점처리";
#저점단독 발생이면 처리구문은 저점처리
Else If Lowest(L,length) == L and lastLoVal <> L Then
처리구분 = "저점처리";
즐거운 하루되세요
> 자라도 님이 쓴 글입니다.
> 제목 : 안녕하세요
> 아래 고점저점 처리 식에서 고점 과 저점을 결정짖는 자리가 어디입니까?
주석좀 부탁드립니다.
배열 대로 진행해서 여기가 저점이다 고점이다를 인식해서 그값을 가지개 되는
부분(확정되어지는) 확정되어서 그때의 주가를 가지게 되는부분
Input:length(50);
Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),T(0),
Text1(0),처리구분("");
Array:고점[10,2](0),저점[10,2](0); //가격,위치
처리구분 = "";
If Highest(H,length) == H and lastHiVal <> H and
Lowest(L,length) == L and lastLoVal <> L Then
{
If 저점[1,1] > L Then 처리구분 = "저점처리";
If 고점[1,1] < H Then 처리구분 = "고점처리";
}
Else If Highest(H,length) == H and lastHiVal <> H Then
처리구분 = "고점처리";
Else If Lowest(L,length) == L and lastLoVal <> L Then
처리구분 = "저점처리";
If 처리구분 == "고점처리" Then
{
lastHiVal = H;
If 고점[1,2] < 저점[1,2] Then
{
For j = 10 DownTo 2
{
고점[j,1] = 고점[j-1,1];
고점[j,2] = 고점[j-1,2];
}
}
If 고점[1,2] < 저점[1,2] or 고점[1,1] < H Then
{
고점[1,1] = H;
고점[1,2] = Index;
sBar = Index - 저점[1,2];
eBar = 0;
If TL_GetBeginDate(TL1) == sDate[sBar] and
TL_GetBeginTime(TL1) == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],
sDate[eBar],sTime[eBar],고점[1,1]);
}
}
If 처리구분 == "저점처리" Then
{
lastLoVal = L;
If 저점[1,2] < 고점[1,2] then
{
For j = 10 DownTo 2
{
저점[j,1] = 저점[j-1,1];
저점[j,2] = 저점[j-1,2];
}
}
If 저점[1,2] < 고점[1,2] or 저점[1,1] > L then
{
저점[1,1] = L;
저점[1,2] = Index;
sBar = Index - 고점[1,2];
eBar = 0;
If TL_GetBeginDate(TL1) == sDate[sBar] and
TL_GetBeginTime(TL1) == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],
sDate[eBar],sTime[eBar],저점[1,1]);
}
}
TL_SetSize(TL1,2);
TL_SetColor(TL1,red);