예스스탁
예스스탁 답변
2020-04-14 16:14:11
안녕하세요
예스스탁입니다.
가격과 차이값만 소숫점자리 지정할수 있게 수정해 드립니다.
표시되는 내용 중 등락률(%)는 기존과 같이 2자리로 표시됩니다.
Input:Period(9),레벨(4),선색깔(MAGENTA),선두께(3),수치표시여부(1),수치표시위치(10),폰트크기(13),두껍게(1),표시소숫점자리(5);
Var:RsiValue(0),고점(1),저점(-1),신규(1),연장(2),연속(3),삼선(4);
Array:고[10,44](0),저[10,44](0), // 열번호 : 1=가격,2=Index,3=sDate,4=sTime,11=가격,12=Index,13=sDate,14=sTime
최종상태[5](0),처리구분[5](0),TL[3](0),Text[3](0);
//=========================================================//
If 레벨 <= 4 Then {
Var1 = 레벨 * 10;
RsiValue = RSI(Period);
Value1 = IndicatorZigZag302(H,L,RsiValue,50,고,저,최종상태,처리구분);
If 최종상태[레벨] == 고점 Then {
If 처리구분[레벨] == 신규 Then {
TL[2] = TL_New(저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1],고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1]);
If 수치표시여부 == 1 Then {
Text[2] = Text_New(고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1] + (수치표시위치 * PriceScale),
NumToStr(고[1,Var1 + 1],표시소숫점자리) + "(+" + NumToStr(고[1,Var1 + 1] - 저[1,Var1 + 1],표시소숫점자리) + ", " +
NumToStr((고[1,Var1 + 1] - 저[1,Var1 + 1])*100/저[1,Var1 + 1],2) + "%)");
Text_SetStyle(Text[2], 2, 1);
Text_SetSize(Text[2],폰트크기);
Text_SetBold(Text[2],두껍게);
Text_SetColor(Text[2],RED);
}
}
If 처리구분[레벨] == 연장 Then {
TL_SetEnd(TL[2],고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1]);
If 수치표시여부 == 1 Then {
Text_SetLocation(Text[2],고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1] + (수치표시위치 * PriceScale));
Text_SetString(Text[2],NumToStr(고[1,Var1 + 1],표시소숫점자리) + "(+" + NumToStr(고[1,Var1 + 1] - 저[1,Var1 + 1],표시소숫점자리) + ", " +
NumToStr((고[1,Var1 + 1] - 저[1,Var1 + 1])*100/저[1,Var1 + 1],2) + "%)");
}
}
If 처리구분[레벨] == 연속 Then {
TL[1] = TL_New(고[2,Var1 + 3],고[2,Var1 + 4],고[2,Var1 + 1],저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1]);
TL[2] = TL_New(저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1],고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1]);
If 수치표시여부 == 1 Then {
Text[1] = Text_New(저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1] - (수치표시위치 * PriceScale),
NumToStr(저[1,Var1 + 1],표시소숫점자리) + "(-" + NumToStr(고[2,Var1 + 1] - 저[1,Var1 + 1],표시소숫점자리) + ", " +
NumToStr((고[2,Var1 + 1] - 저[1,Var1 + 1])*100/고[2,Var1 + 1],2) + "%)");
Text[2] = Text_New(고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1] + (수치표시위치 * PriceScale),
NumToStr(고[1,Var1 + 1],표시소숫점자리) + "(+" + NumToStr(고[1,Var1 + 1] - 저[1,Var1 + 1],표시소숫점자리) + ", " +
NumToStr((고[1,Var1 + 1] - 저[1,Var1 + 1])*100/저[1,Var1 + 1],2) + "%)");
Text_SetStyle(Text[1], 2, 0);
Text_SetStyle(Text[2], 2, 1);
Text_SetSize(Text[1],폰트크기);
Text_SetSize(Text[2],폰트크기);
Text_SetBold(Text[1],두껍게);
Text_SetBold(Text[2],두껍게);
Text_SetColor(Text[1],BLUE);
Text_SetColor(Text[2],RED);
}
}
If 처리구분[레벨] == 삼선 Then {
TL[0] = TL_New(저[2,Var1 + 3],저[2,Var1 + 4],저[2,Var1 + 1],고[2,Var1 + 3],고[2,Var1 + 4],고[2,Var1 + 1]);
TL[1] = TL_New(고[2,Var1 + 3],고[2,Var1 + 4],고[2,Var1 + 1],저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1]);
TL[2] = TL_New(저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1],고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1]);
If 수치표시여부 == 1 Then {
Text[0] = Text_New(고[2,Var1 + 3],고[2,Var1 + 4],고[2,Var1 + 1] + (수치표시위치 * PriceScale),
NumToStr(고[2,Var1 + 1],표시소숫점자리) + "(+" + NumToStr(고[2,Var1 + 1] - 저[2,Var1 + 1],표시소숫점자리) + ", " +
NumToStr((고[2,Var1 + 1] - 저[2,Var1 + 1])*100/저[2,Var1 + 1],2) + "%)");
Text[1] = Text_New(저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1] - (수치표시위치 * PriceScale),
NumToStr(저[1,Var1 + 1],표시소숫점자리) + "(-" + NumToStr(고[2,Var1 + 1] - 저[1,Var1 + 1],표시소숫점자리) + ", " +
NumToStr((고[2,Var1 + 1] - 저[1,Var1 + 1])*100/고[2,Var1 + 1],2) + "%)");
Text[2] = Text_New(고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1] + (수치표시위치 * PriceScale),
NumToStr(고[1,Var1 + 1],표시소숫점자리) + "(+" + NumToStr(고[1,Var1 + 1] - 저[1,Var1 + 1],표시소숫점자리) + ", " +
NumToStr((고[1,Var1 + 1] - 저[1,Var1 + 1])*100/저[1,Var1 + 1],2) + "%)");
Text_SetStyle(Text[0], 2, 1);
Text_SetStyle(Text[1], 2, 0);
Text_SetStyle(Text[2], 2, 1);
Text_SetSize(Text[0],폰트크기);
Text_SetSize(Text[1],폰트크기);
Text_SetSize(Text[2],폰트크기);
Text_SetBold(Text[0],두껍게);
Text_SetBold(Text[1],두껍게);
Text_SetBold(Text[2],두껍게);
Text_SetColor(Text[0],RED);
Text_SetColor(Text[1],BLUE);
Text_SetColor(Text[2],RED);
}
}
}
If 최종상태[레벨] == 저점 Then {
If 처리구분[레벨] == 신규 Then {
TL[2] = TL_New(고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1],저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1]);
If 수치표시여부 == 1 Then {
Text[2] = Text_New(저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1] - (수치표시위치 * PriceScale),
NumToStr(저[1,Var1 + 1],표시소숫점자리) + "(-" + NumToStr(고[1,Var1 + 1] - 저[1,Var1 + 1],표시소숫점자리) + ", " +
NumToStr((고[1,Var1 + 1] - 저[1,Var1 + 1])*100/고[1,Var1 + 1],2) + "%)");
Text_SetStyle(Text[2], 2, 0);
Text_SetSize(Text[2],폰트크기);
Text_SetBold(Text[2],두껍게);
Text_SetColor(Text[2],BLUE);
}
}
If 처리구분[레벨] == 연장 Then {
TL_SetEnd(TL[2],저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1]);
If 수치표시여부 == 1 Then {
Text_SetLocation(Text[2],저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1] - (수치표시위치 * PriceScale));
Text_SetString(Text[2],NumToStr(저[1,Var1 + 1],표시소숫점자리) + "(-" + NumToStr(고[1,Var1 + 1] - 저[1,Var1 + 1],표시소숫점자리) + ", " +
NumToStr((고[1,Var1 + 1] - 저[1,Var1 + 1])*100/고[1,Var1 + 1],2) + "%)");
}
}
If 처리구분[레벨] == 연속 Then {
TL[1] = TL_New(저[2,Var1 + 3],저[2,Var1 + 4],저[2,Var1 + 1],고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1]);
TL[2] = TL_New(고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1],저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1]);
If 수치표시여부 == 1 Then {
Text[1] = Text_New(고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1] + (수치표시위치 * PriceScale),
NumToStr(고[1,Var1 + 1],표시소숫점자리) + "(+" + NumToStr(고[1,Var1 + 1] - 저[2,Var1 + 1],표시소숫점자리) + ", " +
NumToStr((고[1,Var1 + 1] - 저[2,Var1 + 1])*100/저[2,Var1 + 1],2) + "%)");
Text[2] = Text_New(저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1] - (수치표시위치 * PriceScale),
NumToStr(저[1,Var1 + 1],표시소숫점자리) + "(-" + NumToStr(고[1,Var1 + 1] - 저[1,Var1 + 1],표시소숫점자리) + ", " +
NumToStr((고[1,Var1 + 1] - 저[1,Var1 + 1])*100/고[1,Var1 + 1],2) + "%)");
Text_SetStyle(Text[1], 2, 1);
Text_SetStyle(Text[2], 2, 0);
Text_SetSize(Text[1],폰트크기);
Text_SetSize(Text[2],폰트크기);
Text_SetBold(Text[1],두껍게);
Text_SetBold(Text[2],두껍게);
Text_SetColor(Text[1],RED);
Text_SetColor(Text[2],BLUE);
}
}
If 처리구분[레벨] == 삼선 Then {
TL[0] = TL_New(고[2,Var1 + 3],고[2,Var1 + 4],고[2,Var1 + 1],저[2,Var1 + 3],저[2,Var1 + 4],저[2,Var1 + 1]);
TL[1] = TL_New(저[2,Var1 + 3],저[2,Var1 + 4],저[2,Var1 + 1],고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1]);
TL[2] = TL_New(고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1],저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1]);
If 수치표시여부 == 1 Then {
Text[0] = Text_New(저[2,Var1 + 3],저[2,Var1 + 4],저[2,Var1 + 1] - (수치표시위치 * PriceScale),
NumToStr(저[2,Var1 + 1],표시소숫점자리) + "(-" + NumToStr(고[2,Var1 + 1] - 저[2,Var1 + 1],표시소숫점자리) + ", " +
NumToStr((고[2,Var1 + 1] - 저[2,Var1 + 1])*100/고[2,Var1 + 1],2) + "%)");
Text[1] = Text_New(고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1] + (수치표시위치 * PriceScale),
NumToStr(고[1,Var1 + 1],표시소숫점자리) + "(+" + NumToStr(고[1,Var1 + 1] - 저[2,Var1 + 1],표시소숫점자리) + ", " +
NumToStr((고[1,Var1 + 1] - 저[2,Var1 + 1])*100/저[2,Var1 + 1],2) + "%)");
Text[2] = Text_New(저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1] - (수치표시위치 * PriceScale),
NumToStr(저[1,Var1 + 1],표시소숫점자리) + "(-" + NumToStr(고[1,Var1 + 1] - 저[1,Var1 + 1],표시소숫점자리) + ", " +
NumToStr((고[1,Var1 + 1] - 저[1,Var1 + 1])*100/고[1,Var1 + 1],2) + "%)");
Text_SetStyle(Text[0], 2, 0);
Text_SetStyle(Text[1], 2, 1);
Text_SetStyle(Text[2], 2, 0);
Text_SetSize(Text[0],폰트크기);
Text_SetSize(Text[1],폰트크기);
Text_SetSize(Text[2],폰트크기);
Text_SetBold(Text[0],두껍게);
Text_SetBold(Text[1],두껍게);
Text_SetBold(Text[2],두껍게);
Text_SetColor(Text[0],BLUE);
Text_SetColor(Text[1],RED);
Text_SetColor(Text[2],BLUE);
}
}
}
TL_SetColor(TL[0],선색깔); TL_SetSize(TL[0],선두께);
TL_SetColor(TL[1],선색깔); TL_SetSize(TL[1],선두께);
TL_SetColor(TL[2],선색깔); TL_SetSize(TL[2],선두께);
} Else {
Alert("4레벨까지만 가능합니다!!");
}
즐거운 하루되세요
> 매버릭 님이 쓴 글입니다.
> 제목 : 고점 저점가격이 소수점 아래 5자리까지 나오도록 수정 부탁드립니다.
> 안녕하세요?
첨부지표의 Text표시가 소수점아래 2자리까지 표시가 되게 만들어져있어서 유로에 적용하련; 불편해서 볼수가 없습니다. 제가 고쳐서 써 보려고 했으나 잘 안되어 부탁드립니다. 소수저 ㅁ아래 5자리까지 나오게 수정 좀 부탁드립니다.
내일 하루 투표 잘 하시고 편히 쉬세요.