커뮤니티
수식 고맙습니다. 추가 부탁드립니다.
2018-12-16 12:53:04
147
글번호 124479
안녕하세요?.
작성해 주신 수식 고맙습니다.
아래 내용을 추가하고 싶습니다. 부탁드립니다.
1. 현재가(종가)를 현재봉 오른쪽에 표시하고 현재가가 변화 할 때 고점에서 하락할 때에는 그 하락틱수(-숫자,네이비색상)을 표시하고 저점에서 상승 할때는 그상승틱수(+숫자,레드색상)을 표시하고 싶습니다. (표시위치; 현재봉 오른쪽에 표시하며 상승시는 현재가(종가)표시위,하락시는 현재가표시 아래에 표시하고 싶습니다.)
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 수식 수정을 부탁드립니다. 좋은 날 되십시요.
> 안녕하세요
예스스탁입니다.
Input:length(12),소숫점자리수(2);
Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),Text1(0),처리구분("");
var:d1(0),t1(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 d1 == sDate[sBar] and
t1 == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
}
#TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]);
d1 = sDate[sBar];
t1 = stime[sBar];
Text1 = Text_New(sDate[eBar],sTime[eBar],고점[1,1],"+"+NumToStr(abs(고점[1,1]-저점[1,1])/PriceScale,0)+"틱"+NewLine+NumToStr(고점[1,1],소숫점자리수));
Text_SetStyle(Text1, 2, 1);
Text_SetColor(Text1,red);
}
}
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 d1 == sDate[sBar] and
t1 == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
}
#TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]);
d1 = sDate[sBar];
t1 = stime[sBar];
Text1 = Text_New(sDate[eBar],sTime[eBar],저점[1,1],NumToStr(저점[1,1],소숫점자리수)+NewLine+"-"+NumToStr(abs(고점[1,1]-저점[1,1])/PriceScale,0)+"틱");
Text_SetStyle(Text1, 2, 0);
Text_SetColor(Text1,BLUE);
}
}
TL_SetSize(TL1,3);
TL_SetColor(TL1,CYAN);
답변 1
예스스탁 예스스탁 답변
2018-12-17 11:11:59
안녕하세요
예스스탁입니다.
랭귀지에서 값출력을 위해 사용하는 텍스트 함수는 봉완성시만 동작합니다.
봉완성은 다음봉시가가 수신될때입니다.
미완성봉(차트의 마지막봉)의 현재가를 기준으로는 값을 출력할수가 없습니다.
즐거운 하루되세요
> 또다시 님이 쓴 글입니다.
> 제목 : 수식 고맙습니다. 추가 부탁드립니다.
> 안녕하세요?.
작성해 주신 수식 고맙습니다.
아래 내용을 추가하고 싶습니다. 부탁드립니다.
1. 현재가(종가)를 현재봉 오른쪽에 표시하고 현재가가 변화 할 때 고점에서 하락할 때에는 그 하락틱수(-숫자,네이비색상)을 표시하고 저점에서 상승 할때는 그상승틱수(+숫자,레드색상)을 표시하고 싶습니다. (표시위치; 현재봉 오른쪽에 표시하며 상승시는 현재가(종가)표시위,하락시는 현재가표시 아래에 표시하고 싶습니다.)
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 수식 수정을 부탁드립니다. 좋은 날 되십시요.
> 안녕하세요
예스스탁입니다.
Input:length(12),소숫점자리수(2);
Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),Text1(0),처리구분("");
var:d1(0),t1(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 d1 == sDate[sBar] and
t1 == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
}
#TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]);
d1 = sDate[sBar];
t1 = stime[sBar];
Text1 = Text_New(sDate[eBar],sTime[eBar],고점[1,1],"+"+NumToStr(abs(고점[1,1]-저점[1,1])/PriceScale,0)+"틱"+NewLine+NumToStr(고점[1,1],소숫점자리수));
Text_SetStyle(Text1, 2, 1);
Text_SetColor(Text1,red);
}
}
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 d1 == sDate[sBar] and
t1 == sTime[sBar] Then
{
TL_Delete(TL1);
Text_Delete(Text1);
}
#TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]);
d1 = sDate[sBar];
t1 = stime[sBar];
Text1 = Text_New(sDate[eBar],sTime[eBar],저점[1,1],NumToStr(저점[1,1],소숫점자리수)+NewLine+"-"+NumToStr(abs(고점[1,1]-저점[1,1])/PriceScale,0)+"틱");
Text_SetStyle(Text1, 2, 0);
Text_SetColor(Text1,BLUE);
}
}
TL_SetSize(TL1,3);
TL_SetColor(TL1,CYAN);
다음글
이전글