커뮤니티
안녕하세요
2019-05-30 12:51:47
202
글번호 129054
안녕하세요
수고 많으십니다.
아래 수식은 회원분게서 문의 하여 쓰시고 있는 수식 입니다.
예스스탁 담당자분의 도움으로 저또한 감사한 마음으로 잘 쓰고 있습니다.
다름이 아니라 아래 수식에서
고점 파동이 끝나고 고점과차이 숫자가 표시 됩니다.
예를들어서 고점: 24 차이: 52가 표시되고.
저점 파동이 끝나고 저점차이 숫자가 표시 됩니다.
예를 들어서 저점: 24.차이:52가 표시 됩니다.
고점숫자 고점차이, 저점숫자 저점차이 숫자 사이즈를 조정 할수 있게 해주시고요.
숫자에 색 조정도 가능 한가요.
사이즈와 색 조정을 할수 없으면 지금의 크기보다 2배정도 크게 해 주세요.
감사합니다.
수고 하세요.
Input : length(12), 선굵기(5),소숫점자리(0);
Var : j(0), lastHiVal(0), lastLoVal(0), sBar(0), eBar(0);
var : TL1(0),TL2(0), Text1(0), Text2(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]); //상승츠세선
TL_SetSize(TL1,선굵기);
TL_SetColor(TL1, RED);
Text1 = Text_New(sDate[eBar], sTime[eBar], 고점[1,1]+(pricescale*1),
"고점 : "+NumToStr(고점[1,1], 소숫점자리)+NewLine+"차이 :"+NumToStr((고점[1,1]-저점[1,1])/PriceScale,0));
Text_SetStyle(Text1, 2, 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(TL2) == sDate[sBar] and
TL_GetBeginTime(TL2) == sTime[sBar] Then
{
TL_Delete(TL2);
Text_Delete(Text2);
}
TL2 = TL_New(sDate[sBar], sTime[sBar], 고점[1,1], sDate[eBar], sTime[eBar], 저점[1,1]); //하락추세선
TL_SetSize(TL2, 선굵기);
TL_SetColor(TL2, BLUE);
Text2 = Text_New(sDate[eBar], sTime[eBar], 저점[1,1]-(pricescale*1),
"저점 : "+NumToStr(저점[1,1], 소숫점자리)+NewLine+"차이 : "+NumToStr( (저점[1,1]-고점[1,1])/PriceScale,0) );
Text_SetStyle(Text2, 2, 0); //저점 가격 위치
}
}
답변 1
예스스탁 예스스탁 답변
2019-05-30 14:48:27
안녕하세요
예스스탁입니다.
텍스트는 Text_SetColor, Text_SetSize 함수로
색과 폰트크기 지정합니다.
수식에 추가했습니다. 수식 내용 살펴보시기 바랍니다.
Input : length(12), 선굵기(5),소숫점자리(0);
Var : j(0), lastHiVal(0), lastLoVal(0), sBar(0), eBar(0);
var : TL1(0),TL2(0), Text1(0), Text2(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]); //상승츠세선
TL_SetSize(TL1,선굵기);
TL_SetColor(TL1, RED);
Text1 = Text_New(sDate[eBar], sTime[eBar], 고점[1,1]+(pricescale*1),
"고점 : "+NumToStr(고점[1,1], 소숫점자리)+NewLine+"차이 :"+NumToStr((고점[1,1]-저점[1,1])/PriceScale,0));
Text_SetStyle(Text1, 2, 1); //고점 가격 */
Text_SetColor(Text1, red); //고점표시값 색상
Text_SetSize(text1,20); //고점표시 크기
}
}
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(TL2) == sDate[sBar] and
TL_GetBeginTime(TL2) == sTime[sBar] Then
{
TL_Delete(TL2);
Text_Delete(Text2);
}
TL2 = TL_New(sDate[sBar], sTime[sBar], 고점[1,1], sDate[eBar], sTime[eBar], 저점[1,1]); //하락추세선
TL_SetSize(TL2, 선굵기);
TL_SetColor(TL2, BLUE);
Text2 = Text_New(sDate[eBar], sTime[eBar], 저점[1,1]-(pricescale*1),
"저점 : "+NumToStr(저점[1,1], 소숫점자리)+NewLine+"차이 : "+NumToStr( (저점[1,1]-고점[1,1])/PriceScale,0) );
Text_SetStyle(Text2, 2, 0); //저점 가격 위치
Text_SetColor(Text2, blue); //저점표시값 색상
Text_SetSize(text2,20); //저점표시 크기
}
}
즐거운 하루되세요
> 탐라 님이 쓴 글입니다.
> 제목 : 안녕하세요
> 안녕하세요
수고 많으십니다.
아래 수식은 회원분게서 문의 하여 쓰시고 있는 수식 입니다.
예스스탁 담당자분의 도움으로 저또한 감사한 마음으로 잘 쓰고 있습니다.
다름이 아니라 아래 수식에서
고점 파동이 끝나고 고점과차이 숫자가 표시 됩니다.
예를들어서 고점: 24 차이: 52가 표시되고.
저점 파동이 끝나고 저점차이 숫자가 표시 됩니다.
예를 들어서 저점: 24.차이:52가 표시 됩니다.
고점숫자 고점차이, 저점숫자 저점차이 숫자 사이즈를 조정 할수 있게 해주시고요.
숫자에 색 조정도 가능 한가요.
사이즈와 색 조정을 할수 없으면 지금의 크기보다 2배정도 크게 해 주세요.
감사합니다.
수고 하세요.
Input : length(12), 선굵기(5),소숫점자리(0);
Var : j(0), lastHiVal(0), lastLoVal(0), sBar(0), eBar(0);
var : TL1(0),TL2(0), Text1(0), Text2(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]); //상승츠세선
TL_SetSize(TL1,선굵기);
TL_SetColor(TL1, RED);
Text1 = Text_New(sDate[eBar], sTime[eBar], 고점[1,1]+(pricescale*1),
"고점 : "+NumToStr(고점[1,1], 소숫점자리)+NewLine+"차이 :"+NumToStr((고점[1,1]-저점[1,1])/PriceScale,0));
Text_SetStyle(Text1, 2, 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(TL2) == sDate[sBar] and
TL_GetBeginTime(TL2) == sTime[sBar] Then
{
TL_Delete(TL2);
Text_Delete(Text2);
}
TL2 = TL_New(sDate[sBar], sTime[sBar], 고점[1,1], sDate[eBar], sTime[eBar], 저점[1,1]); //하락추세선
TL_SetSize(TL2, 선굵기);
TL_SetColor(TL2, BLUE);
Text2 = Text_New(sDate[eBar], sTime[eBar], 저점[1,1]-(pricescale*1),
"저점 : "+NumToStr(저점[1,1], 소숫점자리)+NewLine+"차이 : "+NumToStr( (저점[1,1]-고점[1,1])/PriceScale,0) );
Text_SetStyle(Text2, 2, 0); //저점 가격 위치
}
}